TFS 2017 构建期间变更发布摘要说明

TFS 2017 Change Release summary description during build

我们正在使用 Team Foundation Server 2017。经过大量发布的定义制定后,我遇到了一个问题。

在发布期间,我收到一条消息,我会直接将其写入发布描述摘要中。我在 Marketstore 中查找了这样的 activity,但没有找到。

我是不是找不到合适的 activity 或者有其他更新方法吗?

目前,您只能使用 Logging command 更新版本名称,这需要代理版本 2.132+。因此,更新发布描述的唯一方法是在发布定义中添加 powershell 脚本。脚本如下:

param (
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[string] $token
)

## Construct a basic auth head using PAT
function BasicAuthHeader()
{
param([string]$authtoken)

$ba = (":{0}" -f $authtoken)
$ba = [System.Text.Encoding]::UTF8.GetBytes($ba)
$ba = [System.Convert]::ToBase64String($ba)
$h = @{Authorization=("Basic{0}" -f $ba);ContentType="application/json"}
return $h
}

$getReleaseUri = "http://TFS2017:8080/tfs/DefaultCollection/TeamProject/_apis/release/releases/$($env:RELEASE_RELEASEID)?api-version=3.2-preview"


$h = BasicAuthHeader $token

$release = Invoke-RestMethod -Uri $getReleaseUri -Headers $h -Method Get

# Update an existing variable named d1 to its new value d5
$release.description = "this is a test";

####****************** update the modified object **************************
$release2 = $release | ConvertTo-Json -Depth 100
$release2 = [Text.Encoding]::UTF8.GetBytes($release2)

$updateReleaseUri = "http://TFS2017:8080/tfs/DefaultCollection/TeamProject/_apis/release/releases/$($env:Release_ReleaseId)?api-version=3.2-preview"
$content2 = Invoke-RestMethod -Uri $updateReleaseUri -Method Put -Headers $h -ContentType “application/json” -Body $release2 -Verbose -Debug

write-host "=========================================================="

并带有参数 -token {PAT}。查看下面的屏幕截图:

我这边测试过,可以成功更新版本描述。