{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: JihuLab.com, 私有化部署

{{< /details >}}

您可以直接在极狐GitLab 中管理 Jira 议题。然后,您可以在极狐GitLab 提交和合并请求中通过 ID 引用 Jira 议题。Jira 议题 ID 必须是大写的。

跨引用极狐GitLab 活动和 Jira 议题

通过此集成,您可以在极狐GitLab 议题、合并请求和 Git 中工作时交叉引用 Jira 议题。当您在极狐GitLab 议题、合并请求、评论或提交中提到 Jira 议题时:

  • 极狐GitLab 将链接到极狐GitLab 中提到的 Jira 议题。
  • 极狐GitLab 将添加一个格式化的评论到 Jira 议题中,链接回极狐GitLab 中的议题、合并请求或提交。

例如,当此提交引用 GIT-1 Jira 议题时:

git commit -m "GIT-1 this is a test commit"

极狐GitLab 将在该 Jira 议题中添加:

  • Web links 部分的引用。
  • Activity 部分的评论,格式如下:

    USER mentioned this issue in RESOURCE_NAME of [PROJECT_NAME|COMMENTLINK]:
    ENTITY_TITLE
    
    • USER: 提到 Jira 议题的用户姓名,并链接到他们的极狐GitLab 用户资料。
    • RESOURCE_NAME: 引用了 Jira 议题的资源类型(例如,极狐GitLab 提交、议题或合并请求)。
    • PROJECT_NAME: 极狐GitLab 项目名称。
    • COMMENTLINK: 链接到提到 Jira 议题的地方。
    • ENTITY_TITLE: 极狐GitLab 提交(第一行)、议题或合并请求的标题。

每个极狐GitLab 议题、合并请求或提交在 Jira 中仅显示一个交叉引用。例如,多个对极狐GitLab 合并请求的评论引用 Jira 议题,仅在 Jira 中创建一个回到该合并请求的交叉引用。

您可以禁用议题上的评论

合并请求需要关联的 Jira 议题才能合并

{{< details >}}

  • Tier: 旗舰版
  • Offering: JihuLab.com, 私有化部署

{{< /details >}}

通过此集成,您可以阻止合并请求被合并,如果它们没有引用 Jira 议题。要启用此功能:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 选择 设置 > 合并请求
  3. 合并检查 部分,选择 需要一个 Jira 相关联议题
  4. 选择 保存

启用此功能后,没有引用关联 Jira 议题的合并请求无法合并。合并请求将显示消息 要合并,必须要在主题或描述中提及 Jira 议题密钥。

在极狐GitLab 中自定义 Jira 议题匹配

{{< history >}}

  • 引入于极狐GitLab 15.10。

{{< /history >}}

您可以通过定义以下内容来配置极狐GitLab 如何匹配 Jira 议题键的自定义规则:

如果您没有配置自定义规则,将使用默认行为。

定义正则表达式模式

{{< history >}}

  • 在极狐GitLab 17.6 中,集成名称更新为 Jira 议题

{{< /history >}}

您可以使用正则表达式(regex)来匹配 Jira 议题键。正则表达式模式必须遵循 RE2 syntax。

要为 Jira 议题键定义正则表达式模式:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 选择 设置 > 集成
  3. 选择 Jira 议题
  4. 转到 Jira 议题匹配 部分。
  5. Jira 议题正则表达 文本框中输入正则表达式模式。
  6. 选择 保存变更

定义前缀

{{< history >}}

  • 在极狐GitLab 17.6 中,集成名称更新为 Jira 议题

{{< /history >}}

您可以使用前缀来匹配 Jira 议题键。例如,如果您的 Jira 议题键是 ALPHA-1 并且您定义了一个 JIRA# 前缀,极狐GitLab 将匹配 JIRA#ALPHA-1 而不是 ALPHA-1

要为 Jira 议题键定义前缀:

  1. 在左侧边栏中,选择 搜索或转到 并找到您的项目。
  2. 选择 设置 > 集成
  3. 选择 Jira 议题
  4. 转到 Jira 议题匹配 部分。
  5. Jira 议题前缀 文本框中输入前缀。
  6. 选择 保存变更

在极狐GitLab 中关闭 Jira 议题

如果您已配置极狐GitLab 转换 ID,您可以直接从极狐GitLab 中关闭 Jira 议题。在提交或合并请求中使用触发词后跟 Jira 议题 ID。当您推送包含触发词和 Jira 议题 ID 的提交时,极狐GitLab:

  1. 在提到的 Jira 议题中评论。
  2. 关闭 Jira 议题。如果 Jira 议题有解决方案,它不会被转换。

例如,使用以下任何触发词关闭 Jira 议题 PROJECT-1

  • Resolves PROJECT-1
  • Closes PROJECT-1
  • Fixes PROJECT-1

提交或合并请求必须以您的项目的默认分支为目标。您可以在项目设置中更改项目的默认分支。

当您的分支名称与 Jira 议题 ID 匹配时,Closes <JIRA-ID> 将自动附加到现有的合并请求模板中。如果您不想关闭议题,请禁用自动议题关闭

关闭议题的使用案例

考虑以下示例:

  1. 用户创建 Jira 议题 PROJECT-7 以请求新功能。
  2. 您在极狐GitLab 中创建合并请求以构建请求的功能。
  3. 在合并请求中,您添加议题关闭触发词 Closes PROJECT-7
  4. 当合并请求被合并时:
    • 极狐GitLab 为您关闭 Jira 议题。
    • 极狐GitLab 添加格式化评论到 Jira,链接回解决议题的提交。您可以禁用评论

自动议题转换

当您配置自动议题转换时,您可以将引用的 Jira 议题转换为类别为 Done 的下一个可用状态。要配置此设置:

  1. 请参阅配置极狐GitLab说明。
  2. 选择 启用 Jira 工作流转换 复选框。
  3. 选择 移动至完成 选项。

自定义议题转换

对于高级工作流,您可以指定自定义 Jira 转换 ID:

  1. 根据您的 Jira 订阅状态使用以下方法:
    • (对于 Jira Cloud 用户) 通过在 Text 视图中编辑工作流获取转换 ID。转换 ID 显示在 Transitions 列中。
    • (对于 Jira Server 用户) 通过以下方式获取转换 ID:
      • 使用 API,如 https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions,使用处于适当“开放”状态的议题。
      • 鼠标悬停在您希望转换的链接上,并在 URL 中寻找 action 参数。 转换 ID 可能在工作流之间有所不同(例如,bug 而不是故事),即使您要更改的状态是相同的。
  2. 请参阅配置极狐GitLab说明。
  3. 选择 Enable Jira transitions 设置。
  4. 选择 Custom transitions 选项。
  5. 在文本字段中输入您的转换 ID。如果您插入多个转换 ID(用 ,; 分隔),则议题将按您指定的顺序一个接一个地移动到每个状态。如果转换失败,则序列将被中止。

禁用 Jira 议题上的评论

极狐GitLab 可以将源提交或合并请求与 Jira 议题交叉链接,而无需向 Jira 议题添加评论:

  1. 请参阅配置极狐GitLab说明。
  2. 清除 启用评论 复选框。