柏拉图说:乌托邦是个理想国

在 极狐GitLab 有一个文化叫做 “dog fooding”,直译过来就是“吃自己的狗粮”,所以在极狐,我们使用 极狐GitLab 来开发 极狐GitLab.并把 极狐GitLab 作为解决方案交付给我们的客户.听起来有点绕,但这句话却是生动的描述了我们的工作模式.

在日常的工作当中我们团队的每一个成员都会将 极狐GitLab 作为最主要的工具,除了我们日常的研发管理使用之外,我们每个人还会将我们的 OKR 管理、新人入职以及向 IT同事申请公有云资源及权限开通等内容都通过议题来进行管理.

最近团队新入职了一位产品设计师,我也作为 mentor 成为了他的 UX buddy.帮助他快速熟悉适应团队.在这个过程中我们就是使用一个 onboarding task 的议题描述模板来帮助新人自主了解一些内容.

这份 checklist 包括公司介绍、UX Buddy、设计相关工具、需要设计的产品、团队如何沟通、我们的工作流程、了解我们的用户以及一些需要了解的技术知识等内容.这份 check list 也会随着每一次的新人加入不断的进行改进和优化.,我们会将这份 checklist 作为一个议题描述模板在项目中进行维护.

作为议题描述模板维护的好处就是当团队成员认为需要改进议题描述模板时,可以随时编辑模版,且每一次的修改都拥有版本记录.对于在创建一些相同且可标准化的议题的时候,使用议题模版会为我们节省一些时间,让我们可以把精力留给工作中的其他问题.

下面让我们一起来认识一下什么是议题描述模板,以及如何快速使用议题描述模板.

关于议题描述模板

关于议题描述模板的介绍可以查看 极狐GitLab 的文档 - 描述模板

您可以定义模板,用于 议题合并请求 的描述。

目前在 极狐GitLab 中议题描述模板是包含在免费版本中的功能,所有用户都可以使用.设置实例级描述模板群组级描述模板是专业版的功能.

您可以针对以下场景使用议题描述模板:

  • 针对您工作流程的不同阶段,例如,功能提议、功能改进或错误报告。
  • 对于特定项目的每个议题或合并请求,因此布局是一致的。
  • 对于 服务台电子邮件模板

创建议题描述模板

要是默认模版生效,需要在仓库的 .gitlab/issue_templates 目录中创建一个 markdown 文件.并将添加的 markdown 文件推送到默认分支上,通常项目中的默认分支是 master 分支.如果你不确定默认分支还有一个办法就是在项目中点击左侧导航栏的仓库-分支,默认分支旁边会有一个default标签.例如在开源的极狐GitLab项目中,默认分支就是  main-jh

  1. 首先我们需要创建一个项目,如果已有项目可以跳过这一步.通过点击顶部导航栏+,新建项目/仓库 或者 点击顶部导航栏下面蓝色新建项目按钮都可以快速创建项目.

2. 进入你想要创建议题描述模板的项目,以我从项目模版创建的 Gatsby 项目为例,默认是没有.gitlab/issue_templates目录的,所以就需要在默认分支先创建一个目录.或者在创建文件的时候将文件命名为.gitlab/issue_templates/template.md,这样就会在创建文件的同时创建相应的目录. 需要注意的是目录名称一定要拼写正确,否则在议题创建时是不会展示模板的.

3. 点击提交更改按钮后就会将文件创建到默认分支.创建完成后就可以看到议题描述模板内容.

4. 完成上述步骤后就可以使用模板创建议题了,点击左侧导航栏议题 > 列表 > 新建议题

5. 在新建议题页面中可以看到描述 > 选择议题模板,选中你创建好的议题描述模板.

6. 选中后,议题内容就会自动带入创建好的模板内容,我们只需要根据需求适当修改议题内容就可以创建一个议题.

已上图中举例的 bug 类型的议题为例,内容包含:

  • 错误描述
  • 重现步骤
  • 出现问题的实例
  • 目前 bug 的行为以及预期的正确行为
  • 相关日志或屏幕截图
  • 环境信息和检查结果
  • 可能的修复方法

通过以上的内容,可以方便快速的帮助工程师定位问题,减少重复的工作沟通,对于一个新人提交 bug 类型的议题也是非常有帮助的.

快速操作

快速操作功能是 13.8 版本中引入的功能,在创建议题时,可以在描述中输入/,可以查看所有支持的快速操作.

比如我们常用的/assign,可以在bug议题模板中写入/assign @User User 替换成测试同事,来将议题默认指派给测试同事,这样能够第一时间跟进 bug 测试和验证.

在议题描述模板的最后还可以通过加入 /label ~"type::bug"来快速添加标签(需要是已创建好的标签),这样就不用每次创建议题时手动添加标签.

除了/label之外,还可以添加更多的快速操作,比如是否将议题设置为私密的/confidential,添加后会自动创建为私密议题,在项目中团队角色是报告者以上的用户才可以看到.

默认议题模板

虽然我们可能通过努力让项目中有非常多的议题模板可供选择,但有时候用户就是不会去选择,这时候我们还有2个方法:

设置 > 通用 > 议题的默认描述模板 中设置


可以在设置中写入一段默认模板内容,点击保存更改之后就可以在创建议题时展示默认模板内容.

将议题描述模板的名称改为 Default.md,这样就会在创建议题时默认显示 default 的议题描述模板.

方法一和方法二的优先级是1>2,也就是若设置了方法一那么优先展示方法一的内容,方法一的内容清空后,则会展示设置好的方法二的内容.

更多议题描述模板

  1. 在 极狐GitLab 的项目中可以找到非常丰富的议题模板,
  2. Awesome GitHub Issues & PRs Templates

相关链接:
描述模板 | 极狐GitLab