我遇到了两个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
transfer-encoded
格式的形式检索数据。如何在NodeJS中从主体检索真实数据?releaseDeployPhaseId
和taskId
的值。我没有在Azure DevOps发布管道门户中获得这些信息。有人可以帮我吗?预先感谢!
答案 0 :(得分:1)
您可以在以下API中获取releaseDeployPhaseId
和taskId
值:
GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/environments/{environmentId}?api-version=5.1-preview.2
答案 1 :(得分:1)
根据测试结果,当前只能通过第二个API获取纯文本发布日志。
您可以根据Shayki提供的api获得deployPhaseId
和taskId
,deployPhaseId
指的是阶段中的座席工作ID。第二个rest api的缺点是它无法获取完整的发布日志,而只能获取一个任务的日志。
如果未通过rest api获取发布日志,则可以通过Download all logs
按钮从Web ui下载完整日志。
关于第一个rest api,我在浏览器https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/logs
中测试了网址,它自动将log.zip文件下载到本地。在邮递员中进行测试,它返回了无法识别的代码。