簡體   English   中英

如何使用REST API更新Visual Studio Team Services構建定義?

[英]How can I update a Visual Studio Team Services build definition using the REST api?

我正在嘗試使用https://www.visualstudio.com/en-us/docs/integrate/api/build/definitions和PowerShell中記錄的REST API以編程方式更新Team Services構建定義中變量的值。腳本。

因此,計划是使用GET讀取定義,修改返回對象中的值,然后使用PUT更新定義。

我的問題是最后一步(PUT)失敗並出現異常(似乎在服務器端)。 即使我不修改定義中的任何內容,也會拋出相同的異常。

所以用最簡單的術語來說PowerShell代碼是:

$definitionId = 27
$url = "https://imaginera.visualstudio.com/DefaultCollection/Fidelis/_apis/build/definitions/" + $definitionId + "?api-version=2.0"

# Read the build definition.
$definition = Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method Get -Uri $url 

# Update the build definition.
Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method Put -Uri $url -Body (ConvertTo-Json $definition) -ContentType "application/json"

我得到的例外是:

Invoke-RestMethod : {"$id":"1","innerException":null,"message":"Value cannot be null.\r\nParameter name: definition.Options[0].Definition","typeName":"System.ArgumentNullException, mscorlib, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089","typeKey":"ArgumentNullException","errorCode":0,"eventId":0}

我想我正在使用文檔中描述的API,但我可能會遺漏一些東西。

ConvertTo-Json指定-Depth參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM