- 跨引用极狐GitLab 活动和 Jira 议题
- 在极狐GitLab 中自定义 Jira 议题匹配
- 在极狐GitLab 中关闭 Jira 议题
- 自动议题转换
- 自定义议题转换
- 禁用 Jira 议题上的评论
{{< 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 议题。要启用此功能:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 选择 设置 > 合并请求。
- 在 合并检查 部分,选择 需要一个 Jira 相关联议题。
- 选择 保存。
启用此功能后,没有引用关联 Jira 议题的合并请求无法合并。合并请求将显示消息 要合并,必须要在主题或描述中提及 Jira 议题密钥。
在极狐GitLab 中自定义 Jira 议题匹配
{{< history >}}
- 引入于极狐GitLab 15.10。
{{< /history >}}
您可以通过定义以下内容来配置极狐GitLab 如何匹配 Jira 议题键的自定义规则:
如果您没有配置自定义规则,将使用默认行为。
定义正则表达式模式
{{< history >}}
- 在极狐GitLab 17.6 中,集成名称更新为 Jira 议题。
{{< /history >}}
您可以使用正则表达式(regex)来匹配 Jira 议题键。正则表达式模式必须遵循 RE2 syntax。
要为 Jira 议题键定义正则表达式模式:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 选择 设置 > 集成。
- 选择 Jira 议题。
- 转到 Jira 议题匹配 部分。
- 在 Jira 议题正则表达 文本框中输入正则表达式模式。
- 选择 保存变更。
定义前缀
{{< history >}}
- 在极狐GitLab 17.6 中,集成名称更新为 Jira 议题。
{{< /history >}}
您可以使用前缀来匹配 Jira 议题键。例如,如果您的 Jira 议题键是 ALPHA-1
并且您定义了一个 JIRA#
前缀,极狐GitLab 将匹配 JIRA#ALPHA-1
而不是 ALPHA-1
。
要为 Jira 议题键定义前缀:
- 在左侧边栏中,选择 搜索或转到 并找到您的项目。
- 选择 设置 > 集成。
- 选择 Jira 议题。
- 转到 Jira 议题匹配 部分。
- 在 Jira 议题前缀 文本框中输入前缀。
- 选择 保存变更。
在极狐GitLab 中关闭 Jira 议题
如果您已配置极狐GitLab 转换 ID,您可以直接从极狐GitLab 中关闭 Jira 议题。在提交或合并请求中使用触发词后跟 Jira 议题 ID。当您推送包含触发词和 Jira 议题 ID 的提交时,极狐GitLab:
- 在提到的 Jira 议题中评论。
- 关闭 Jira 议题。如果 Jira 议题有解决方案,它不会被转换。
例如,使用以下任何触发词关闭 Jira 议题 PROJECT-1
:
Resolves PROJECT-1
Closes PROJECT-1
Fixes PROJECT-1
提交或合并请求必须以您的项目的默认分支为目标。您可以在项目设置中更改项目的默认分支。
当您的分支名称与 Jira 议题 ID 匹配时,Closes <JIRA-ID>
将自动附加到现有的合并请求模板中。如果您不想关闭议题,请禁用自动议题关闭。
关闭议题的使用案例
考虑以下示例:
- 用户创建 Jira 议题
PROJECT-7
以请求新功能。 - 您在极狐GitLab 中创建合并请求以构建请求的功能。
- 在合并请求中,您添加议题关闭触发词
Closes PROJECT-7
。 - 当合并请求被合并时:
- 极狐GitLab 为您关闭 Jira 议题。
- 极狐GitLab 添加格式化评论到 Jira,链接回解决议题的提交。您可以禁用评论。
自动议题转换
当您配置自动议题转换时,您可以将引用的 Jira 议题转换为类别为 Done 的下一个可用状态。要配置此设置:
- 请参阅配置极狐GitLab说明。
- 选择 启用 Jira 工作流转换 复选框。
- 选择 移动至完成 选项。
自定义议题转换
对于高级工作流,您可以指定自定义 Jira 转换 ID:
- 根据您的 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 而不是故事),即使您要更改的状态是相同的。
- 使用 API,如
- 请参阅配置极狐GitLab说明。
- 选择 Enable Jira transitions 设置。
- 选择 Custom transitions 选项。
- 在文本字段中输入您的转换 ID。如果您插入多个转换 ID(用
,
或;
分隔),则议题将按您指定的顺序一个接一个地移动到每个状态。如果转换失败,则序列将被中止。
禁用 Jira 议题上的评论
极狐GitLab 可以将源提交或合并请求与 Jira 议题交叉链接,而无需向 Jira 议题添加评论:
- 请参阅配置极狐GitLab说明。
- 清除 启用评论 复选框。