如果用户已经熟悉像Jira或Azure Boards这样的成熟解决方案,也可以继续使用这些解决方案。GitHub几乎支持所有可用产品的集成。本节将展示GitHub如何与Jira和Azure Boards集成,在GitHub市场上还有许多其他解决方案。
Jira和Azure Boards都是非常好的产品,可以高度定制。如果读者想继续使用当前的工具,请确保在本章中描述的所有内容都适用。操作是否简单?能否将所有工作放入其中?能否从队列中提取工作?是否有WIP限制?流程效率如何?
读者可能需要考虑将过程和项目模板调整为更精简的工作方式。转移到新平台总是减少负担的好机会。如果进行集成,请确保不会拖慢速度或增加技术债务。
GitHub和Jira都在应用市场中提供一个应用程序来连接对方。如果用户创建一个新的Jira项目,可以直接在创建过程中添加GitHub(见图2-23),也可以稍后通过Jira中的Apps|Find new Apps来添加它。
图2-23 向Jira项目添加GitHub
安装过程很简单,可以访问链接https://github.com/marketplace/jira-software-github了解详情。
安装两个应用程序并连接到Jira中的GitHub组织。在GitHub中,用户可以指定选择组织中的所有存储库或仅特定存储库。如果组织有很多存储库,同步可能需要一些时间!
可以在Jira中的Apps|Manage your apps|GitHub|Get started(见图2-24)中检查配置和同步状态。
一旦同步处于活动状态,可以通过提及Jira issue的ID来将issue、拉取请求和提交链接到Jira issue。ID始终由项目密钥和表示项的整数组成(例如,GI-666)。
图2-24 Jira中的GitHub配置和同步状态
如果在GitHub issue中指定Jira issue[GI-1]和[GI-2],则文本会自动链接到相应的Jira issue(见图2-25)。
图2-25 将GitHub issue链接到Jira issue
如果在提交注释中提及Jira issue,将自动链接到Jira issue下的Development(见图2-26)。用户还可以深入挖掘提交并查看包含在提交中的更改文件数量。
还可以使用智能提交从提交注释内部执行与Jira issue相关的操作。智能提交具有以下语法:
目前,支持三个命令:
●comment:在Jira issue中添加注释。
●time:在Jira issue中添加工作的时间。
●transition:更改Jira issue的状态。
图2-26 在Jira中链接GitHub构件
以下是一些智能提交的示例:
●以下提交消息将向GI-34添加注释“corrected indent issue”:
●此提交消息向GI.34添加时间:
●此提交消息向GI-66添加评论并关闭该issue:
有关智能提交的更多信息,请参见https://support.atlassian.com/jira-software-cloud/docs/process-issues-with-smart-commits。
只有用户在提交注释中使用的电子邮件地址具有足够的Jira权限,智能提交才会起作用!
Jira和GitHub紧密集成。如果团队已经熟悉Jira,则最好使用Jira并将其集成到GitHub中。
Azure Boards与GitHub也有非常紧密的集成,设置非常简单。只须从GitHub市场安装Azure Boards应用程序(参见https://github.com/marketplace/azure-boards),然后按照说明操作即可。
可以在工作项的Development部分(或拥有的任何其他工作项类型)中直接链接GitHub提交和GitHub拉取请求到Azure Boards issue,或者可以使用语法AB#<id of Azure Board Issue>(例如,AB#26)引用工作项。
GitHub链接将显示在带有GitHub图标的卡片上(见图2-27)。
图2-27 在Azure Boards中链接GitHub构件
如果在AB引用之前添加了fix、fixes或fixed关键字,则Azure Boards issue将自动转换为Done状态。请参见以下示例:
●如果提交合并,则以下提交注释将链接到issue 666并将该issue切换为已完成:
●以下提交注释将链接issue 42和issue 666,但仅将issue 666切换为已完成:
●关键字仅适用于一个引用。以下提交注释将链接所有三个issue,但只有issue 666将切换为已完成:
●如果关键字不是直接在引用之前,则不会切换任何issue!
用户可以在GitHub的README文件中添加徽章,显示Azure Boards问题的数量。可以从Azure Boards的设置(位于面板上方右侧的小齿轮图标)中的状态徽章(Status badge)部分获取徽章URL。只能显示正在进行中的图标数量或所有项的数量(见图2-28)。
Azure Boards集成设置简单且非常自然。如果团队已经熟悉Azure Boards,则在Azure Boards中使用紧密的GitHub集成是一个不错的选择。
图2-28 向GitHub README文件添加徽章