title: How to capture and retain the artifact package version for Universal artifacts in azure pipelines for cd
body: <p>I have this azure devops ci/cd pipeline using yaml. My yaml has two stages CI and CD. My CI stage has one job called <strong>BuildandDeploy</strong>. The CD stage has one deployment job. I am using universal artifacts to publish and downloading the same. In the CD phase I am using <code>UniversalPackages</code> devops task to download the artifact. The task has a input variable called <strong>vstsPackageVersion</strong> which is the package version that is shown in universal artifacts. I have known of two other variables that could be used <code>$(Build.BuildId)</code> and <code>$(Build.BuildNumber)</code>. As a temporary work around I am hard coding the package version for the universal artifact. </p>
  
  <p>I wasn't able to download the artifact with either of the built-in variables. Since the CI and CD are in the same pipeline, is there any way to store and retrieve the package version of the artifact? Is there a identifier like <code>latest</code> that I could use to get the latest artifact from universal package.     </p>
  
  <pre><code># specific branch build with batching
  trigger:
    batch: true
    branches:
      include:
      - master
  
  stages:
  - stage: CI
    jobs:
    - job: BuildAndPublish
      pool:
        vmImage: 'Ubuntu-16.04'
      steps:
      - 
        script: |
            docker build -t $(dockerId).azurecr.io/$(imageName):$(version) .
            docker login -u $(dockerId) -p $(pswd) $(dockerId).azurecr.io 
            docker push $(dockerId).azurecr.io/$(imageName):$(version)
  
      - task: Bash@3
        displayName: Initialize Helm Client - create local repo
        inputs:
          targetType: 'inline'
          script: '
            helm init --client-only
          '
      - task: HelmDeploy@0
        displayName: Package helm chart 
        inputs:
          connectionType: 'Kubernetes Service Connection'
          command: 'package'
          chartPath: 'my-helm-dir'
  
      - task: UniversalPackages@0
        displayName: Publish helm package to my-company-artifacts
        inputs:
          command: 'publish'
          publishDirectory: '$(Build.ArtifactStagingDirectory)'
          feedsToUsePublish: 'internal'
          vstsFeedPublish: '$(my-feed-guid)'
          vstsFeedPackagePublish: 'my-artifact-name'
          versionOption: patch
          packagePublishDescription: 'My helm package descrition'
  
  - stage: CD
    jobs:
    - deployment: DeployJob
      displayName: Deploy Job
      pool:
        vmImage: Ubuntu-16.04
      environment: dev
      strategy:
        runOnce:    
          deploy:
            steps:
            - task: UniversalPackages@0
              displayName: 'Universal download'
              inputs:
                command: download
                vstsFeed: '$(my-feed-name)'
                vstsFeedPackage: 'my-artifact-name'
                vstsPackageVersion: 0.0.32
  
            - task: ExtractFiles@1
              displayName: 'Extract files '
              inputs:
                archiveFilePatterns: '*.tgz'
                destinationFolder: 'my-folder'
                cleanDestinationFolder: true
  </code></pre>