【问题标题】:Pass data from Azure DevOps release to release tab将数据从 Azure DevOps 版本传递到发布选项卡
【发布时间】:2026-02-01 19:10:02
【问题描述】:

我正在为 Azure DevOps 开发一个扩展。我的扩展程序的详细信息如下

支持的环境

  • Azure 开发运营
  • TFS 2017
  • TFS 2018
  • DevOps 服务器 2019
  • DevOps 服务器 2020

语言:打字稿

贡献点:

  • ms.vss-distributed-task.task
  • ms.vss-releaseManagement-web.release-summary-tab

范围:

  • vso.build
  • vso.build_execute
  • vso.work_write
  • vso.release
  • vso.release_execute

我的任务正在发布管道中运行并生成一些数据。发布完成后,我想将这些数据传递到发布选项卡。并在发布选项卡中显示一些排列信息。进一步的用户应该能够通过导航到该版本来查看标签中与特定旧版本相关的信息。

请提供一些完成此任务的指南。如果您需要任何其他信息,请告诉我。

【问题讨论】:

    标签: tfs azure-devops azure-pipelines azure-devops-rest-api azure-devops-extensions


    【解决方案1】:

    以下是从发布管道获取数据的两个想法:

    1. 在任务的运行日志中显示您需要的数据,然后使用 REST API 获取日志。以下是几个 REST API:

    Releases - Get Task Log:这个 REST API 可以获取特定任务的日志,只支持纯文本。

    GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/environments/{environmentId}/deployPhases/{releaseDeployPhaseId}/tasks/{taskId}/logs?api-version=6.0-preview.2
    

    Releases - Get Logs:此 REST API 下载一个包含所有任务日志的 zip 文件。

    GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/logs?api-version=6.0-preview.2
    
    1. 将您需要的数据写入文件,然后使用Copy Files task 获取发布之外的文件。

    【讨论】:

    • 谢谢 Jane Ma 第二个例子是不可能的,因为我们不打算使用外部资源来保存这些数据。您能否为第一个场景(数据检索部分)提供一个示例。我假设我将不得不使用 azure-devops-node-api