Jira Server (Data Center)

借助 Jira Server (Data Center) 连接器,您可以连接到 Jira Software Data Center 并执行插入、删除、更新和读取操作。

支持的版本

此连接器支持 Jira Server Data Center API 版本 V2 和 V3。

准备工作

在 Google Cloud 项目中,执行以下任务:

  • 确保已设置网络连接。如需了解网络模式,请参阅网络连接
  • 向配置连接器的用户授予 roles/connectors.admin IAM 角色。
  • 向您要用于连接器的服务账号授予 roles/secretmanager.viewerroles/secretmanager.secretAccessor IAM 角色。
  • 启用以下服务:
    • secretmanager.googleapis.com (Secret Manager API)
    • connectors.googleapis.com (Connectors API)

    如需了解如何启用服务,请参阅启用服务。如果之前没有为您的项目启用这些服务或权限,则在您配置连接器时,系统会提示您启用。

配置连接器

一个连接需专用于一个数据源。这意味着,如果您有许多数据源,则必须为每个数据源创建单独的连接。如需创建连接,请执行以下操作:

  1. Cloud 控制台 中,进入 Integration Connectors > 连接页面,然后选择或创建一个 Google Cloud 项目。

    转到“连接”页面

  2. 点击 + 新建以打开创建连接页面。
  3. 位置部分中,选择连接的位置。
    1. 区域:从下拉列表中选择一个位置。

      如需查看所有受支持区域的列表,请参阅位置

    2. 点击下一步
  4. 连接详情部分中,完成以下操作:
    1. 连接器:从可用连接器的下拉列表中选择 Jira Server (Data Center)
    2. 连接器版本:从可用版本的下拉列表中选择一个连接器版本。
    3. 连接名称字段中,输入连接实例的名称。

      连接名称必须符合以下条件:

      • 连接名称可以使用字母、数字或连字符。
      • 字母必须小写。
      • 连接名称必须以字母开头,以字母或数字结尾。
      • 连接名称不能超过 49 个字符。
    4. (可选)输入连接实例的说明
    5. 您可以选择启用 Cloud Logging,然后选择日志级别。默认情况下,日志级别设置为 Error
    6. 服务账号:选择具有所需角色的服务账号。
    7. 如需将连接用于事件订阅,请选择启用事件订阅。系统会显示以下选项:
      • 启用包含实体和操作的事件订阅:选择此选项可将连接用于事件订阅和连接器操作(实体和操作)。
      • 仅启用事件订阅:选择此选项可仅将连接用于事件订阅。如果您选择此选项,请点击下一步,然后配置事件订阅
    8. (可选)配置连接节点设置

      • 节点数下限:输入连接节点数下限。
      • 节点数上限:输入连接节点数上限。

      节点是处理事务的连接单元(或副本)。 连接处理越多事务就需要越多节点,相反,处理越少事务需要越少节点。 如需了解节点如何影响连接器价格,请参阅连接节点的价格。如果未输入任何值,则默认情况下,节点数下限设置为 2(以便提高可用性),节点数上限设置为 50。

    9. (可选)在高级设置部分,选中使用代理复选框可为连接配置代理服务器并配置以下值:
      • 代理身份验证方案:选择要通过代理服务器进行身份验证的身份验证类型。支持以下身份验证类型:
        • 基本:基本 HTTP 身份验证。
        • 摘要:摘要 HTTP 身份验证。
      • 代理用户:用于向代理服务器进行身份验证的用户名。
      • 代理密码:用户密码的 Secret Manager 密文。
      • 代理 SSL 类型:连接到代理服务器时使用的 SSL 类型。支持以下身份验证类型:
        • 自动:默认设置。如果网址是 HTTPS 网址,则使用“隧道”选项。如果网址是 HTTP 网址,则使用“永不”选项。
        • 始终:连接始终启用 SSL。
        • 永不:连接未启用 SSL。
        • 隧道:连接通过隧道代理建立。代理服务器会打开与远程主机的连接,并且流量会流经该代理。
      • 代理服务器部分中,输入代理服务器的详细信息。
        1. 点击+ 添加目标
        2. 选择目标类型
          • 主机地址:指定目标的主机名或 IP 地址。

            如果要与后端系统建立专用连接,请执行以下操作:

    10. (可选)如果要使用 SSL,请选择启用 SSL。此时会显示 SSL 配置详细信息。
      1. 选择信任库类型。可以为公共专用不安全连接
      2. 根据您选择的信任库选择证书。
      3. 如果您使用的是 mTLS,请在密钥库部分中选择密钥库证书。
    11. (可选)点击 + 添加标签,以键值对的形式向连接添加标签。
    12. 点击下一步
  5. 目标部分中,输入要连接到的远程主机(后端系统)的详细信息。
    1. 目标类型:选择目标类型
      • 如需指定目标主机名或 IP 地址,请选择主机地址,然后在主机 1 字段中输入相应地址。
      • 如需建立专用连接,请选择端点连接,然后从端点连接列表中选择所需的连接。

      如果要与后端系统建立公共连接以提高安全性,您可以考虑为连接配置静态出站 IP 地址,然后将防火墙规则配置为仅将特定静态 IP 地址列入许可名单。

      要输入其他目标,请点击 + 添加目标

    2. 点击下一步
  6. 身份验证部分中,输入身份验证详细信息。
    1. 选择身份验证类型,然后输入相关详细信息。

      Jira Server(Data Center)连接支持以下身份验证类型:

      • 用户密码
      • API 令牌
      • 个人访问令牌
      • OAuth 2.0 - 授权代码
    2. 如需了解如何配置这些身份验证类型,请参阅配置身份验证

    3. 点击下一步
  7. 查看:查看您的连接和身份验证详细信息。
  8. 点击创建

活动订阅详情

事件订阅详情部分,提供将创建事件订阅的 Jira Server(数据中心)账号的详细信息。

  1. 目标类型:选择主机地址
  2. 主机:输入您的 Jira Server(Data Center)账号的注册网址。系统将为此网址创建事件订阅。
  3. API 令牌:选择包含与用户名关联的 API 令牌的 Secret Manager Secret。
  4. 密文版本:选择密文版本。
  5. 启用数据扩充:如果您希望 Jira Server (Data Center) 触发器从 Jira Server (Data Center) 实例检索完整的事件载荷,请选中此复选框。如需查看示例,请参阅触发器输出
  6. 选择启用专用连接,以在后端应用与连接之间建立安全连接。如果您选择此选项,则必须在创建连接后执行额外的配置步骤。如需了解详情,请参阅活动订阅的专用连接
  7. 输入死信配置。如果您配置了死信,连接会将未处理的事件写入指定的 Pub/Sub 主题。输入以下详细信息:
    1. 死信项目 ID: 您已配置死信 Pub/Sub 主题的 Google Cloud 项目 ID。
    2. 死信主题: 您要将未处理事件的详细信息写入到的 Pub/Sub 主题。

配置身份验证

根据您要使用的身份验证输入详细信息。

  • 用户密码
    • 用户名:输入用于进行身份验证的 Jira Server(数据中心)用户账号。
    • 密码:输入与相应账号关联的密码。
  • API 令牌
    • 用户名:输入用于创建 API 令牌的 Jira Server(数据中心)用户名。
    • API 令牌:选择包含 API 令牌的 Secret Manager Secret。
  • 个人访问令牌
    • 个人访问令牌:提供包含个人访问令牌的 Secret Manager Secret。
    • 密文版本:选择所选密文的密文版本。
  • OAuth 2.0 - 授权代码
    • 客户端 ID:提供由外部应用提供的客户端 ID。
    • 范围:指定所需的权限范围。
    • 客户端密钥 :选择 Secret Manager 密钥。 您必须先创建 Secret Manager 密钥,然后再配置此授权。
    • 密钥版本:选择客户端密钥的 Secret Manager 密钥版本。
    • 授权网址: 提供在创建客户端期间生成的网址。
    • 对于 Authorization code 身份验证类型,创建连接后,您必须执行一些额外的步骤来配置身份验证。如需了解详情,请参阅创建连接后的其他步骤

Jira Server (Data Center) 配置

设置 Atlassian 账号并登录 Jira Cloud

如需了解如何设置 Atlassian 账号并登录 Jira Cloud,请参阅 Atlassian 首页

设置主机地址和身份验证详细信息

  1. 登录您的 Jira Cloud 实例。
  2. 输入主机地址,即实例详情。
  3. 输入您的用户名,即您的 Atlassian 账号 ID。
  4. 前往设置以生成 API 令牌。
  5. 从个人设置中选择 Atlassian 账号设置
  6. 点击安全性标签页,找到“API 令牌”,然后点击创建和管理 API 令牌
  7. 点击创建 API 令牌
  8. 在随即显示的对话框中,为令牌输入一个简明易记的标签,然后点击创建
  9. 点击复制到剪贴板,将令牌粘贴到脚本中,然后保存以供日后使用。

创建连接后的其他步骤

如果您为身份验证选择了 OAuth 2.0 - Authorization code,则必须在创建连接后执行以下额外步骤:

  1. “连接”页面中,找到新创建的连接。

    请注意,新连接器的状态将为需要授权

  2. 点击需要授权

    系统会显示修改授权窗格。

  3. 重定向 URI 值复制到外部应用。
  4. 验证授权详细信息。
  5. 点击授权

    如果授权成功,系统会在“连接”页面中将连接状态设置为有效

授权代码的重新授权

如果您使用的是 Authorization code 身份验证类型,并且在 Jira Server(数据中心)应用中进行了任何配置更改,则必须重新授权 Jira Server(数据中心)连接。如需重新授权连接,请执行以下步骤:

  1. “连接”页面中,点击所需的连接。

    系统随即会打开连接详情页面。

  2. 点击修改即可修改连接详情。
  3. 身份验证部分中,验证 OAuth 2.0 - 授权代码详细信息。

    如果需要,请进行必要的更改。

  4. 点击保存。系统随即会转到连接详情页面。
  5. 身份验证部分中,点击修改授权。系统会显示授权窗格。
  6. 点击授权

    如果授权成功,系统会在“连接”页面中将连接状态设置为有效

连接配置示例

本部分列出了创建 Jira Server 连接时配置的各个字段的示例值。

Jira 网络连接类型

字段名称 详细信息
位置 us-east1
连接器 Jira Server (Data Center)
连接器版本 1
连接名称 google-cloud-jira-rest-conn
服务账号 my-service-account@my-project.iam.gserviceaccount.com
节点数下限 2
节点数上限 50
目标类型 主机地址
主机 192.0.2.0
用户名 用户名
API 令牌 API_TOKEN
密钥版本 1

系统限制

Jira Server(Data Center)连接器每节点每秒最多可处理 15 个事务,并会限制超出此限制的任何事务。默认情况下,Integration Connectors 会为连接分配 2 个节点(以提高可用性)。

如需了解适用于 Integration Connectors 的限制,请参阅限制

在集成中使用 Jira Server (Data Center) 连接

创建连接后,该连接将在 Apigee Integration 和 Application Integration 中可用。您可以通过“连接器”任务在集成中使用该连接。

  • 如需了解如何在 Apigee Integration 中创建和使用连接器任务,请参阅连接器任务
  • 如需了解如何在 Application Integration 中创建和使用连接器任务,请参阅连接器任务

实体操作示例

本部分提供了一些示例,说明如何在此连接器中执行实体操作

示例 - 列出问题

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“问题”。
  3. 选择 LIST 操作,然后点击完成
  4. 连接器任务的任务输入部分中,您可以根据客户要求设置 filterClause

  5. 您必须使用单引号 (') 将过滤条件子句的值括起来。您可以使用过滤条件子句根据列过滤记录。

    您可以使用过滤条件子句根据列过滤记录。 例如,如需过滤记录,请使用以下 filterClauseLocation='US'region='us-east1'

    您还可以在仅传递实体 ID 会导致错误的实体中使用 filterClause

示例 - 获取问题

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“问题”。
  3. 选择 GET 操作,然后点击完成
  4. 将实体 ID 设置为 10000,这是要为问题传递的密钥 ID。如需设置实体 ID,请在连接器任务的任务输入部分,点击 EntityId,然后在默认值字段中输入 10000

    实体 ID 的值应直接传递。例如,10000。在此示例中,10000 是传递的唯一主键值。

    如需使用 Get 操作,实体必须具有唯一的主键,否则无法执行 Get 操作。

示例 - 删除问题

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“问题”。
  3. 选择 DELETE 操作,然后点击完成
  4. 将实体 ID 设置为 10000,即要传递的键。如需设置实体 ID,请在连接器任务的任务输入部分,点击 EntityId,然后在默认值字段中输入 10000

示例 - 创建 IssueType

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 IssueTypes。
  3. 选择 Create 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "Name": "task123456",
      "Description": "New description is added."
    }

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
      "Id": "10041"
    }  

示例 - 创建问题

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“问题”。
  3. 选择 Create 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
        "IssueTypeName": "Subtask", 
        "ProjectName": "kanban4", 
        "Summary": "Summary Added", 
        "ParentKey": "KN-6" 
    }
    

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
      "Id": 10071.0
    }
    

示例 - 创建冲刺

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“冲刺跑”。
  3. 选择 Create 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "Name": "PROJ Sprint Googlecloud",
      "State": "future",
      "Goal": null,
      "OriginBoardId": 2.0,
      "StartDate": "2023-06-27 07:06:08",
      "EndDate": "2023-07-27 07:06:08"
    }
    

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
      "Id": 23.0
    }   

示例 - 创建评论

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“评论”。
  3. 选择 Create 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "IssueId": 10001.0,
      "Body": "Adding comments to above ID by editing it"
    }
    

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
      "Id": 10023.0,
      "IssueId": null
    }
    

示例 - 创建用户

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“用户”。
  3. 选择 Create 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "GroupName": null,
      "DisplayName": "Sample",
      "EmailAddress": "sample@gmail.com",
      "Active": true,
      "TimeZone": null,
      "Locale": "en_US",
      "AccountType": "atlassian"
    }

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
      "AccountId": "557058:0a04612c-746d-4d47-a909-71ba797fe228"
    }
    

示例 - 创建工作日志

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“工作日志”。
  3. 选择 Create 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "IssueKey": "GJCT-1",
      "Started": "2023-06-10 08:08:08",
      "TimeSpent": "2000"
    }
    

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
      "Id": "41718",
      "IssueId": 10000.0
    }
    

示例 - 更新 IssueTypes

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择 IssueTypes。
  3. 选择 Update 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "Name": "NEW_TASK",
      "Description": "New Description"
    } 
    
  5. 将实体 ID 设置为 IssueTypes 的实体。如需设置实体 ID,请点击 entityId,然后在默认值字段中输入 10038

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
      "Id": "10038"
    }
    

示例 - 更新问题

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“问题”。
  3. 选择 Update 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "AssigneeAccountId": "61d572aa7c6f9800705289a1",
      "AssigneeName": "Charlie b"
    }
    
  5. 将实体 ID 设置为“问题”的实体。如需设置实体 ID,请点击 entityId,然后在默认值字段中输入 10024

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
      "AssigneeDisplayName": "Charlie b"
    }
    

示例 - 更新冲刺

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“冲刺跑”。
  3. 选择 Update 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "Name": "PROJ Sprint Googlecloud_Updated",
      "State": "future",
      "StartDate": "2023-06-27 07:06:08",
      "EndDate": "2023-07-27 07:06:08"
    }
    
  5. 将实体 ID 设置为“冲刺”实体的 ID。如需设置实体 ID,请点击 entityId,然后在默认值字段中输入 2

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
    }
    

示例 - 更新注释

  1. Configure connector task 对话框中,点击 Entities
  2. Entity 列表中选择“评论”。
  3. 选择 Update 操作,然后点击完成
  4. 连接器任务的任务输入部分中,点击 connectorInputPayload,然后在 Default Value 字段中输入类似于以下内容的值:
    {
      "Name": "PROJ Sprint Googlecloud_Updated",
      "State": "future",
      "StartDate": "2023-06-27 07:06:08",
      "EndDate": "2023-07-27 07:06:08"
    }
    
  5. 将实体 ID 设置为评论的实体。如需设置实体 ID,请点击 entityId,然后在默认值字段中输入 2

    如果集成成功,连接器任务的 connectorOutputPayload 响应形参将具有类似以下的值:

    {
    }
    

向 Google Cloud 社区寻求帮助

您可以在 Google Cloud 社区的 Cloud 论坛中发布您的问题以及讨论此连接器。

后续步骤