安装用于GitHub的 Azure Boards 应用

Azure DevOps 服务 |Azure DevOps Server |Azure DevOps Server 2022

在本快速入门中,你将安装用于GitHub的 Azure Boards 应用,以便将Azure Boards连接到GitHub存储库。 将 Azure Boards 项目与 GitHub.com 存储库连接时,可以将 GitHub 提交和拉取请求与工作项关联。 可以使用GitHub进行软件开发,同时使用Azure Boards来规划和跟踪工作。 在您的GitHub帐户或组织中安装Azure Boards应用程序用于GitHub后,从您的项目中选择要连接的GitHub存储库。

有关 GitHub Azure Boards 应用支持的集成概述,请参阅 Azure Boards-GitHub 集成

Prerequisites

权限类别 Requirements
Azure DevOps - 项目集合管理员的成员。 如果创建了项目,则具有此权限。
- Azure Boards 项目中的项目成员
GitHub - 安装 Azure Boards 应用的 GitHub 组织的管理员所有者
- GitHub存储库的读取权限

Important

  • 如果存储库已使用其他身份验证类型(如 OAuth)进行连接,则必须在使用 GitHub 应用重新连接之前从现有连接中删除该存储库。 在配置GitHub应用之前,请遵循本文后面的 add 或删除GitHub存储库中提供的步骤。
  • 如果你是这些存储库的管理员,可以将Azure DevOps组织连接到多个GitHub存储库。 不应将GitHub存储库连接到多个Azure DevOps组织。

安装和配置Azure Boards应用

以下步骤显示了典型的安装序列。 按照屏幕上的任何提示完成设置。

  1. 转到 GitHub Marketplace 中的Azure Boards应用。

  2. “计划和定价”下,在 “免费”下,选择“ 安装”。

  3. 安装并授权 Azure Boards中,选择要连接到 Azure Boards 的存储库,然后选择安装并授权

    此示例使用 所有存储库

    屏幕截图显示了“安装和授权”页,其中选择了所有存储库。

  4. 选择要连接到 GitHub.com 的Azure DevOps组织和Azure Boards项目。

    截图显示 Azure Boards 项目设置页面,其中选择组织和项目。

    一次只能连接一个项目。 如果要连接其他项目,请参阅 “配置其他项目或存储库”。

授予 Azure Boards 组织的访问权限

若要授予GitHub对 Azure DevOps 组织的访问权限,请完成以下步骤。

  1. 在 GitHub Web 门户中,从配置文件菜单中打开 Settings

    屏幕截图显示了个人资料中的设置选项。

  2. 集成下选择应用程序

  3. 选择 Authorized GitHub Apps>Azure Boards

    截图显示的是突出显示Azure Boards的已授权GitHub应用。

  4. 组织访问权限下,解决可能出现的所有问题。 选择“授予”,向任何显示为具有“挂起的访问请求”的组织授予访问权限。

    屏幕截图显示了具有访问权限与不具访问权限的组织。

检查第三方应用程序访问策略

确保 GitHub 组织允许 Azure Boards 应用访问第三方应用程序。 如果第三方访问受到限制,则从Azure DevOps添加存储库可能会显示空列表或生成错误。

启用访问权限:

  1. 在GitHub中,打开组织并转到“设置>OAuth 应用策略”。

  2. 单独批准 Azure Boards 应用程序(推荐),或取消对所有第三方应用程序的限制。

    屏幕截图显示了第三方应用程序访问策略。

注释

你必须是组织所有者或管理员才能更改此设置。

在配置好 Azure Boards-GitHub 集成后,您可以将工作项与 GitHub 拉取请求和提交相关联。

以下示例通过创建工作项并将其链接到拉取请求来演示集成:

  1. 在开发板上,选择“ 新建工作项 ”以创建工作项。 在此示例中,请使用标题“向 README 添加徽章”。 工作项类型取决于你的流程:问题(基本)、用户故事(敏捷)或产品积压工作项(Scrum)。

    新的工作项会显示在你的看板上。

  2. 打开工作项并转到 “开发 ”部分。

  3. 选择“添加链接”,然后从“链接类型”菜单中选择GitHub拉取请求

  4. 选择存储库并输入拉取请求 ID。 还可以添加可选注释。

  5. 选择 “添加链接 ”以创建连接。

    Azure Boards在后台自动执行以下操作:

    • 将徽章添加到已连接的 GitHub 仓库列表中第一个仓库的 README 文件中
    • 为徽章更新创建 GitHub 提交
    • 创建 GitHub 拉取请求以合并对自述文件所做的更改
    • 将GitHub提交和拉取请求链接到工作项
  6. 在工作项中,选择拉取请求链接以在GitHub中将其打开。

  7. 在GitHub中选择“合并拉取请求”。

  8. 在你的 GitHub 仓库中,打开 README 文件以确认徽章已添加。 有关详细信息,请参阅配置要添加到 GitHub README 文件中的状态徽章

配置其他项目或存储库

可以配置其他Azure Boards/Azure DevOps项目、GitHub.com 存储库或更改Azure Boards应用页中的当前配置。 有关详细信息,请参阅 添加或删除存储库,或者从 Azure Boards

添加或删除存储库,或者从Azure Boards中删除连接

如果连接出现问题,请删除该连接,并使用新连接重新开始。

  1. 在Azure DevOps中的project中,选择Project设置>GitHub连接

  2. 若要添加或删除存储库,请选择连接的更多操作省略号,然后从菜单中选择添加存储库删除存储库

    截图显示 GitHub 连接菜单的更多选项。

  3. 若要删除所有存储库和连接,请选择删除连接选项。 然后,选择删除进行确认。

    截图显示确认删除了 GitHub 连接。

更改存储库访问

  1. 在 GitHub Web 门户中,从配置文件菜单中打开 Settings

  2. 选择 集成>应用程序。 在已安装的 GitHub 应用下,选择配置

    截图显示已安装的 GitHub 应用程序和 Azure Boards 以及“配置”选项。

    此时会打开Azure Boards配置页。

  3. 向下滚动到存储库访问权限部分。

  4. 选择所需选项所有存储库仅选择存储库

    如果选择 仅选择存储库,请选择要与 Azure Boards 集成的存储库。

    屏幕截图显示了存储库访问权限,可在其中选择所选存储库。

  5. 选择“保存”

暂停或卸载 Azure Boards 集成

  1. 从上一过程中的步骤 2 开始,向下滚动到危险区域部分。

    屏幕截图显示了“危险区域”部分,其中包含用于暂停和卸载的选项。

  2. 若要暂停集成,请选择“暂停”。 在确认窗口中,选择“确定”以确认挂起操作。

    屏幕截图显示了“暂停确认”对话框。

    若要取消暂停集成,请选择 “未暂停”。

  3. 若要卸载Azure Boards应用,请选择“卸载”,然后从弹出窗口中选择“确定”。

    屏幕截图显示了“卸载确认”对话框。

更新 Azure Boards-GitHub 连接

如果更改GitHub Azure Boards应用支持的存储库,可能会重定向到Azure Boards GitHub连接。 最好的做法是删除Azure Boards中无法再连接到GitHub的存储库。 有关详细信息,请参阅 添加或删除GitHub存储库

如果卸载 GitHub Azure Boards 应用,则以下消息显示在 Azure Boards、Project 设置>GitHub 连接中。 选择“删除连接”以删除以前创建的所有GitHub连接。 有关详细信息,请参阅 添加或删除GitHub存储库

Screenshot 显示未安装的 Azure Boards GitHub 应用程序。

排查集成问题

添加存储库时存储库列表为空

如果存储库列表在Azure DevOps中显示为空:

“访问请求待处理”卡住状态

如果组织访问权限仍处于待处理状态:

  • 必须是GitHub组织所有者或管理员才能批准请求。
  • 在授权应用设置的“组织访问权限”部分中,选择“授予”
  • 如果问题仍然存在,请卸载Azure Boards应用,然后按照“安装和配置Azure Boards应用”中的步骤重新安装该应用。

关联拉取请求后徽章未显示

如果在关联拉取请求后,徽章没有显示在 README 文件中:

  • 仅当你关联了拉取请求,且该存储库在你的已连接列表中排在第一位时,才会显示该徽章。
  • 确认你提供链接的 PR 仍处于打开状态(已合并的 PR 不会触发徽章创建)。
  • 检查Azure Boards是否对存储库具有写入访问权限。

身份验证或权限错误

如果在安装过程中看到身份验证错误:

  • 验证你是GitHub中的组织所有者或管理员。
  • 确保GitHub组织没有限制第三方应用程序访问。
  • 检查是否对要连接的存储库具有 读取 权限。
  • 尝试注销GitHub并重新登录,然后重试授权。

后续步骤