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 定义。
使用 AB#
从 GitHub 链接到 Azure Boards 工作项
在 GitHub 提交、拉取请求或问题中,使用以下语法,创建指向 Azure Boards 工作项的链接。 在提交消息的文本中输入 AB#ID
。 或者,对于拉取请求或问题,请在标题或描述中输入 AB#ID
。 在注释中使用 AB#ID
不会在工作项上创建链接。
AB#{ID}
例如,AB#125
链接到工作项 ID 125。
还可以输入提交或拉取请求消息以转换工作项。 系统识别{state}
或{state category}
,以及fix
、fixes
、fixed
,并将其应用于后续的#-mention项目。
例如,当拉取请求说明包含有效的状态名称时, Closed AB#1234
系统将引用的工作项更新为该特定状态。 如果无法直接识别状态名称,Azure Boards 会尝试将其与工作流类别(例如 Resolved
或 Completed
)匹配。 如果找到匹配项,则工作项将转换为在该类别下定义的第一个可用状态。
默认情况下,引用fix
、fixes
或fixed
的工作项将转换到与“已解决”类别相关联的第一个状态。 如果当前进程中不存在此类状态,系统将工作项转换为 “已完成 ”类别中的第一个状态。
有关详细信息,请参阅 在 Azure Boards 的待办事项和板中如何使用工作流类别状态。
请查看下表中的示例:
提交或拉取请求消息 | 行动 |
---|---|
Fixed AB#123 |
链接并将工作项转换为 “已解决 的工作流状态”类别;如果未定义,则为 “已完成 ”工作流状态类别。 |
Closed 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# 提及链接。 有关详细信息,请参阅 解决连接问题。 因此,建议只将 GitHub 存储库连接到在单个 Azure DevOps 组织中定义的项目。
使用 AB# 向工作项添加链接时,这些链接将显示在拉取请求的 “开发 ”部分中。
从工作项创建 GitHub 分支
要直接从工作项创建 GitHub 分支,请执行以下步骤:
在面板中,查找要从中创建 GitHub 分支的工作项。
选择
工作项操作>“新建 GitHub 分支”。
在 “创建 GitHub 分支 ”对话框中,输入分支名称,然后选择 GitHub 存储库和基分支。
选择“ 创建”。
Azure Boards 会在指定的 GitHub 存储库中创建分支,并将其链接到工作项。 有关详细信息,请参阅 Azure Boards-GitHub 集成。
将工作项链接添加到 GitHub 分支、提交或拉取请求
打开工作项并转到 “链接 ”选项卡。
在 “添加链接 ”对话框中,选择其中一种 GitHub 链接类型,选择 GitHub 存储库,输入 GitHub 分支的 URL、提交或拉取请求,然后选择“ 添加链接”。
在下面的示例中,我们添加了一个指向 GitHub 拉取请求的链接。
Azure Boards 将完成检查,可以确保你输入了有效的链接。 链接到 GitHub 存储库 必须连接到 Azure Boards 项目 ,否则验证将失败。
注意
如果使用 Azure DevOps Sever 和 GitHub Enterprise Server,则完成 AB# 链接时会出现延迟。 我们采用“推送和拉取”设计,每小时从 GitHub 事件中拉取有关对提交、PR 和问题的增量更改的信息。
自动链接更新
多个事件自动更新工作项窗体上的链接,因此无需手动创建它们。 这些包括:
GitHub 事件 | 行动 |
---|---|
链接到分支 | 从分支创建拉取请求时,它会自动链接到工作项。 |
合并提交 | 合并拉取请求后,生成的合并提交将自动链接到工作项。 |
删除分支 | 如果删除分支(通常在合并后),则其链接会自动从工作项中删除。 |
查看或打开“开发”部分中的链接
工作项窗体中的“开发”部分列出了已创建的链接,这些链接指向带有 GitHub 图标的 GitHub 提交和拉取请求。
选择所提供的链接,可以打开 GitHub 中的提交或拉取请求。
在看板上查看 GitHub 对象
在看板上启用 GitHub 注释后,您可以快速打开链接的 GitHub 提交、拉取请求或问题以获取更多详细信息。 有关详细信息,请参阅 自定义卡片。
后续步骤
相关文章
- 将 Azure Boards 与 GitHub 集成
- 了解如何在 Azure Boards 工作项积压和工作板中使用工作流状态
- 将工作项链接到对象
- 排查 GitHub 与 Azure Boards 的集成问题