支持 Wiki 中的子页表

现在可以向 Wiki 页面添加子页表,以便查看内容和链接。 在 Boards 中,现在可以向泳道添加颜色,并锁定自定义字段不被编辑。 我们还继续在安全性方面进行投资,并添加了用于管理管道授权、审批和检查的新 PAT 范围。

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

Azure Boards

Azure Pipelines

Wiki

Azure Boards

阻止编辑可共享选取列表字段

自定义字段跨进程共享。 这可能导致选择列表字段出现问题,因为我们允许进程管理员在字段中添加或删除值。 执行此操作时,更改会影响使用该字段的每个进程。

为了解决此问题,我们添加了集合管理员“锁定”字段不被编辑的功能。 锁定选取列表字段时,本地进程管理员无法更改该选取列表的值。 他们只能从进程添加或删除字段。

Gif to demo editing of shareable picklist fields.

泳道颜色

在看板中,泳道有助于可视化支持不同服务级别类的工作状态。 现在,你可以向泳道添加颜色,使其更易于在板中识别。

Gif to demo adding color to swimlanes.

注意

此功能仅适用于 新板中心 预览版。

Azure Pipelines

用于管理管道授权和审批和检查的新 PAT 范围

为了限制通过泄露 PAT 令牌造成的损害,我们添加了名为 的新 PAT 范围 Pipeline Resources。 在使用 受保护的资源(例如服务连接)管理管道授权时,可以使用此 PAT 范围,或者管理 审批和检查 该资源。

Pipelines REST API Updates

以下 REST API 调用支持新的 PAT 范围,如下所示:

管道权限改进体验

我们改进了有关管理管道权限的体验,使权限系统记住管道以前是否使用了受保护的资源(例如服务连接)。

过去,如果在创建受保护资源时选中了“向所有管道授予访问权限”,但随后限制了对资源的访问,则管道需要新的授权才能使用该资源。 此行为与后续打开和关闭对资源的访问不一致,其中不需要新的授权。 此问题现在已修复。

检查中的变量作为输入

审批和检查 是一种运行时安全机制,它允许资源所有者控制哪些管道 运行 可以使用其资源。

两种常用检查是 调用 Azure 函数调用 REST API。 过去,在配置它们时,只能使用 预定义的系统变量变量组

在此冲刺中,我们添加了对管道定义的变量的支持。 当为此类检查指定 Function keyHeadersBodyQuery 参数时,此方法有效。

假设你有以下 YAML 管道。 请注意,我们定义了变量 FunctionKeyMyHeaderMyBodyMyQuery以及运行时定义的名为 的RetryCount变量。

variables:
  FunctionKey: <<redacted>>
  MyHeader: "FabrikamHeader"
  MyQuery: "FabrikamQuery"
  MyBody: "FabrikamBody"

stages: 
- stage: Build
  jobs:
  - job: SetRC
    steps:
    - script: echo "##vso[task.setvariable variable=RetryCount;isOutput=true]3"
      name: RCValue
- stage: Deploy
  jobs:
  - deployment: 
    environment: Production
    strategy:
      runOnce:
        deploy:
          steps:
          - script: ./deploy.sh

可以在生产环境中配置调用 Azure 函数检查,并引用 $(FunctionKey)$(MyHeader)$(MyBody)$(MyQuery)$(Build.SetRC.RCValue.RetryCount),如以下屏幕截图所示。

Invoke Azure Function

使用运行时定义的变量的语法为 StageId.JobId.StepOrTaskName.Variable

详细了解使用调用 Azure 函数和 REST API 检查的建议方法。

能够禁用短机密的掩码

Azure Pipelines 会屏蔽日志中的机密。 机密可以是标记为机密的变量、链接到 Azure 密钥保管库的变量组中的变量,也可以是服务连接提供程序标记为机密的服务连接的元素。

机密值的所有匹配项都会被屏蔽。 屏蔽短机密(例如“”、“12”、“”Dev)可以轻松猜测其值,例如在日期中:“”Jan 3, 202***
现在很明显,“”3是一个秘密。 在这种情况下,你可能不希望完全屏蔽机密。 如果无法将值标记为机密 (例如该值取自密钥保管库) ,则可以将AZP_IGNORE_SECRETS_SHORTER_THAN旋钮设置为最多 4 的值。

用于自行验证管道代理版本的脚本

我们目前有两个版本的管道代理:v2 使用 .NET 3.1 核心版,v3 使用 .NET 6。 我们将逐步将 v3 代理推出到支持的操作系统,然后停用 v2 代理。 有关详细信息,请参阅 升级适用于 Azure Pipelines 的 .NET 代理博客文章

我们创建了一个 脚本 来帮助你验证自承载代理是否能够升级。 此脚本将处理组织中的所有池,并确定 v3 代理不支持的操作系统上的 v2 代理,例如 CentOS 6、31 之前的 Fedora 版本、macOS 10.14、RHEL 6。

注意

v2 代理的最近版本不会尝试在已知与 v3 代理不兼容的操作系统上自动升级到 v3 代理。

管道运行状态概述图标

在此冲刺中,我们将更轻松地了解管道运行的总体状态。

对于具有多个阶段的 YAML 管道,过去很难知道管道运行的状态,即管道运行仍在运行还是已完成。 如果完成,则总体状态是什么:成功、失败或已取消。 我们通过添加运行状态概述图标修复了此问题。

Pipeline run status overview icon

Wiki

支持子页表

现在可以将子页面的目录添加到 Wiki 页面。 此表将包含指向显示子页表的页面下的所有子页的链接。

可以通过手动插入特殊标记 [[_TOSP_]] 或通过 “更多”选项 添加子页表,如下面的动画图像所示。 仅使用第一个 [[_TOSP_]] 标记来创建子页表。

此功能根据以下社区建议票证确定优先级:

后续步骤

注意

这些功能将在未来两到三周内推出。

前往 Azure DevOps 并了解一下。

如何提供反馈

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

Make a suggestion

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

此致

拉杰什·拉马穆尔蒂