You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Azure DevOps Build REST API时Demands参数未生效求助

解决方案:指定特定代理执行Azure DevOps构建

正确的Demands参数格式

要让系统正确识别代理需求,需采用以下两种有效格式之一:

格式1:字符串数组(推荐)

直接将需求表达式以字符串形式放入数组,这是最简洁且不易出错的写法:

$body = @{
    # 填充其他必填参数(如definition、project等)
    "demands" = @(
        "Agent.Name -equals agent.01"
    )
}

格式2:对象数组(需完整字段)

若使用对象形式定义需求,必须包含name、operator和value三个字段——你之前的写法缺失了operator字段,这是导致需求不生效的核心原因:

$body = @{
    # 填充其他必填参数
    "demands" = @(
        @{
            "name" = "Agent.Name"
            "operator" = "equals"
            "value" = "agent.01"
        }
    )
}

额外验证要点

  • 代理名称需完全匹配:Azure DevOps对代理名称区分大小写,确保输入的名称和目标代理的实际名称(含大小写)一致。
  • 确认代理状态:目标代理需处于在线、未禁用状态,且属于当前构建指定的代理池。
  • 检查构建定义原有需求:如果构建定义本身已配置了代理需求,需保证新增的代理需求和原有需求兼容,避免因需求冲突导致系统无法匹配到目标代理。

内容的提问来源于stack exchange,提问作者Sena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 02:42:41