我需要以编程方式在VSTS(现在的Azure DevOps)发行版定义中设置队列ID。我发现这篇文章:
How to list VSTS agent pools programmatically from PowerShell?
不幸的是,该帖子中的API比我需要的级别更高,因为它处理了在组织级别定义的代理池。我需要获取引用这些代理池的项目特定队列,以便我可以将队列ID注入我的发布定义中。有API可以获得我需要的东西吗?
我找到了我需要的答案,并希望与他人分享。确实有未记录的API来获取项目特定的队列。使用带有以下内容的GET请求来获取队列列表:
https://foo.visualstudio.com/Project_Name/_apis/distributedtask/queues/
同样,如果您想要特定队列的信息,请获取以下内容:
https://foo.visualstudio.com/Project_Name/_apis/distributedtask/queues/QUEUEID
编辑
我与MS的Azure DevOps工程师进行了交谈,他们表示这确实是获取队列信息的正确方法。他们还说,虽然这些API目前没有记录,但它们受支持(我被称为post)并支持所有RESTful HTTP动词,尽管我还没有测试过最后一个语句。