【问题标题】:Release environment variables values not getting fetched in TFS Powershell script发布环境变量值未在 TFS Powershell 脚本中获取
【发布时间】:2018-12-31 14:17:51
【问题描述】:

我正在尝试使用 TFS RELEASE_ENVIRONMENTID 和 RELEASE_RELEASEID 的发布变量来获取值,以便我可以检查发布 CD 中的所有步骤是否成功。如果任何步骤失败,则只需回滚更改:

Param([string] $BackupFolderName,[string] $TargetFolderName,[string] $releaseid,[string] $envid)

$releasequeryuri = "http://example.net:8080/tfs/DefaultCollection/82d987654cfd-01ea-46c0-81d1-b2c98768508663/_apis/Release/releases/$(releaseid)/environments/$(envid)/tasks?api-version=3.0-preview.1"
$releasequeryresult = Invoke-RestMethod -Uri $releasequeryuri -Method Get -ContentType "application/json"  -UseDefaultCredentials      

foreach ($i in $releasequeryresult.value)
{
  if ($i.status -eq "failed")
  {

     Get-ChildItem -Path $(BackupFolderName) | Copy-Item -Destination $(TargetFolderName) -Force -Recurse
Write-Host "Copy complete"

   }
   else
   {
   Write-Host "Nothing to copy"
   }

 }

配置变量部分的变量如下:

但它不获取变量的值。当发布管道的初始化作业步骤时,我肯定会得到这些值。任何帮助将不胜感激。

我也尝试将变量值仅作为 RELEASE_RELEASEID 和 RELEASE_ENVIRONMENTID 设置,但未获取这些值。

【问题讨论】:

标签: powershell variables tfs


【解决方案1】:

如果你想在你的 PowerShell 上使用发布环境变量,你不需要创建新的变量,你可以简单地在脚本中使用 TFS 变量:

$envId= $env:RELEASE_RELEASEID
$releasequeryuri = "http://example.net:8080/tfs/DefaultCollection/82d987654cfd-01ea-46c0-81d1-b2c98768508663/_apis/Release/releases/$(releaseid)/environments/$(envId)/tasks?api-version=3.0-preview.1"

【讨论】:

    猜你喜欢
    • 2018-09-16
    • 2013-08-25
    • 1970-01-01
    • 2017-02-23
    • 2011-06-03
    • 1970-01-01
    • 2017-02-22
    • 2021-05-07
    • 2021-10-14
    相关资源
    最近更新 更多