使用 GET API 列出基于 azure YAML 的管道的所有任务

list all tasks of azure YAML based pipelines usng GET API

列出我们在下面使用的特定项目中的所有 Azure 构建管道 API。 '获取https://dev.azure.com/{organization}/{project}/_apis/pipelines?api-version=6.0-preview.1'

但是上面 URL 给出了每项任务的详细信息及其以经典方法构建的那些管道的状态。

它没有提供基于 YAML 的管道中定义的每个任务的详细信息。 如何使用基于 YAML 的管道获取具有任务名称及其状态的所有任务的详细信息

如果您想获取每个任务的状态,您可以使用 Timeline endpoint

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/timeline/{timelineId}?api-version=6.0

然后你会得到这样的回复:

{
    "records": [
        {
            "previousAttempts": [],
            "id": "2b20c7d0-7587-5b0f-aadc-b456e6f0b807",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Restore nuget packages",
            "startTime": "2020-10-15T02:40:28.7266667Z",
            "finishTime": "2020-10-15T02:40:36.9566667Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 11,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 3,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 6,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/6"
            },
            "task": {
                "id": "5541a522-603c-47ad-91fc-a4b1d163081b",
                "name": "DotNetCoreCLI",
                "version": "2.175.0"
            },
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "bfbec40a-1b5e-5690-b870-859627cad0c0",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Install ReportGenerator tool",
            "startTime": "2020-10-15T02:40:51.62Z",
            "finishTime": "2020-10-15T02:40:56.15Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 16,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 6,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 9,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/9"
            },
            "task": {
                "id": "5541a522-603c-47ad-91fc-a4b1d163081b",
                "name": "DotNetCoreCLI",
                "version": "2.175.0"
            },
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "79cd0884-5219-46b7-8a84-6c86f173b37d",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Finalize Job",
            "startTime": "2020-10-15T02:41:00Z",
            "finishTime": "2020-10-15T02:41:00.0966667Z",
            "currentOperation": null,
            "percentComplete": 100,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 19,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 10,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 13,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/13"
            },
            "task": null,
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "006e6f7c-8314-5e02-a3df-483f3a1f4cfa",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Build",
            "startTime": "2020-10-15T02:40:36.9566667Z",
            "finishTime": "2020-10-15T02:40:42.92Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 12,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 4,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 7,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/7"
            },
            "task": {
                "id": "5541a522-603c-47ad-91fc-a4b1d163081b",
                "name": "DotNetCoreCLI",
                "version": "2.175.0"
            },
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "13d91b18-76dd-4a31-974e-315f76b11e38",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Post-job: Checkout kmadof/devops-manual@master to s",
            "startTime": "2020-10-15T02:40:59.6166667Z",
            "finishTime": "2020-10-15T02:40:59.9933333Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 19,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 9,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 12,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/12"
            },
            "task": null,
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "2d6c4c72-58a7-539f-c145-2ca69ec02c01",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Publish code coverage",
            "startTime": "2020-10-15T02:40:57.41Z",
            "finishTime": "2020-10-15T02:40:59.6166667Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 19,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 8,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 11,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/11"
            },
            "task": {
                "id": "2a7ebc54-c13e-490e-81a5-d7561ab7cd97",
                "name": "PublishCodeCoverageResults",
                "version": "1.175.0"
            },
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "parentId": "3a3a2a60-14c7-570b-14a4-fa42ad92f52a",
            "type": "Job",
            "name": "Job",
            "startTime": "2020-10-15T02:40:22.1466667Z",
            "finishTime": "2020-10-15T02:41:00.1Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 21,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "queueId": 45,
            "order": 1,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 14,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/14"
            },
            "task": null,
            "attempt": 1,
            "identifier": "Job.__default"
        },
        {
            "previousAttempts": [],
            "id": "22a533e7-39a9-5e07-6138-b595446c3168",
            "parentId": "96ac2280-8cb4-5df5-99de-dd2da759617d",
            "type": "Checkpoint",
            "name": "Checkpoint",
            "startTime": "2020-10-15T02:40:13.35Z",
            "finishTime": "2020-10-15T02:40:13.35Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 2,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": null,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": null,
            "task": null,
            "attempt": 1,
            "identifier": "Checkpoint"
        },
        {
            "previousAttempts": [],
            "id": "96ac2280-8cb4-5df5-99de-dd2da759617d",
            "parentId": null,
            "type": "Stage",
            "name": "__default",
            "startTime": "2020-10-15T02:40:22.1466667Z",
            "finishTime": "2020-10-15T02:41:02.19Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 6,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": null,
            "order": 1,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": null,
            "task": null,
            "attempt": 1,
            "identifier": "__default"
        },
        {
            "previousAttempts": [],
            "id": "8ba42753-b8a8-4e99-acd4-e18b769ad4b9",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Initialize job",
            "startTime": "2020-10-15T02:40:22.5133333Z",
            "finishTime": "2020-10-15T02:40:25.9766667Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 8,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 1,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 4,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/4"
            },
            "task": null,
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "6278c56e-b9dd-5471-9c3c-f3062039459c",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Test",
            "startTime": "2020-10-15T02:40:42.92Z",
            "finishTime": "2020-10-15T02:40:51.62Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 14,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 5,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 8,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/8"
            },
            "task": {
                "id": "5541a522-603c-47ad-91fc-a4b1d163081b",
                "name": "DotNetCoreCLI",
                "version": "2.175.0"
            },
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "63e8042a-f367-5aec-692c-fcc654be55e4",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Checkout kmadof/devops-manual@master to s",
            "startTime": "2020-10-15T02:40:25.9866667Z",
            "finishTime": "2020-10-15T02:40:28.7266667Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 10,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 2,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 5,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/5"
            },
            "task": null,
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "9c939e41-62c2-5605-5e05-fc3554afc9f5",
            "parentId": "12f1170f-54f2-53f3-20dd-22fc7dff55f9",
            "type": "Task",
            "name": "Create reports",
            "startTime": "2020-10-15T02:40:56.15Z",
            "finishTime": "2020-10-15T02:40:57.41Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 17,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": "Azure Pipelines 2",
            "order": 7,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 10,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/10"
            },
            "task": {
                "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9",
                "name": "CmdLine",
                "version": "2.176.1"
            },
            "attempt": 1,
            "identifier": null
        },
        {
            "previousAttempts": [],
            "id": "3a3a2a60-14c7-570b-14a4-fa42ad92f52a",
            "parentId": "96ac2280-8cb4-5df5-99de-dd2da759617d",
            "type": "Phase",
            "name": "Job",
            "startTime": "2020-10-15T02:40:22.1466667Z",
            "finishTime": "2020-10-15T02:41:01.8633333Z",
            "currentOperation": null,
            "percentComplete": null,
            "state": "completed",
            "result": "succeeded",
            "resultCode": null,
            "changeId": 20,
            "lastModified": "0001-01-01T00:00:00",
            "workerName": null,
            "order": 1,
            "details": null,
            "errorCount": 0,
            "warningCount": 0,
            "url": null,
            "log": {
                "id": 3,
                "type": "Container",
                "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/logs/3"
            },
            "task": null,
            "attempt": 1,
            "identifier": "Job"
        }
    ],
    "lastChangedBy": "00000002-0000-8888-8000-000000000000",
    "lastChangedOn": "2020-10-15T02:41:02.327Z",
    "id": "51dc2542-9fa2-49ac-b8c5-0c57412d7692",
    "changeId": 21,
    "url": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/Timeline/51dc2542-9fa2-49ac-b8c5-0c57412d7692"
}

通过这种方式,您将获得给定管道的给定 运行 的状态,但我认为没有端点可以一次性为您提供每个管道的任务状态。

此外,如果您调用构建状态端点:

https://dev.azure.com/{{organization}}/{{project}}/_apis/build/builds/7512?api-version=6.0&expand=all

在回复的顶部,您将 link 到时间轴

{
    "_links": {
        "self": {
            "href": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/Builds/7512"
        },
        "web": {
            "href": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_build/results?buildId=7512"
        },
        "sourceVersionDisplayUri": {
            "href": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/sources"
        },
        "timeline": {
            "href": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/builds/7512/Timeline"
        },
        "badge": {
            "href": "https://dev.azure.com/thecodemanual/4fa6b279-3db9-4cb0-aab8-e06c2ad550b2/_apis/build/status/8"
        }
    },