GitHub 拉取请求中的增强 AB# 链接跟踪

通过此更新,AB# 链接现在直接显示在 GitHub 拉取请求 的开发部分中,只要它们包含在拉取请求说明中。 此增强功能简化了通过 Azure Boards 和 GitHub 集成访问链接的工作项。

我们还对引入增强型监视工具感到兴奋,能够更深入地了解存储库的运行状况,并帮助你更高效地维护其性能!

有关详细信息,请查看发行说明。

适用于 Azure DevOps 的 GitHub Advanced Security

Azure Boards:

Azure Repos

Azure Pipelines

Azure Test Plans:

适用于 Azure DevOps 的 GitHub Advanced Security

拉取请求分支现在在高级安全分支选取器中可见

拉取请求分支以前在分支选取器中隐藏,尽管可以扫描拉取请求分支。 现在,这些分支在高级安全分支选取器中可见,可以搜索。

拉取请求分支的屏幕截图。

高级安全性中默认分支更改的自动更新

过去,“高级安全存储库”选项卡在更改默认分支时不会自动更新,需要在分支选取器中手动选择新分支。 现在,选项卡会在访问页面时自动检测并显示新指定的默认分支的警报。

此外,安全概述会更新以反映默认分支更改,尽管在处理更新的警报结果之前可能会稍有延迟。

高级安全性的通用第三方 SARIF 支持

现在可以从第三方扫描工具上传结果,以在“高级安全代码扫描”选项卡中显示。

使用将 SARIF 文件 $(Agent.TempDirectory)/.advsec 发布到目录的扫描工具,符合 SARIF 2.1 标准,并在任务将结果上传到代码扫描选项卡后运行 AdvancedSecurity-Publish@1

注意

与 SARIF 文件中的结果关联的文件路径必须可供 AdvancedSecurity-Publish@1 生成代理中运行的任务访问。

警报规则 ID 现在集成到结果指纹中

以前,具有相同指纹、哈希、工具和规则名称的第三方工具结果被分组到一个警报中,即使它们具有不同的规则 ID。

通过此更新,规则 ID 现在包含在指纹中,即使其他数据点相同,也会为具有不同规则 ID 的结果创建单独的警报。 将相应地更新和拆分现有警报。

扩展的机密扫描检测集

我们正在扩展可以使用机密扫描检测到的合作伙伴模式集。 此扩展为新的令牌类型带来了几种高置信度模式。

有关 GitHub 高级安全机密扫描检测到的合作伙伴模式类型的详细信息,请参阅 适用于 Azure DevOps 的 GitHub 高级安全性的机密扫描警报。

Azure Boards

作为 Azure Boards + GitHub 集成的持续增强的一部分,我们很高兴推出一项新功能来简化 AB# 链接的显示方式。 通过此更新,AB# 链接现在直接显示在 GitHub 拉取请求 的开发部分中,使无需搜索说明或注释即可更轻松地访问链接的工作项。

GitHub 拉取请求的屏幕截图。

仅当 AB# 包含在拉取请求说明中时,才会显示这些链接。 如果直接从工作项链接,它们将不会显示在“开发”部分中。 此外,从说明中删除 AB# 链接会将其从开发控件中删除。

用于连接 GitHub 存储库的 REST API 支持

我们引入了新的 REST API 终结点,使你能够自动在 Azure DevOps Projects 中添加和删除 GitHub 存储库。 此外,在使用这些终结点时,我们将每个连接的存储库限制从 500 增加到 2,000。

这些终结点包括:

我们还 提供了示例代码 来帮助你入门。

永久删除附件

在某些情况下,只是从工作项中删除附件可能无法完全解决安全风险,尤其是在文件被标记为恶意时。 仍可在其他工作项、批注或外部频道中访问附件的共享链接。 为了解决此问题,我们添加了一项功能,允许具有“永久删除工作项”权限的用户永久删除附件。

永久删除工作项附件的 SScreenshot。

此操作可以从工作项窗体上的“附件”选项卡(位于名为“已删除附件”的新部分下)执行。 只有拥有永久删除工作项所需权限的用户才能看到此部分。

一旦附件被永久删除,所有相关链接都会返回“文件附件不存在”错误。

注意

此功能仅在新版块中心提供。

Azure Repos

存储库文件中心的新“运行状况和使用情况”面板

随着 Git 存储库的增长,它们会累积提交、Blob 和其他数据,从而增加 Azure DevOps 基础结构上的负载,从而影响性能和用户体验。 维护正常的存储库是确保一致性能和可靠性的关键。

为了支持此功能,我们现在监视多种因素,例如存储库大小、提交频率、内容和结构。 如果存储库开始使基础结构紧张,则你可能会收到一条包含纠正措施建议的通知。 通过管理存储库的运行状况,可以防止中断并确保顺利运行。

若要检查存储库的运行状况,请转到 Azure Repos、文件, > 然后从省略号菜单中选择“运行状况和使用情况”,以访问存储库运行状况和使用情况面板。

运行状况和使用情况的屏幕截图。

Azure Pipelines

Azure Pipeline 代理 v4 在 .NET 8 上运行

Azure Pipeline 代理 v3 当前使用 .NET 6,但由于 .NET 6 使用寿命即将结束,我们正在将代理升级到 .NET 8。 此更新将在未来几周内推出。

如果在 .NET 8 不支持的操作系统上使用自承载代理,则代理不会升级到 v4。 相反,如果管道在不支持的操作系统上运行,将会在管道日志中显示警告。 可以使用 QueryAgentPoolsForCompatibleOS.ps1 脚本 主动识别在已过时操作系统上运行的任何管道代理。

更新的 v4 代理不支持以下操作系统版本:

  • Alpine Linux 3.13 - 3.16
  • Debian 10
  • Fedora 36 - 38
  • macOS 10 和 11
  • openSUSE 15.0 - 15.4
  • Oracle Linux 7
  • Red Hat Enterprise Linux 7
  • SUSE Enterprise Linux 12
  • Ubuntu,16.04,18.04
  • Windows 7、8 和 10 最高为 21H2

shell 任务参数验证的预览模式

可以通过在组织或项目设置中启用 shell 任务参数验证来保护 shell 任务(如Bash@3BatchScript@1CmdLine@2PowerShell@2)免受命令注入的保护。

启用 shell 任务参数验证可能会中断现有脚本,因为输入验证拒绝了输入。 例如,某些字符被视为命令分隔符,并在启用此设置时被拒绝。

为了使此转换更流畅,我们添加了预览模式。 启用预览模式后,会在管道和审核日志中收到警告,让你能够了解潜在问题,而不会中断任务或工作流。

转到“组织设置管道>设置>”>任务限制>审核:

启用审核的常规屏幕截图。

Azure Test Plans

用于测试用例执行的无缝生成管道集成

通过无缝集成生成管道配置,我们简化了测试用例执行过程。 在测试计划级别设置的生成定义和 ID 现在会自动传播到 Web 运行程序,无需每次手动配置。 这种改进可节省时间并提高效率,使你能够专注于更关键的任务。

Gif 演示测试用例执行的管道集成。

清单 V3 中的测试和反馈扩展(Edge 版本)

我们已逐步在 Chrome 中发布此升级,现在我们正在将推出扩展到 Edge。

此更新根据 Google 的清单 V2 弃用计划将实现从清单 V2 转换到 V3。 虽然扩展的核心功能保持不变,但更新可增强安全性和性能。

有关更多详细信息,请查看我们最近关于此更新的博客文章。 清单 V3 中的测试和反馈扩展

后续步骤

注意

我们正在推出该功能。 在你的组织中接收它取决于各种因素,如果你还没有它,它可能会在以后到达。

前往 Azure DevOps 并了解一下。

如何提供反馈

我们很想听听你对这些功能的看法。 使用帮助菜单报告问题或提供建议。

提出建议

你还可以在 Stack Overflow 上获得社区的建议和问题的答案。

此致

Dan Hellem