Azure devops azure devOps yml管道:将布尔值传递给任务prisma云计算-scan@2用模板编写

Azure devops azure devOps yml管道:将布尔值传递给任务prisma云计算-scan@2用模板编写,azure-devops,yaml,azure-pipelines,Azure Devops,Yaml,Azure Pipelines,我想将布尔值发送到任务“prisma云计算”-scan@2'写入模板文件中。 它总是给出下面的错误。 错误:“prisma_continue_on_Error”参数值“$(prismaContinueOnError)”不是有效的布尔值 主管道abc.yml resources: repositories: - repository: templates type: git name: my_projects/my-build-templates r

我想将布尔值发送到任务“prisma云计算”-scan@2'写入模板文件中。 它总是给出下面的错误。 错误:“prisma_continue_on_Error”参数值“$(prismaContinueOnError)”不是有效的布尔值

主管道abc.yml

resources:
  repositories:
    - repository: templates
      type: git
      name: my_projects/my-build-templates
      ref: refs/heads/features/add-build-template
variables:
  name: prismaContinueOnError
  value: false
  isMainBranch: $[eq(variables['Build.SourceBranch'], 'refs/heads/master')]
    
stages:
  - stage: "Build"
    displayName: Build
    jobs:
    - template: my_build_stage/my_template.yml@templates
      parameters:
        prisma_continue_on_error: $(prismaContinueOnError)
parameters:
- name: prisma_continue_on_error
  type: boolean
  default: false
- name: pool_name
  type: string
  default: abc_pool
jobs:
  - job: Build
    pool:
      name: ${{parameters.pool_name}}
    steps:  
    - task: prisma-cloud-compute-scan@2
      inputs:
        scanType: 'images'
        twistlockService: 'SERVICE_CONNECTIONM_NAME'
        artifact: ...
      continueOnError: ${{parameters.prisma_continue_on_error}}
模板我的模板.yml

resources:
  repositories:
    - repository: templates
      type: git
      name: my_projects/my-build-templates
      ref: refs/heads/features/add-build-template
variables:
  name: prismaContinueOnError
  value: false
  isMainBranch: $[eq(variables['Build.SourceBranch'], 'refs/heads/master')]
    
stages:
  - stage: "Build"
    displayName: Build
    jobs:
    - template: my_build_stage/my_template.yml@templates
      parameters:
        prisma_continue_on_error: $(prismaContinueOnError)
parameters:
- name: prisma_continue_on_error
  type: boolean
  default: false
- name: pool_name
  type: string
  default: abc_pool
jobs:
  - job: Build
    pool:
      name: ${{parameters.pool_name}}
    steps:  
    - task: prisma-cloud-compute-scan@2
      inputs:
        scanType: 'images'
        twistlockService: 'SERVICE_CONNECTIONM_NAME'
        artifact: ...
      continueOnError: ${{parameters.prisma_continue_on_error}}

这里有混合语法吗

variables:
  name: prismaContinueOnError
  value: false
  isMainBranch: $[eq(variables['Build.SourceBranch'], 'refs/heads/master')]
应该是:

variables:
  prismaContinueOnError: false
  isMainBranch: $[eq(variables['Build.SourceBranch'], 'refs/heads/master')]
但这并不能解决问题,因为变量只是字符串。不能有布尔类型的变量。您需要传递延迟类型计算的运行时表达式:

stages:
  - stage: "Build"
    displayName: Build
    jobs:
    - template: my_build_stage/my_template.yml@templates
      parameters:
        prisma_continue_on_error: ${{ variables.prismaContinueOnError }}

没有得到你的最新信息。只是想看看下面的答案是否对你有帮助?如果是的话,你可以,这也可以为其他谁与你有相同的难题,我们可以存档此线程受益。另外,如果还有任何疑问,请随时在下面留言:-)祝你有一个愉快的一天。