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

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

在本文中,了解在将 Azure Boards 项目与 GitHub 存储库连接后,如何将工作项链接到 GitHub 提交和拉取请求。 你可以使用 #mention 语法,或直接从 Azure Boards 工作项添加 GitHub 提交或拉取请求链接。

注意

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

先决条件

  • 项目连接:

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

    • 必须是 Azure Boards 项目和 GitHub 存储库的参与者。

注意

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

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

注意

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

AB#{ID}

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

还可以输入提交或拉取请求消息以转换工作项。 系统会识别 fixfixesfixed,并将其应用于后面的 #-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 分支

要直接从工作项创建 GitHub 分支,请执行以下步骤:

  1. 在面板中,查找要从中创建 GitHub 分支的工作项。

  2. 选择工作项操作>新建 GitHub 分支

    工作项“更多操作”选择以及突出显示的“新建 GitHub 分支”选项的屏幕截图。

  3. 创建 GitHub 分支对话框中,输入分支名称,然后选择 GitHub 存储和基础分支。

  4. 选择创建

    “创建 GitHub 分支”对话框的屏幕截图。

    Azure Boards 会在指定的 GitHub 存储库中创建分支,并将其链接到工作项。 有关详细信息,请参阅 Azure Boards- GitHub 集成

注意

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

  1. 打开工作项并转到链接选项卡。

    工作项窗体、“链接”选项卡、添加问题链接的屏幕截图。

  2. 添加链接对话框中,选择一种 GitHub 链接类型,选择 GitHub 存储库,输入 GitHub 分支、提交或拉取请求的 URL,然后选择添加链接

    在下面的示例中,我们添加了一个指向 GitHub 拉取请求的链接。

    工作项窗体、“链接”选项卡、“添加链接”对话框、已选择“GitHub 拉取请求”链接类型的屏幕截图。

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

注意

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

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

工作项窗体的屏幕截图,“开发”部分显示了几个 GitHub 链接。

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

在看板上查看 GitHub 对象

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

显示工作项卡片上的 GitHub 链接的看板屏幕截图。

后续步骤