来自 Azure-DevOps Rest API 文档 https://learn.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-5.1 没有明确的查询方法对于在特定代理池上运行的作业。
经历了不同的 API 调用以及 fiddler。
curl -u X:X https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/agents?api-version=5.1-preview.1
--> 获取特定代理池上正在运行的代理
用于获取特定代理池队列上的作业的 REST API 调用是什么?我期望一个 JSON 输出,其中包含在特定代理池上运行的作业。
您可以使用此 Rest API 获取特定池中的所有作业请求:
https://dev.azure.com/{organiztion}/_apis/distributedtask/pools/{poolId}/jobrequests
现在你可以只过滤正在运行的作业,怎么样?对于正在运行的作业,没有
result
属性,因此在 PowerShell 中您可以执行如下操作:
$json = $jobs | ConvertFrom-Json
$runningJobs = $json.Where({ $_.PSobject.Properties.name -notcontains "result" })