How to get Release Date Variable or Build Date Variable when a Release created

Viewed 1058
2 Answers

Just found how to do it! Any better ways are welcomed!

  1. set the release name formate as $(Date:yyyyMMdd) enter image description here

  2. Use $(Release.ReleaseName) in your deployment task of your pipeline

You always can get full information with rest api: Get Release

Small example to get created date and time:

  1. Add to your release definition a new variable (Release variables and debugging). rl.CreatedDateTime in my case
  2. Set access to the token on the job level

enter image description here

  1. Add the following powershell inline script to update your variable.

    $user = ""
    $token = "$(System.AccessToken)"
    $teamProject = "$(System.TeamProject)"
    $releaseId = "$(Release.ReleaseId)"
    $orgUrl = "$(System.CollectionUri)"
    $orgUrlrel = $orgUrl -replace "dev", "vsrm.dev" 
    
    $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
    
    $uriGetRelease = "$orgUrlrel/$teamProject/_apis/release/releases/$releaseId"+"?api-version=5.1"
    
    $resultStatus = Invoke-RestMethod -Uri $uriGetRelease -Method Get -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
    
    [datetime]$releaseDate = $resultStatus.createdOn
    
    $setDateTimeVar = "##vso[task.setvariable variable=rl.CreatedDateTime]" + $releaseDate
    
    Write-Host $setDateTimeVar
    
Related