将 TeamCity 与问题跟踪器集成
TeamCity 可以与您的问题跟踪器集成,以提供您的开发项目的全面视图。 TeamCity 可以检测在版本控制更改的注释中提到的问题,并将它们变成 TeamCity UI 中链接至您的问题跟踪器的链接。
集成在项目级别进行配置:需要项目管理员权限。 如果您在 TeamCity 和问题跟踪服务器上有多个项目,或者您在不同的项目中使用不同的问题跟踪器,那么您可以配置集成。
启用项目的集成也将为其所有子项目启用;如果子项目中的配置设置有所不同,那么其设置将优先于项目的设置。
TeamCity 支持 Jira、 Bugzilla、 YouTrack、 GitHub、 GitLab、 Bitbucket (Cloud, Server, Data Center) ,以及 Azure DevOps Server(前身为 TFS )的跟踪器。 Supported Platforms and Environments (支持的平台和环境)页面列出了受支持的版本。
当集成被配置时,TeamCity 会自动将 VCS 提交注释中提到的问题 ID(= Jira 中的问题键,Azure DevOps Server 中的工作项 ID)转换为指向相应问题的链接,并在 TeamCity Web 界面中将鼠标悬停在问题 ID 旁边的图标上时显示基本问题详细信息(例如,在构建结果的 更改 选项卡上)。

构建中修复的问题也可以在构建结果的 问题 选项卡上查看。 您可以筛选列表以查看特定范围的构建,并查看评论中提及的问题及其状态。

自TeamCity 2020.1起,与Jira Cloud的 集成也允许直接在Jira中预览构建状态。
为了从问题跟踪器集成中获得最大的好处, 请做如下操作:
在将更改提交到版本控制时, 始终提及问题 ID(问题密钥) 与提交注释中的修复相关。
当问题被修复时解决问题(解决的时间实际上并不重要)。
使用构建配置的 问题日志 获取与构建相关的问题;启用“ 仅显示已解决的问题 ”选项,仅显示构建中修复的问题。
关于问题的信息是由 TeamCity 服务器使用所提供的凭证检索的,然后显示给 TeamCity 用户。
这具有几个含义:
TeamCity 服务器需要直接访问问题跟踪器。
配置在问题跟踪器连接中的用户必须具有足够的权限来查看可以在 TeamCity 中提到的问题。 另外,TeamCity 用户将能够在 TeamCity 中查看所有已配置用户拥有访问权限的问题的详细信息。
要启用集成,您需要在 项目设置 | 问题跟踪器 页面上创建到问题跟踪器的连接。
以下描述的设置对所有问题跟踪器都通用:
连接类型 | 从列表中选择您的问题跟踪器类型。 |
显示名称 | 将在 TeamCity UI 中显示的问题跟踪器的符号名称。 |
服务器 URL(仓库 URL) | 问题追踪器网址 |
用户名/密码(身份验证) | 如果问题跟踪器需要授权,需要的登录凭证。 |
关于如何指定由 TeamCity 识别并转换为您的跟踪器问题链接的字符串,以及其他身份认证信息,可以在相应的部分找到:
除了一般设置外,您还需要指定哪些字符串应被识别为您的跟踪器中的问题引用。
对于 JIRA ,您需要提供一个以空格分隔的 项目键列表。 您也可以自动加载所有项目密钥:勾选相应的框并测试与您的 Jira 服务器的连接。 如果连接成功, 项目密钥 字段将自动填充。 Jira 中新创建的项目将由 TeamCity 检测,项目键列表将自动同步。
例如,如果一个项目键是 WEB
,那么在 VCS 评论中提到的类似 WEB-101
的问题键将被解析为链接到相应的问题。
对于 YouTrack ,您需要提供一个用于身份验证的 永久令牌以及一个以空格分隔的 项目 ID 列表。 您还可以自动加载所有项目 ID:请勾选 自动使用所有 YouTrack ID 并测试与您的 YouTrack 服务器的连接。 如果连接成功, 项目 ID 字段将自动填充。 在 YouTrack 中新建的项目将被 TeamCity 检测到,并且项目 ID 列表将会自动同步。
例如,如果一个项目 ID 是 TW
,像在 VCS 评论中提到的 TW-18802
问题 ID 将被解析为指向相应问题的链接。
对于 Bugzilla、 GitHub、 GitLab 和 Bitbucket Cloud ,您需要指定 问题 ID 模式 :一个 Java 正则表达式模式,用于在文本中查找问题 ID。 匹配的文本(如果定义了组,则使用第一组)被用作问题编号。 最常见的情况是 #(\d+)
—— 这将从文本 修复 #1234
中提取 1234
作为问题 ID。
TeamCity 将解析 VCS 注释中提到的问题编号,并在界面中显示指向该问题的链接(例如,在 更改 页面或 问题 的 构建结果 选项卡上)。
要将 TeamCity 与其他问题跟踪器集成,您需要配置 TeamCity ,使其将更改评论中的任何问题跟踪器问题 ID 提及转换为链接。 查看 在评论中映射外部链接 以获取详细信息。
可以通过自定义的 issue tracker integration plugin 添加专门的问题跟踪支持。
Thanks for your feedback!