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

Azure Pipeline基于前置任务输出变量设条件报dependencies未识别

问题原因

Azure Pipeline 条件表达式可访问的上下文对象,和条件声明的层级严格绑定:

  • dependencies 对象仅支持在 Job(作业)层级、Stage(阶段)层级 的条件中访问,Task(步骤)层级的执行上下文不存在该对象。你当前把引用dependencies的条件直接写在了JobB下的PowerShell任务步骤上,这就是抛出Unrecognized value: 'dependencies'错误的直接原因。
  • 你预判的StageB条件不会触发同类错误:该条件声明在Stage层级,天然支持访问stageDependencies对象,且你已经配置了dependsOn: StageA建立依赖关系,语法层面是合法的。唯一需要注意的是,如果后续要在StageB下的具体Task步骤中引用跨阶段输出变量,同样不能直接在Task层写stageDependencies,需要先在对应Job的变量块中做映射,再引用本地变量。
修复方案

你的核心需求是通过JobA的输出变量控制JobB作业是否运行,直接把Task上的条件上移到JobB的定义层级即可,Job层级可以正常识别dependencies对象,和你当前dependsOn: JobA的配置完全匹配。
如果你后续有「Job正常启动、仅控制单个步骤是否运行」的需求,只需要先在Job的variables块中把上游输出变量映射为当前Job的本地变量,再在Task条件中引用本地变量即可。

修复后完整可用YAML
trigger:
- none

pool:
  vmImage: 'windows-latest'

variables:
  varBoolA: true
  varBoolB: false

stages:
- stage: StageA
  jobs:
  - job: JobA
    displayName: JobA
    steps:
    - task: PowerShell@2
      displayName: "PS 1"
      name: PSA
      inputs:
        targetType: inline
        script: |
          echo "##vso[task.setvariable variable=varBoolA;isOutput=true]true"
          echo "variable varBoolA ${{ variables.varBoolA }}"

  - job: JobB
    dependsOn: JobA
    displayName: JobB
    # 条件移至Job层级,可正常访问dependencies对象
    condition: and(succeeded(), eq(dependencies.JobA.outputs['PSA.varBoolA'], 'true'))
    steps:
    - task: PowerShell@2
      displayName: "PS 2"
      name: PSB
      inputs:
        targetType: inline
        script: |
          echo "##vso[task.setvariable variable=varBoolB;isOutput=true]false"
          echo "variable varBoolB ${{ variables.varBoolB }}"

- stage: StageB
  dependsOn: StageA
  # Stage层级条件可正常访问stageDependencies,无需修改
  condition: and(succeeded(), eq(stageDependencies.StageA.JobA.outputs['PSA.varBoolA'], 'true'))
  jobs:
    - job: JobC
      displayName: JobC
      steps:
      - task: PowerShell@2
        displayName: "PS 3"
        name: PSC
        inputs:
          targetType: inline
          script: |
            echo "Stage B"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 14:01:13