将 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 存储库相连接,而要链接的提交、拉取请求和分支就在 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 组织中定义的项目。

使用 AB# 向工作项添加链接时,这些链接将显示在拉取请求的“开发”部分中。

GitHub 拉取请求开发部分中 AB# 链接的屏幕截图。

从工作项创建 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 链接的看板屏幕截图。

后续步骤