Search code examples
azuretagsazure-pipelines

Azure pipeline ##vso[build.addbuildtag] does not work



I have a problem with adding buildtag to one specific pipeline.
When i use this code with normal string it adds tag successfully:
- bash: |
    echo "##vso[build.addbuildtag]TEST_TAG"
  displayName: 'Add TAG to Run'
  env:
    AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)

but when i use it with variable it throws me an error.
The funniest thing is that same code with variable works fine in another pipeline:

- bash: |
    echo "##vso[build.addbuildtag]$(ChangeNumber)"
  displayName: 'Add TAG to Run'
  env:
    AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)

Error:

##[error]Unable to process command '##vso[build.addbuildtag]' successfully. Please reference documentation (http://go.microsoft.com/fwlink/?LinkId=817296)
##[error]Build tag is required.

Variable is fine because i "echo" it earlier successfully. What might be the issue?


Solution

  • I figured out that variable was an issue and that it was defined but not passed to another tasks, so the solution is:

        - task: Bash@3
          displayName: 'Add TAG to Run'
          name: TAG
          inputs:
            targetType: "inline"
            script: |
              ChangeNumber=$(<$(System.ArtifactsDirectory)/variables/ChangeNumber.var)
              echo "##vso[task.setvariable variable=ChangeNumber;isOutput=true]$ChangeNumber"
              echo "##vso[build.addbuildtag]$ChangeNumber"
            failOnStderr: true