与 GitHub 功能进行集成的时间线和路线图

路线图

以下部分介绍 Azure Boards 与 GitHub 集成正在开发的新功能。

  • 云代理的模型选择:使用工作项中的 Copilot 云代理时,用户可以从模型列表中选择。

提供的功能

远程 MCP 服务器(公共预览版)

此托管终结点可实现与 Azure DevOps 的无缝集成,而无需管理本地服务器。 目前,Visual Studio 和 Visual Studio Code 支持此功能,对其他客户端和服务(包括 Microsoft Foundry 和 Copilot Studio)的支持即将推出。

根据您所使用的工具,只需将以下服务器信息添加到您的 mcp.json

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http"
    }
  },
  "inputs": []
}

可以使用更多配置选项自定义设置。 了解详细信息

限额提升

将 GitHub 存储库链接到 Azure DevOps 项目时的按连接限制现在更高。 Web 体验中的新最大限制现在为 2,000,与通过 更新 REST API 提供的限制相匹配。

支持自定义代理

Azure Boards 与 GitHub Copilot 的集成现在支持选择自定义代理。 在存储库或组织级别创建自定义代理时,它会自动显示在 Azure DevOps 中。 从工作项创建拉取请求时,会在存储库列表旁边看到新的代理选择控件。

显示存储库列表旁边的自定义代理选择控件的屏幕截图。

选择自定义代理并选择 “创建”后,代理将生成代码更改,并在所选存储库中创建拉取请求。

适用于 Azure Boards 的 GitHub Copilot 云代理

通过适用于 Azure Boards 的 GitHub Copilot 集成,团队可以通过直接从 Azure Boards 工作项生成代码更改,从规划到实现更无缝地迁移。

开发人员可以在工作项中使用 Copilot,选择目标 GitHub 存储库和分支,并创建一个草稿拉取请求,该请求将与原始工作项关联,从而提供从工作跟踪到代码的端到端可跟踪性。

屏幕截图显示如何从工作项创建草稿 PR。

Azure DevOps 本地 MCP 服务器

适用于 Azure DevOps 的本地 MCP 服务器提供增强的身份验证和授权、新的和精简的工具,并引入了“域”来帮助限定工具和管理客户端限制的范围。

MCP 服务器将 AI 助手(如 GitHub Copilot 和 Azure DevOps)桥接到工作项、wiki、测试计划等,以便您可以安全地从自己的环境中访问和交互这些内容。

有关安装说明、示例和贡献指南,请访问 Azure DevOps MCP 服务器存储库

改进 GitHub 集成和安全性的 Bug 修复

此冲刺团队解决了几个关键 bug,以提高 Azure Boards GitHub 集成的安全性和可靠性:

  • 修复了与访问令牌处理相关的多个问题,包括无法撤销令牌、使用过度宽松的范围和缺少令牌验证
  • 解决了 GitHub 连接和分支创建流中的特权升级漏洞
  • 断开连接后删除了 GitHub PAT 的永久性存储,以防止意外访问
  • 已避免在 CORS 配置中使用通配符来源,以强制实施更严格的安全控制。
  • 通过轮换 GitHub 客户端机密并停止跨组织全局共享改进了机密管理
  • 删除服务连接时增强的日志记录和可审核性
  • 解决了由于配置错误的 webhook 导致的潜在信息泄漏

GitHub 集成:拉取请求提及

现在你可以使用 ! 提及直接从任何大型文本字段或评论中引用和讨论 GitHub 拉取请求。

显示 GitHub 拉取请求提及的 GIF。

GitHub 集成:状态转换支持

集成现在支持将 GitHub 拉取请求链接到 Azure Boards 工作项。 以前,仅支持关键字 Fixes AB#{ID} 。 通过此更新,现在可以用于 {State or Category} AB#{ID} 自动将工作项转换为合并时所需的状态。

如果 GitHub 拉取请求说明包含状态名称(例如, Validate AB#1234),则链接的工作项的状态会因此更新。 如果无法识别状态名称,系统将检查它是否与状态类别(如 Resolved) 匹配。 如果这样做,工作项将转换为该类别中的第一个可用状态。

如果未找到匹配的状态或类别,则忽略关键字,并且不会更新工作项的状态。

最后,Fixes AB#{ID} 关键字继续按预期工作,默认使用状态值“Closed”。

GitHub 集成:链接到提交、分支和拉取请求的改进

Azure DevOps 团队不断改进 Boards + GitHub 集成,以缩小可用性差距,并与你在 Azure Repos 中熟悉的体验保持一致。

通过此次更新,团队引入了几项改进,以简化分支、拉取请求和提交与工作项的链接方式:

  • 将 GitHub 分支链接到工作项时,将自动链接任何关联的拉取请求。 无需手动使用 AB#。

  • 合并拉取请求后,合并提交会自动链接到此工作项。

  • 如果在合并拉取请求后删除分支,则会自动从工作项中删除分支链接。

通过这些改进,可以更轻松地跟踪开发进度并维持干净、最新的工作项关联。

针对 GitHub 板集成改进的 Gif。

GitHub 集成:显示 YAML 管道的生成状态

Microsoft致力于实现YAML和经典管道之间的功能等同性。 缺少的关键功能之一是在 GitHub 中托管存储库时提供“在生成中集成”链接的能力。 最新版本在 YAML 管道设置中添加了一个选项,以便您检查,从而解决了此差距。

当构建结束后,相关链接会自动显示在关联的工作项上,从而提升整体的可追溯性能力。

GitHub 集成:链接合并提交

现在,完成拉取请求时,系统会将合并提交自动链接到其相应的工作项。

增加连接的 GitHub 存储库的限制

在过去的几个月里,产品团队增强了将 GitHub 存储库连接到 Azure DevOps 项目的用户体验和可伸缩性。 在此冲刺中,团队将最大限制从 500 个提高到 1,000 个存储库,让你能够更有能力管理项目。

GitHub 拉取请求见解

产品团队增强了 GitHub 拉取请求与 Azure Boards 之间的集成。 除了显示打开和关闭状态外,你现在还可以查看拉取请求是否处于草稿模式、是否需要审阅以及检查状态。 无需打开拉取请求即可完成所有操作。

用于演示增强的 GitHub 拉取请求见解的 Gif。

要启用此功能,请确保转到 GitHub 中的 Boards 应用,以接受对 Checks 的读写权限的请求更新权限。

连接到 GitHub 存储库搜索的改进

现在,将 Azure DevOps 项目连接到 GitHub 组织已经过优化,特别适合管理成千上万个存储库的用户。 搜索和选择体验消除了超时错误的风险,并使连接过程更顺畅、更高效。

添加 GitHub 存储库的屏幕截图。

从工作项创建 GitHub 分支

现在,可以直接从 Azure DevOps 中的工作项创建 GitHub 分支。 每当 为项目配置 GitHub 连接时,“新建 GitHub Branch”链接都可用。 此链接在所有工作项上下文菜单中都可用,包括工作项窗体、卡片、积压工作和查询。 若要创建新分支,请输入分支名称,然后选择所需的存储库并基础分支。

用于演示从工作项创建 GitHub 分支的 Gif。

通过搜索并选择所需的存储库,将工作项链接到 GitHub,然后向下钻取以查找并链接到特定的拉取请求或提交。 不再需要多个窗口更改和复制/粘贴(尽管仍具有该选项)。

用于展示改进链接的 Gif。

作为 Azure Boards + GitHub 集成的持续增强的一部分,预览功能可改善 AB# 链接的体验。 通过此更新,你的 AB# 链接现在直接显示在 GitHub 拉取请求的开发部分中。 无需浏览说明或注释即可查看链接的工作项,从而更轻松地访问这些 AB# 链接。

AB# 链接的屏幕截图。

只有在拉取请求说明中使用 AB# 时,这些链接才可用。 如果你从工作项直接链接拉取请求,它们不会显示。 从说明中删除 AB# 链接也会将其从开发控件中删除。