将 GitHub 提交、拉取请求和问题与 Azure Boards 中的工作项进行关联

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

将 Azure Boards 项目与 GitHub 存储库建立连接后,可以将工作项链接到 GitHub 提交和拉取请求。 可以使用 GitHub 用户熟悉的 #mention 语法添加链接,或者从 Azure Boards 工作项添加 GitHub 提交或 GitHub 拉取请求链接类型。

注意

通过适用于 GitHub 的 Azure Boards 应用,Azure Boards 和 Azure DevOps Services 支持与 GitHub.com 和 GitHub Enterprise Server 存储库集成。 Azure DevOps Servers 2019 及更高版本仅支持与 GitHub Enterprise Server 存储库集成。不支持与其他 Git 存储库集成。

先决条件

  • Azure Boards 项目必须连接到 GitHub 存储库,其中存在你要链接到/从中链接的提交和拉取请求。 有关详细信息,请参阅 Azure Boards- GitHub 集成
  • 你必须是 Azure Boards 项目和 GitHub 存储库的参与者。

注意

使用托管 XML 流程模型的项目需要更新工作项类型才能查看“开发”部分和 GitHub 链接类型。 有关详细信息,请参阅更新选定工作项类型的 XML 定义

在 GitHub 提交、拉取请求或问题中,使用以下语法,创建指向 Azure Boards 工作项的链接。 在提交消息的文本中输入 AB#ID。 或者,对于拉取请求或问题,在标题或说明(而不是注释)中输入 AB#ID

注意

链接到 GitHub 问题需要 Azure DevOps Server 2019 Update 1 或更高版本。

AB#{ID}

例如,AB#125 链接到工作项 ID 125。

还可以输入提交或拉取请求消息以转换工作项。 系统会识别 fix, fixes, fixed 并将其应用于后面的 #-mention 项。 提及的工作项将转换为与“已解决”工作流类别状态关联的第一个“状态”。 如果没有与“已解决”关联的状态,它将转换为与“已完成”工作流类别状态关联的“状态”。 若要了解如何映射工作流状态和类别状态,请参阅如何在 Azure Boards 积压工作和面板中使用工作流类别状态

请参阅下表中的示例。

提交或拉取请求消息 操作
Fixed AB#123 将工作项链接并转换为“已解决”工作流状态类别,或者,如果没有定义,则转换为“已完成”工作流状态类别。
Adds a new feature, fixes AB#123. 将工作项链接并转换为“已解决”工作流状态类别,或者,如果没有定义,则转换为“已完成”工作流状态类别。
Fixes AB#123, AB#124, and AB#126 指向 Azure Boards 工作项 123、124 和 126 的链接。 仅将第一项 123 转换为“已解决”工作流状态类别,或者,如果没有定义,则转换为“已完成”工作流状态类别。
Fixes AB#123, Fixes AB#124, Fixes AB#125 指向 Azure Boards 工作项 123、124 和 126 的链接。 将所有项转换为“已解决”工作流状态类别,或者,如果没有定义,则转换为“已完成”工作流状态类别。
Fixing multiple bugs: issue #123 and user story AB#234 指向 GitHub 问题 123 和 Azure Boards 工作项 234 的链接。 不进行转换。

注意

如果已将同一 GitHub 存储库连接到两个或更多个 Azure DevOps 组织中定义的项目,可能会看到意外的 AB# mention 链接。 有关详细信息,请参阅解决连接问题。 因此,建议只将 GitHub 存储库连接到在单个 Azure DevOps 组织中定义的项目。

注意

链接到 GitHub 问题需要 Azure DevOps Server 2019 Update 1 或更高版本。

  1. 若要链接到提交或拉取请求,请打开工作项,然后选择“开发”部分下的“添加链接”。

    Screenshot of work item form, Development section, Add link option.

    若要链接到问题,请选择“链接”选项卡,然后选择“添加链接”>“现有项”。

    Screenshot of work item form, Links tab, Add link to issue.

  2. 在“添加链接”对话框中,选择其中一种 GitHub 链接类型,输入提交、拉取请求或问题的 URL,然后选择“确定”。
    在这里,我们添加一个指向 GitHub 拉取请求的链接。

    Screenshot of work item form, Links tab, Add link dialog, GitHub pull request link type selected.

    Azure Boards 将完成检查,可以确保你输入了有效的链接。 链接到的 GitHub 存储库必须连接到 Azure Boards 项目,否则验证会失败。

    在这里,我们添加一个指向 GitHub 问题的链接。

    Screenshot of work item form, Links tab, Add link dialog, GitHub issue link type selected.

注意

如果使用 Azure DevOps Sever 和 GitHub Enterprise Server,则完成 AB# 链接时会出现延迟。 我们采用“推送和拉取”设计,每小时从 GitHub 事件中拉取有关对提交、PR 和问题的增量更改的信息。

工作项窗体中的“开发”部分列出了已创建的链接,这些链接指向带有 GitHub 图标的 GitHub 提交和拉取请求。

Screenshot of work item form, Development section shows GitHub links.

选择所提供的链接,可以打开 GitHub 中的提交或拉取请求。

在看板面板上查看 GitHub 对象

在看板面板上启用 GitHub 注释后,可以快速地打开已链接的 GitHub 提交、拉取请求或问题,查看更多详细信息。 有关详细信息,请参阅自定义卡片

Screenshot of Kanban board that shows GitHub links on work item cards.

注意

GitHub 注释需要 Azure DevOps Server 2019 Update 1 或更高版本。

后续步骤