创建发布时如何获取发布日期变量或构建日期变量

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

我想获取发布开始日期或构建日期,并在我的部署应用程序中使用此日期字符串,但我没有在预定义变量 wiki 中找到它 https://docs.microsoft.com/en-us/azure/devops/pipelines/release/variables?view=azure-devops&tabs=batch

有人知道怎么弄吗?或者不存在日期的预定义变量?

刚刚找到了操作方法!欢迎任何更好的方法!

  1. 将发布名称 formate 设置为 $(Date:yyyyMMdd)

  2. 在管道的部署任务中使用 $(Release.ReleaseName)

你总是可以休息得到完整的信息api:Get Release

获取创建日期和时间的小例子:

  1. 向您的发布定义添加一个新变量 (Release variables and debugging)。 rl.CreatedDateTime 就我而言
  2. 在作业级别设置对令牌的访问权限

  1. 添加以下 powershell 内联脚本来更新您的变量。

    $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