【发布时间】:2020-09-04 20:38:23
【问题描述】:
我正在尝试使用 powershell 和 invoke-restmethod 创建代理池(Azure devops 服务器)。为此,我使用下面的参考来尝试构建正确的 json 请求正文。 https://docs.microsoft.com/en-us/rest/api/azure/devops/distributedtask/pools/add?view=azure-devops-rest-5.1 所有基础知识(凭证等 - 我已使用其他 uris 成功运行其他任务) 多次尝试寻找正确的身体,结果几乎相同,下面是最新的示例;
$requestBodyAgentPool = '{
"Id": "3"
"name": "Testpool",
"isHosted": $false,
"autoSize": $false,
"poolType": "automation",
"isLegacy": $false
}'
使用以下内容(通过运行 GET 验证 uri 和凭据)
$uriPool = "http://localhost/DefaultCollection/_apis/distributedtask/pools?api-version=5.1"
Invoke-RestMethod -Uri $uriPool -Method POST -ContentType 'application/json' -Body $requestBodyAgentPool -Credential $cred
失败,下面这对我来说意味着参数 id 为空。
Invoke-RestMethod : {"$id":"1","innerException":null,"message":"值不能为空。\r\n参数名称:pool.Name","typeName":"System .ArgumentNullException, mscorlib","typeKey":"ArgumentNullException","errorCode":0,"eventId":0}
我觉得这只是我对编码术语和阅读参考文档的经验不足,但我不清楚格式是否错误或者我缺少/错误的格式强制参数(id 或名称?)
【问题讨论】:
标签: powershell azure-devops-rest-api