gpt4 book ai didi

azure-devops - 未评估 Azure Pipelines 合并

转载 作者:行者123 更新时间:2023-12-01 23:48:53 24 4
gpt4 key购买 nike

我有一个模板,我想在其中评估 coalesce(${{ parameters.pipeline }}, $(System.DefinitionId))

据我所知,这是正确的语法:

  - task: DownloadBuildArtifacts@0
inputs:
buildType: 'specific'
project: '$(System.TeamProjectId)'
pipeline: $[ coalesce(${{ parameters.pipeline }}, $(System.DefinitionId)) ]
buildVersionToDownload: latestFromBranch
branchName: $[ coalesce(${{ parameters.branchName }}, $(Build.SourceBranch)) ]
allowPartiallySucceededBuilds: true
downloadType: 'single'
downloadPath: '$(Pipeline.Workspace)'
artifactName: ${{ parameters.artifact }}

但是,当我运行它时,出现了这个错误:

Definition name $[ coalesce(141, 342) ] didn't correspond to a valid definition

认为这可能意味着它没有计算表达式并使用文字字符串'$[ coalesce(141, 342) ]'

看来Build.DefinitionId只在运行时可用,否则我将参数默认设置为${{ Build.DefinitionId }},然后设置管道:${{ parameters.pipeline }}

我在内部使用 $[ ]${{ }}$( ) 语法尝试了十几种不同的变体在 coalesce() 之外。它们都不起作用,但这个是最接近的,因为它实际上正确地替换了变量。

有什么想法吗?

最佳答案

事实证明,我需要将表达式放在作业的 variables 中,并使用 variables['System.DefinitionId'] 而不是 $( ) 语法。

- job: #...
variables:
pipeline: $[ coalesce(${{ parameters.pipeline }}, variables['System.DefinitionId']) ]
branchName: $[ coalesce(${{ parameters.branchName }}, variables['Build.SourceBranch']) ]
steps:
# ...
- task: DownlaodBuildArtifact@0
inputs:
# ...
pipeline: $(pipeline)
branchName: $(branchName)

关于azure-devops - 未评估 Azure Pipelines 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63729875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com