2017-11-29 25 views
1

環境(QA、ステージ...)以上のリリース定義があります。環境の中で、私はエージェントフェーズをしました。エージェントフェーズでは、私はタスクグループを持っています。最初は、リリース定義にトリガオプション(QA-auto、Stage-manual)があります。私は何をしようとしてきたことである:更新リリース定義の更新後にワークフロータスク(タスクグループ)が失われました

  1. ダウンロードリリース定義

  2. Updateリリース定義(ちょうどautoにマニュアルからステージング環境のためのトリガーオプションを変更)

  3. インポートリリース定義。

私がダウンロードした後、更新およびインポートリリース定義は、エージェント相の名前が自動的に環境と同じ名前に変更され、タスクグループが失われました。私は歴史に行き、diffをしました。エージェントのフェーズ名が変更され、Workflowtaskセクション全体がすべての環境でなくなっています。ダウンロードして更新したjsonファイルをチェックしましたが、workflowtaskセクションがあります。何かが見つからないのですか、これはバグですか?以下は私のPowerShellスクリプトです。お知らせ下さい。あなたのコード内でこの部分によると

$releaseuri = $tpcUri + "/" + $teamprojectname + "/_apis/Release/definitions/" + $releaseid # + "?api-version=4.0-preview.3" 

Write-Host $releaseuri 
$releasetemplate = $downloadlocation + "\" + $releasetemplatename 
Write-Host $releasetemplate 
# Get release definition and save to local computer 
$Jsonfile = Invoke-RestMethod -Uri $releaseuri -Method Get -UseDefaultCredentials 
$Jsonfile | ConvertTo-Json -depth 100 | Out-File $releasetemplate 

$ReleaseFile = "C:\DevOps\updatedmytest1.json" 

#import release definition 
$Uri = $tpcUri + "/" + $teamprojectname + "/_apis/release/definitions?api-version=3.0-preview.2" 
Write-Verbose "URI: $uri" 
Write-Host "Importing release definition........" 
$release = gc $ReleaseFile -Raw -ea Stop 
$result = Invoke-RestMethod -Method Post -UseDefaultCredentials -ContentType application/json -Uri $Uri -Body $release 

よろしく、 アンディ・ファム

答えて

1

$Uri = $tpcUri + "/" + $teamprojectname + "/_apis/release/definitions?api-version=3.0-preview.2"

代わり3.0-preview.2のあなたの残りのAPIバージョンの別のバージョンを使用してください。この問題は、使用しているRest APIバージョンである必要があります。

APIバージョン

必須:MSDNでtutorialsによると

。使用するAPIのバージョン。このバージョンのAPIを使用するには、これを '4.0-preview.3'に設定する必要があります。 TFS 2017 Update1: Programmatically updating TFS Release Definitions removes server phase (manual intervention)

また、この同様の質問を見てみましょう

関連する問題