根据参数设置 YAML 变量值

Set YAML variable value based on parameters

有点卡在这一点上,无法找到该示例的任何明确文档。

我有一些参数到 YAML 管道,如下所示(SonarProjectKey 和 sonarProjectName)。我正在尝试根据这些参数是否有值将变量设置为 true 或 false。

我特意将它们设置为初始值“ ”,这样您就可以 运行 管道而无需提供值。

以下示例不起作用:

   parameters:
    - name: sonarProjectKey                                 # Sonar project key parameter
      displayName: Sonar Project Key
      default: ' '
    - name: sonarProjectName        
      displayName: Sonar Project Name
      default: ' '  
    
    variables:
    - name: runSonarAnalysis
      value: $[and( not(eq('${{ parameters.sonarProjectKey }}', '')), not(eq('${{ parameters.sonarProjectName }}', '')))]

我已经尝试了很多不同的方法,但似乎无法让它发挥作用。

有人请帮忙!

尝试使用以下语法创建变量

parameters:
- name: sonarProjectKey                                 # Sonar project key parameter
  displayName: Sonar Project Key
  default: ' '
- name: sonarProjectName        
  displayName: Sonar Project Name
  default: ' '    
variables:
- ${{ if eq(${{ parameters.sonarProjectKey }}', ' ' ) }}:
- name: runSonarAnalysis
  value: false
- ${{ else }}:
- name: runSonarAnalysis
  value: true