{{< details >}}
- Tier: 基础版, 专业版, 旗舰版
- Offering: JihuLab.com, 私有化部署
{{< /details >}}
{{< history >}}
- 工作项支持引入于极狐GitLab 17.10。
{{< /history >}}
极狐GitLab 的描述模板标准化并自动化了议题和合并请求的创建。
描述模板:
- 为项目中的议题和合并请求创建一致的布局。
- 为不同的工作流阶段和目的提供专用模板。
- 支持项目、群组和整个实例的自定义模板。
- 使用变量和快捷操作自动填充字段。
- 确保对错误、功能和其他工作项的正确跟踪。
- 格式化 服务台电子邮件响应。
您可以定义模板作为您的描述用于:
项目从其群组和实例继承模板。
模板必须:
- 使用
.md
扩展名保存。 - 存储在项目的代码库中的
.gitlab/issue_templates
或.gitlab/merge_request_templates
目录中。 - 存在于默认分支上。
创建议题模板
在代码库的 .gitlab/issue_templates/
目录中创建一个新的 Markdown (.md
) 文件。
{{< alert type=”note” >}}
议题模板支持所有类型的工作项,包括议题、史诗、任务、目标和关键结果。
{{< /alert >}}
要创建议题描述模板:
- 在左侧边栏中,选择 搜索或前往 并找到您的项目。
- 选择 代码 > 代码库。
- 在默认分支旁边,选择 {{< icon name=”plus” >}}。
- 选择 新文件。
- 在默认分支旁的 文件名 文本框中,输入
.gitlab/issue_templates/mytemplate.md
,其中mytemplate
是您的议题模板的名称。 - 提交到您的默认分支。
要检查这是否正确工作,请 创建一个新的议题 并查看是否可以在 选择模板 下拉列表中找到您的描述模板。
创建合并请求模板
与议题模板类似,在代码库的 .gitlab/merge_request_templates/
目录中创建一个新的 Markdown (.md
) 文件。与议题模板不同,合并请求有 额外的继承规则,这取决于提交消息和分支名称的内容。
要为项目创建合并请求描述模板:
- 在左侧边栏中,选择 搜索或前往 并找到您的项目。
- 选择 代码 > 代码库。
- 在默认分支旁边,选择 {{< icon name=”plus” >}}。
- 选择 新文件。
- 在默认分支旁的 文件名 文本框中,输入
.gitlab/merge_request_templates/mytemplate.md
,其中mytemplate
是您的合并请求模板的名称。 - 提交到您的默认分支。
要检查这是否正确工作,请 创建一个新的合并请求 并查看是否可以在 选择模板 下拉列表中找到您的描述模板。
使用模板
当您创建或编辑议题或合并请求时,它会显示在 选择模板 下拉列表中。
要应用模板:
- 创建或编辑议题、工作项或合并请求。
- 选择 选择模板 下拉列表。
- 如果 描述 文本框没有为空,为了确认,选择 应用模板。
- 选择 保存更改。
当您选择描述模板时,其内容会复制到描述文本框中。
要丢弃您在选择模板后对描述所做的任何更改:展开 选择模板 下拉列表并选择 重置模板。
{{< alert type=”note” >}}
您可以创建快捷链接以使用指定模板创建议题。例如:https://jihulab.com/gitlab-cn/gitlab/-/issues/new?issuable_template=Feature%20proposal
。阅读更多关于 使用预填值的 URL 创建议题 的信息。
{{< /alert >}}
合并请求模板中支持的变量
{{< history >}}
- 引入于极狐GitLab 15.7。
{{< /history >}}
{{< alert type=”note” >}}
此功能仅适用于 默认模板。
{{< /alert >}}
当您首次保存合并请求时,极狐GitLab 会在您的合并请求模板中用其值替换这些变量:
变量 | 描述 | 输出示例 |
---|---|---|
%{all_commits} |
合并请求中所有提交的消息。仅限最近 100 个提交。跳过超过 100 KiB 的提交正文和合并提交消息。 |
* Feature introduced This commit implements feature Changelog:added * Bug fixed * Documentation improved This commit introduced better docs.
|
%{co_authored_by} |
提交作者的姓名和电子邮件,以 Co-authored-by Git 提交尾部格式。仅限合并请求中最近 100 个提交的作者。 |
Co-authored-by: Zane Doe <zdoe@example.com> Co-authored-by: Blake Smith <bsmith@example.com>
|
%{first_commit} |
合并请求差异中的第一个提交的完整消息。 | Update README.md |
%{first_multiline_commit} |
非合并提交且消息正文多于一行的第一个提交的完整消息。如果所有提交都不是多行,则为合并请求标题。 |
Update README.md Improved project description in readme file.
|
%{source_branch} |
正在合并的分支名称。 | my-feature-branch |
%{target_branch} |
应用更改的分支名称。 | main |
设置实例级别描述模板
{{< details >}}
- Tier: 专业版, 旗舰版
- Offering: 私有化部署
{{< /details >}}
您可以使用 实例模板代码库 在 实例级别 设置议题和合并请求的描述模板。您还可以使用实例模板代码库进行文件模板。
您可能还会对 项目模板 感兴趣,可以在实例中创建新项目时使用。
设置群组级别描述模板
{{< details >}}
- Tier: 专业版, 旗舰版
- Offering: JihuLab.com, 私有化部署
{{< /details >}}
使用 群组级别 描述模板,您可以选择群组中的项目来存储您的模板。然后,您可以在群组中的其他项目中访问这些模板。因此,您可以在群组所有项目中的议题和合并请求中使用相同的模板。
先决条件:
- 您必须拥有群组的所有者角色。
- 项目必须是群组的直接子项目。
要重用您 创建的模板:
- 在左侧边栏中,选择 搜索或前往 并找到您的群组。
- 选择 设置 > 常规。
- 展开 模板。
- 从下拉列表中选择您的模板项目作为群组级别的模板代码库。
- 选择 保存更改。
您可能还会对 群组中的各种文件类型模板 感兴趣。
为合并请求和议题设置默认模板
在项目中,您可以为新议题和合并请求选择默认描述模板。因此,每次创建新的合并请求或议题时,都会预填您在模板中输入的文本。
先决条件:
- 在项目的左侧边栏中,选择 设置 > 常规 并展开 可见性、项目功能、权限。确保议题或合并请求设置为 所有访问者 或 仅项目成员。
要为合并请求设置默认描述模板,可以:
-
创建一个合并请求模板 名为
Default.md
(不区分大小写)并保存到.gitlab/merge_request_templates/
中。如果在项目设置中已设置默认模板,则该模板 不会覆盖。 -
极狐GitLab 专业版和旗舰版用户:在项目设置中设置默认模板:
- 在左侧边栏中,选择 搜索或前往 并找到您的项目。
- 选择 设置 > 合并请求。
- 在 合并请求的默认描述模板 部分,填写文本区域。
- 选择 保存更改。
要为议题设置默认描述模板,可以:
-
创建一个议题模板 名为
Default.md
(不区分大小写)并保存到.gitlab/issue_templates/
中。如果在项目设置中已设置默认模板,则该模板 不会覆盖。 -
极狐GitLab 专业版和旗舰版用户:在项目设置中设置默认模板:
- 在左侧边栏中,选择 搜索或前往 并找到您的项目。
- 选择 设置 > 常规。
- 展开 议题的默认描述模板。
- 填写文本区域。
- 选择 保存更改。
因为极狐GitLab 合并请求和议题支持 Markdown,您可以使用它来格式化标题、列表等。
您还可以在 项目 REST API 中提供 issues_template
和 merge_requests_template
属性,以保持您的默认议题和合并请求模板为最新。
默认描述模板的优先级
当您在不同位置设置 议题描述模板 时,它们在项目中的优先级如下。上面的会覆盖下面的:
- 在项目设置中设置的模板。
- 来自父群组的
Default.md
(不区分大小写)。 - 来自项目代码库的
Default.md
(不区分大小写)。
合并请求具有 额外的继承规则,这取决于提交消息和分支名称的内容。
示例描述模板
我们在极狐GitLab 项目的 .gitlab
文件夹 中使用议题和合并请求的描述模板,您可以参考一些示例。
{{< alert type=”note” >}}
可以在描述模板中使用 快捷操作 快速添加标签、被指派者和里程碑。只有在提交议题或合并请求的用户具有执行相关操作的权限时,快捷操作才会被执行。
{{< /alert >}}
以下是一个错误报告模板示例:
## Summary
(Summarize the bug encountered concisely)
## Steps to reproduce
(How one can reproduce the issue - this is very important)
## Example Project
(If possible, create an example project here on GitLab.com that exhibits the problematic
behavior, and link to it here in the bug report.
If you are using an older version of GitLab, this will also determine whether the bug has been fixed
in a more recent version)
## What is the current bug behavior?
(What actually happens)
## What is the expected correct behavior?
(What you should see instead)
## Relevant logs and/or screenshots
(Paste any relevant logs - use code blocks (```) to format console output, logs, and code, as
it's very hard to read otherwise.)
## Possible fixes
(If you can, link to the line of code that might be responsible for the problem)
/label ~bug ~reproduced ~needs-investigation
/cc @project-manager
/assign @qa-tester