Azure Devops Rest API - 找出特定代理池上的队列作业

Joa*_*uin 4 azure azure-devops azure-devops-rest-api

从 Azure-DevOps Rest API 文档https://docs.microsoft.com/en-us/rest/api/azure/devops/?view=azure-devops-rest-5.1没有明确的方法来查询作业在特定的代理池上运行。

经历了不同的 API 调用和提琴手。

curl -u X:X https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/agents?api-version=5.1-preview.1 --> 获取特定代理池上正在运行的代理

在特定代理池上的队列中获取作业的 REST API 调用是什么?我期望在特定代理池上运行作业的 JSON 输出。

Sha*_*zyk 6

您可以使用此 Rest API 获取特定池中的所有作业请求:

https://dev.azure.com/{organiztion}/_apis/distributedtask/pools/{poolId}/jobrequests
Run Code Online (Sandbox Code Playgroud)

现在您只能过滤正在运行的作业,如何?对于正在运行的作业,没有result属性,因此在 PowerShell 中,您可以执行以下操作:

$json = $jobs | ConvertFrom-Json
$runningJobs = $json.Where({ $_.PSobject.Properties.name -notcontains "result" })
Run Code Online (Sandbox Code Playgroud)