【问题标题】:Change agent enabled/disabled status in Azure Devops using REST API使用 REST API 在 Azure Devops 中更改代理启用/禁用状态
【发布时间】:2019-01-08 02:09:26
【问题描述】:

如果在一个明显的地方回答了这个问题,请提前道歉,我环顾四周找不到它。

我可以使用此处的说明 (How to list VSTS agent pools programmatically from PowerShell?) 来查询 Azure Devops 以获取代理列表,每个代理都有一个“启用”字段,该字段为真或假。

在网络界面中,这是一个用户可以选择/取消选择的复选框。有没有办法使用 REST API 来切换它?

非常感谢!

【问题讨论】:

    标签: rest azure-devops azure-devops-rest-api


    【解决方案1】:

    不在 Azure DevOps REST Api 文档中,但可以通过这种方式更改代理状态(它是 PATCH 调用):

    PATCH https://dev.azure.com/{organization}/{project}/_apis/distributedtask/pools/{poolId}/agents/{agentId}
    

    请求正文(在 Json 中):

    {"enabled":{false/true},"id":{agentId},"maxParallelism":1,"name":"{agentName}"}
    

    更新:

    现已记录在案:https://docs.microsoft.com/en-us/rest/api/azure/devops/distributedtask/agents/update?view=azure-devops-rest-6.0

    【讨论】:

    • 我认为它仍然是一个官方的 API 调用,只是没有记录。有一个issue 可以记录它,但可能暂时不会发生。管道 PM 在 _apis/ 命名空间中提到的任何内容都是公共合同,不会有重大更改。
    • 谢谢,在这个问题中我只看到获取代理而不是如何更新代理,但我更新了我的答案:)
    • 我发现了一些事情: 1. 除非 URI 以 ?api-version=(something) 结尾,否则调用将失败 2. 除非媒体类型为“application/json”,否则调用将失败 3 . maxParallelism/name 属性不是必需的
    • 感谢这些cmets!
    猜你喜欢
    • 2021-03-10
    • 1970-01-01
    • 2021-10-30
    • 2021-08-05
    • 2022-07-17
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 2021-05-30
    相关资源
    最近更新 更多