Jira 议题管理

您可以直接在极狐GitLab 中管理 Jira 议题。然后,你就可以在极狐GitLab 代码提交和合并请求中引用 Jira ID 了。Jira 议题 ID 必须大写。

要将议题管理与 Jira 集成,请在极狐GitLab 中配置 Jira,并启用集成。 配置并启用集成后,您可以通过在极狐GitLab 提交和合并请求中提及 Jira ID,来引用和关闭 Jira 议题。

Jira 集成要求您将任何 Jira 议题 ID 统一为大写。

交叉引用极狐GitLab 活动和 Jira 议题

通过此集成,您可以在处理极狐GitLab 议题和合并请求时交叉引用 Jira 议题。大您在极狐GitLab 议题、合并请求、注释或代码提交中提及 Jira 议题时:

  • 极狐GitLab 会链接到提及的 Jira 议题。
  • 极狐GitLab 会为链接回议题、合并请求或代码提交中的 Jira 议题添加格式化的注释。

例如,以下提交引用了 Jira 议题 GIT-1

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

极狐GitLab 将如下内容添加到 Jira 议题:

  • Web 链接 部分中的引用。
  • 活动 部分的注释,并遵循一下格式:

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

每个极狐GitLab 议题、合并请求或代码合并中只能出现单个交叉引用。比如,引用了 Jira 议题且具有多个注释的极狐GitLab 合并请求只会创建单个交叉引用。

您可以对议题禁用评论

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

  • 引入于 13.12 版本,功能标志jira_issue_association_on_merge_request。默认禁用。
  • 一般可用于 14.2 版本。功能标志 jira_issue_association_on_merge_request 已删除。

通过此集成,如果合并请求不涉及 Jira 议题,您可以防止合并请求被合并。 要启用此功能:

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

启用此功能后,无法合并未引用关联 Jira 议题的合并请求。合并请求显示消息 要合并,必须在标题或描述中提及 Jira issue key。

自定匹配极狐GitLab 的 Jira 议题

  • 自极狐GitLab 15.10 引入。

通过定义如下内容,您可以为如何实现极狐GitLab 匹配 Jira 议题 key 配置自定义角色:

当您不能配置自定义角色时,将使用默认的行为。

定义 regex 模式

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

您可以使用正则表达式来匹配 Jira 议题 key。正则表达式模式必须遵循 RE2 语法。

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

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

定义前缀

  • 在极狐GitLab 17.6 中将名称更新为 Jira 议题

您可以使用前缀来来匹配 Jira 议题 key。比如,如果您的 Jira 议题是 ALPHA-1 并且您定义了 JIRA# 前缀。则极狐GitLab 会匹配 JIRA#ALPHA-1 而不是 ALPHA-1

如要为 Jira 议题 key 定义前缀:

  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

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

关闭议题的用例

考虑以下示例:

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

自动议题转换

引入于 13.11 版本。

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

  1. 参考配置极狐GitLab 说明。
  2. 选中 启用 Jira 转换 复选框。
  3. 选择 移至完成 选项。

自定义议题转换

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

  1. 使用基于您的 Jira 订阅状态的方法:
    • (对于 Jira Cloud 用户) 通过在 文本 视图中编辑工作流来获取您的转换 ID。转换 ID 显示在 转换 列中。
    • (对于 Jira Server 用户) 通过以下方式之一获取您的转换 ID:
      • 通过使用 API,类似 https://yourcompany.atlassian.net/rest/api/2/issue/ISSUE-123/transitions 的请求,使用处于 “open” 状态的议题。
      • 将鼠标悬停在所需转换的链接上,然后在 URL 中查找 操作 参数。 转换 ID 可能因工作流而异(例如,bug 而非 story),即使您要更改的状态相同。
  2. 参考配置极狐GitLab 说明。
  3. 选择 启用 Jira 转换 设置。
  4. 选择 自定义转场 选项。
  5. 在文本字段中输入您的转换 ID。如果您插入多个转换 ID(由 ,; 分隔),议题将按照您指定的顺序一个接一个地移动到每个状态。如果转换失败,序列将中止。

禁用对 Jira 议题的评论

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

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