【问题标题】:How to get azure devops release pipeline deployment logs using Azure DevOps REST API?如何使用 Azure DevOps REST API 获取 azure devops 发布管道部署日志?
【发布时间】:2020-02-12 09:10:01
【问题描述】:

我遇到了两个 REST API,但不确定是否会获取部署日志。

GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/logs?api-version=5.1-preview.2

GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/environments/{environmentId}/deployPhases/{releaseDeployPhaseId}/tasks/{taskId}/logs?api-version=5.1-preview.2
  1. 我尝试使用第一个 REST API。它以transfer-encoded 格式检索数据。 NodeJS如何从body中获取真实数据?
  2. 为了检查第二个 REST API,我没有 releaseDeployPhaseIdtaskId 的值。我没有在 Azure DevOps Release Pipeline 门户中获得这些信息。

谁能帮我解决这个问题?提前致谢!

【问题讨论】:

    标签: azure-devops azure-pipelines azure-pipelines-release-pipeline azure-devops-rest-api azure-pipelines-tasks


    【解决方案1】:

    根据测试结果,目前只能通过第二个API获取明文发布日志。

    你可以根据Shayki提供的api获取deployPhaseIdtaskIddeployPhaseId指的是stage中的agent job id。第二个rest api的缺点是不能获取完整的发布日志,只能获取一个任务的日志。

    如果你没有通过rest api获取发布日志,你可以通过Download all logs按钮从web ui下载完整的日志。

    关于第一个rest api,我在浏览器中测试了url:https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/logs,它自动下载了一个log.zip文件到本地。在 postman 中测试,返回无法识别的代码。

    【讨论】:

      【解决方案2】:

      您可以在以下 API 中获取 releaseDeployPhaseIdtaskId 值:

      GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/environments/{environmentId}?api-version=5.1-preview.2
      

      【讨论】:

        猜你喜欢
        • 2022-12-05
        • 1970-01-01
        • 2020-07-04
        • 2021-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-07
        相关资源
        最近更新 更多