利用 Gitlab issue 进行项目管理是一件对 Dev 十分友好的事。录入issue、发起 Merge Request、创建 milestone,这些都是开发过程中动态推进的。但,每个新项目都需要创建一堆 Label ,是件让人头疼的事。本文主要就是为了解决这个问题。
1. GitLab Label
在创建 GitLab Label 之前,我们先得规范一下 Label 的格式。GitLab Label 主要用于对 issue 分类管理和过滤查看。比较推荐的一种用法是,采用 “{type}/{value}” 标签,而不是 “{value}"。这样的二维标签可以表示更多的信息。
1.1 标签类别
- type/feature对新功能的请求
- type/enhancement对功能的改进、增强、重构。
- type/bug不符合预期的小问题
- type/question比较严重的问题
- type/test与测试相关的问题
1.2 优先级:priority
优先级标签指定应处理问题的优先级。
- priority/critical这个问题现在应该修复
- priority/high这个问题应该尽快解决
- priority/low这个问题不是高优先级问题,可以在以后处理。该标签允许记录问题,而无需立即处理
1.3 价值
价值标签描述了谁从这个问题中受益。这有助于更好地安排问题。
- value/client这个问题将使客户受益
- value/admin这个问题将使管理员用户受益。有时管理员用户不一定是客户端
- value/developer这个问题将使开发人员受益
1.4 更改
更改标签对所涉及的变化进行了粗略估计。
- change/minor这个问题通常需要几个小时或更短的时间。
- change/medium这个问题花了不到一天的时间,但这不是一个快速解决方案。
- change/major这个问题涉及重大变化,需要1天以上。
1.5 杂项
这些是非常重要的标签,应根据需要使用。
- others/needs-discussion这个问题需要进一步讨论才能得到解决。
我们会尽可能多地查询具有此标签的所有内容,并与相关各方进行讨论。一旦我们完成讨论,我们通常会删除标签,但有时我们无法决定我们想要决定的内容,因此我们将标签留在那里,将项目推送到下一次会议。
- others/in-progress这个问题正在进行中。此标签告诉正在处理该问题的人(分配标签的人)并阻止其他人开始处理同一问题。
- others/duplicate这个问题与另一个功能请求或错误报告重复。
2. gitlab-python
python-gitlab 是一个 Python 软件包,提供对 GitLab 服务器 API 的访问。它支持 GitLab 的 v3 和 v4 API,并提供了一个 CLI 工具。python-gitlab 兼容 Python 2.7 和 Python 3.4 及以上版本。
2.1 安装 python-gitlab
|
|
2.2 配置访问权限
这里将配置文件放在 $HOME 目录下。
|
|
python-gitlab 还支持配置系统级的访问权限文件,启动时指定配置访问权限文件。具体配置,请参考这里。
|
|
这里的 private_token
可以在你的 GitLab 主页生成,http://gitlab.yourdomain.com/profile/personal_access_tokens
。如下图:
2.3 常用命令
- Console 中获取第一页 project
|
|
- Python 脚本
在 Python 脚本中访问 GitLab API 需要先获取到 gitlab 操作实例。
|
|
这里是创建项目需要的 Label 的 Python 脚本。
|
|
执行之后的效果,是这样:
3. 参考
- http://python-gitlab.readthedocs.io/en/stable/
- http://docs.sitestacker.com/articles/gitlab-labels.html