Page tree
Skip to end of metadata
Go to start of metadata


使用GitLab for Jira Cloud应用,您可以连接 GitLab 和 Jira Cloud,实时同步开发信息,您可以在Jira 开发面板中查看这些信息。

您可以使用 GitLab for Jira Cloud 应用程序链接顶级组或子组。无法直接链接项目或个人命名空间。

要在 GitLab.com 上设置 GitLab for Jira Cloud 应用程序,请安装 GitLab for Jira Cloud 应用程序

设置应用程序后,您可以使用 Atlassian 开发和维护的项目工具链将GitLab 存储库链接到 Jira 项目。项目工具链不会影响 GitLab 和 Jira Cloud 之间开发信息的同步方式。

对于 Jira Data Center 或 Jira Server,使用由 Atlassian 开发和维护的Jira DVCS 连接器。

GitLab 数据同步到 Jira

链接组后,当您提及 Jira 问题 ID时,该组中所有项目的以下 GitLab 数据将同步到 Jira :

  • 现有项目数据(链接组之前):
    • 最后 400 个合并请求
    • 最后 400 个分支以及每个分支的最后一次提交(GitLab 15.11 及更高版本)
  • 新的项目数据(链接群组之后):
    • 合并请求
      • 合并请求作者
    • 分支
    • 提交
      • 提交作者
    • 管道
    • 部署
    • 功能标志

安装 GitLab for Jira Cloud 应用程序


  • 等级:免费、高级、终极
  • 提供GitLab.com

先决条件:

  • 您的网络必须允许 GitLab 和 Jira 之间的入站和出站连接。
  • 您必须满足某些Jira 用户要求

要安装 GitLab for Jira Cloud 应用程序:

  1. 在 Jira 的顶部栏中,选择应用程序 > 探索更多应用程序,然后搜索GitLab for Jira Cloud
  2. 选择GitLab for Jira Cloud,然后选择立即获取

或者,直接从 Atlassian Marketplace 获取应用程序

您现在可以配置 GitLab for Jira Cloud 应用程序

 有关概述,请参阅 从 Atlassian Marketplace for GitLab.com 安装 GitLab for Jira Cloud 应用程序

配置 GitLab for Jira Cloud 应用程序


  • 等级:免费、高级、终极
  • 提供GitLab.com


历史

先决条件:

  • 您必须至少拥有 GitLab 组的维护者角色。
  • 您必须满足某些Jira 用户要求

您可以通过将 GitLab for Jira Cloud 应用程序链接到一个或多个 GitLab 组来将数据从 GitLab 同步到 Jira。要配置 GitLab for Jira Cloud 应用程序:

  1. 在 Jira 的顶部栏中,选择应用程序 > 管理您的应用程序

  2. 展开GitLab for Jira。根据您安装应用程序的方式,应用程序的名称是:

  3. 选择“开始”

  4. 可选。要将 GitLab Self-Managed 与 Jira 链接,请选择更改 GitLab 版本

    1. 选中所有复选框,然后选择下一步
    2. 输入您的GitLab 实例 URL,然后选择保存
  5. 选择登录 GitLab

    其群组禁用密码验证企业用户 必须首先使用其群组的单点登录 URL 登录 GitLab。

  6. 选择授权。现在可以看到群组列表。

  7. 选择“链接群组”

  8. 要链接到某个组,请选择链接

链接到 GitLab 组后:

  • 该群组的所有项目的数据都会同步到 Jira。初始数据同步以每分钟 20 个项目的批次进行。对于包含许多项目的群组,某些项目的数据同步会延迟。
  • 系统会自动为该组及其所有子组或项目启用 GitLab for Jira Cloud 应用程序集成。该集成允许您配置 Jira 服务管理

配置 Jira 服务管理


历史

此功能是作为社区贡献添加的,仅由 GitLab 社区开发和维护。

先决条件:

您可以将 GitLab 连接到您的 IT 服务项目以跟踪您的部署。

配置在 GitLab 中进行,在 GitLab for Jira Cloud 应用程序集成中。在链接 GitLab 组后,将为 GitLab 中的组、其子组和项目启用集成。

启用和禁用 GitLab for Jira Cloud 应用程序集成完全通过组链接自动进行,而不是通过 GitLab 集成表单或 API。

在 Jira 服务管理中:

  1. 在您的服务项目中,转到项目设置>变更管理
  2. 选择Connect Pipeline > GitLab,然后在设置流程结束时复制服务 ID 。

在 GitLab 中:

  1. 在左侧栏中,选择“搜索”或转到并查找您的项目。
  2. 选择设置 > 集成
  3. 选择GitLab for Jira Cloud 应用程序。如果集成被禁用,请首先链接一个 GitLab 组 ,为该组、其子组和项目启用 GitLab for Jira Cloud 应用程序集成。
  4. 在服务 ID字段中,输入要映射到此项目的服务 ID。要使用多个服务 ID,请在每个服务 ID 之间添加逗号。

您最多可以映射 100 个服务。

有关 Jira 中的部署跟踪的更多信息,请参阅设置部署跟踪

使用 GitLab 设置部署门控



历史

此功能是作为社区贡献添加的,仅由 GitLab 社区开发和维护。

您可以设置部署门控,将变更请求从 GitLab 发送到 Jira Service Management 进行审批。通过部署门控,任何 GitLab 部署到您选择的环境都会自动发送到 Jira Service Management,并且只有在获得批准后才会部署。

创建服务帐户令牌

要在 GitLab 中创建服务帐户令牌,您必须先创建个人访问令牌。此令牌用于验证在 Jira Service Management 中管理 GitLab 部署的服务帐户令牌。

要创建服务帐户令牌:

  1. 创建服务帐户用户
  2. 使用您的个人访问令牌将服务帐户添加到组或项目。
  3. 将服务帐户添加到受保护的环境
  4. 使用您的个人访问令牌生成服务帐户令牌。
  5. 复制服务帐户令牌值。

启用部署门控

要启用部署门控:

  • 在 GitLab 中:

    1. 在左侧栏中,选择“搜索”或转到并查找您的项目。
    2. 选择设置 > 集成
    3. 选择GitLab for Jira Cloud 应用程序
    4. 在部署门控下,选中启用部署门控复选框。
    5. 环境层级文本框中,输入要为其启用部署门控的环境的名称。您可以输入多个环境名称,并以逗号分隔(例如production, staging, testing, development)。仅使用小写字母。
    6. 选择“保存更改”
  • 在 Jira 服务管理中:

    1. 设置部署门控
    2. 服务帐户令牌文本框中,粘贴从 GitLab 复制的服务帐户令牌值

将服务帐户添加到受保护环境

要将服务帐户添加到 GitLab 中的受保护环境:

  1. 在左侧栏中,选择“搜索”或转到并查找您的项目。
  2. 选择设置> CI/CD
  3. 展开受保护的环境并选择保护环境
  4. 选择环境下拉列表中,选择要保护的环境(例如,暂存)。
  5. 允许部署下拉列表中,选择谁可以部署到此环境(例如,开发人员 + 维护人员)。
  6. “审批者”下拉列表中,选择您创建的服务帐户
  7. 选择保护

示例 API 请求

  • 创建服务帐户用户:
    复制到剪贴板

    curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=<name_of_your_choice>&username=<username_of_your_choice>"  "<https://gitlab.com/api/v4/groups/<group_id>/service_accounts"
  • 使用您的个人访问令牌将服务帐户添加到组或项目:
    复制到剪贴板

    curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
         --data "user_id=<service_account_id>&access_level=30" "https://gitlab.com/api/v4/groups/<group_id>/members"
    curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
         --data "user_id=<service_account_id>&access_level=30" "https://gitlab.com/api/v4/projects/<project_id>/members"
  • 使用您的个人访问令牌生成服务帐户令牌:
    复制到剪贴板

    curl --request POST --header "PRIVATE-TOKEN: <your_access_token>"
    "https://gitlab.com/api/v4/groups/<group_id>/service_accounts/<service_account_id>/personal_access_tokens" --data "scopes[]=api,read_user,read_repository" --data "name=service_accounts_token"

更新 GitLab for Jira Cloud 应用程序

应用程序的大多数更新都是自动的。有关更多信息,请参阅 Atlassian 文档

如果应用程序需要额外的权限,您必须在 Jira 中手动批准更新

安全注意事项

GitLab for Jira Cloud 应用程序连接 GitLab 和 Jira。两个应用程序之间必须共享数据,并且必须双向授予访问权限。

GitLab 访问 Jira

当您配置 GitLab for Jira Cloud 应用程序时,GitLab 会从 Jira 收到一个共享密钥令牌。该令牌授予 Jira 项目的 GitLab READWRITEDELETE 应用程序范围。这些范围是更新 Jira 项目开发面板中的信息所必需的。除了安装应用程序的 Jira 项目之外,该令牌不授予 GitLab 对任何其他 Atlassian 产品的访问权限。

令牌使用 GitLab 加密AES256-GCM并存储在 GitLab 上。当从 Jira 项目中卸载 GitLab for Jira Cloud 应用程序时,GitLab 会删除该令牌。

Jira 访问 GitLab

Jira 无法访问 GitLab 的任何权限。

从 GitLab 发送到 Jira 的数据

有关发送到 Jira 的所有数据,请参阅同步到 Jira 的 GitLab 数据

有关发送到 Jira 的特定数据属性的更多信息,请参阅数据同步中涉及的序列化器类。

从 Jira 发送到 GitLab 的数据

当安装或卸载 GitLab for Jira Cloud 应用程序时,GitLab 会从 Jira 收到生命周期事件。该事件包含一个令牌,用于验证后续生命周期事件并在向 Jira 发送数据时进行身份验证。来自 Jira 的生命周期事件请求已验证

对于使用 Atlassian Marketplace 中的 GitLab for Jira Cloud 应用程序的 GitLab 自管理实例,GitLab.com 会处理生命周期事件并将其转发到 GitLab 自管理实例。有关更多信息,请参阅GitLab.com 处理应用程序生命周期事件

Jira 存储的数据

发送到Jira的数据由Jira存储并显示在Jira开发面板中。

卸载 GitLab for Jira Cloud 应用程序后,Jira 会永久删除此数据。此过程异步进行,可能需要几个小时。

Atlassian Marketplace 中的隐私和安全详细信息

有关更多信息,请参阅Atlassian Marketplace 列表的隐私和安全详细信息

故障排除

使用 GitLab for Jira Cloud 应用程序时,您可能会遇到以下问题。

有关管理员文档,请参阅GitLab for Jira Cloud 应用程序管理

错误:Failed to link group

当您连接 GitLab for Jira Cloud 应用程序时,您可能会收到此错误:
复制到剪贴板

Failed to link group. Please try again.

403 Forbidden如果由于权限不足而无法从 Jira 获取用户信息,则返回A。

要解决此问题,请确保您满足某些 Jira 用户要求

  • No labels