Azure devops Azure DevOps-获取自定义任务引用ID

Azure devops Azure DevOps-获取自定义任务引用ID,azure-devops,azure-devops-rest-api,Azure Devops,Azure Devops Rest Api,我想用RESTAPI调用更新管道 这很好,但当我想添加自定义任务自制的构建管道任务扩展时,我会努力寻找正确的任务引用id: 我使用RESTAPI调用签出自定义任务的注册ID。但这不是正确的。7f1fe94f-b811-4ba1-9d6a-b6c27de758d7 我还将自定义任务手动添加到管道中,并通过RESTAPI调用读取正确的任务引用id。我可以在以下位置找到id: $pipeline.process.phases.steps.task.id -> 2c7efb3e-3267-4ac6

我想用RESTAPI调用更新管道

这很好,但当我想添加自定义任务自制的构建管道任务扩展时,我会努力寻找正确的任务引用id:

我使用RESTAPI调用签出自定义任务的注册ID。但这不是正确的。7f1fe94f-b811-4ba1-9d6a-b6c27de758d7

我还将自定义任务手动添加到管道中,并通过RESTAPI调用读取正确的任务引用id。我可以在以下位置找到id:

$pipeline.process.phases.steps.task.id -> 2c7efb3e-3267-4ac6-addc-86e88a6dab34
但是,如何在不手动添加自定义任务的情况下读取此id


此id显然是动态的,每次安装自定义任务时都会更改,因此必须有一种方法来获取此引用。

任务id并非每次安装自定义任务时都会更改,但它存在于任务的task.json中:

{
    "id": "2f159376-f4dk-4311-a49c-392f9d534113",
    "name": "TaskName",
    "friendlyName": "Task Name",
另一种选择是使用此api:

https://dev.azure.com/{organiztion}/_apis/distributedtask/tasks

您将获得一个所有任务的长列表,搜索您的任务,您将看到id。

在每次安装自定义任务时,任务id都没有更改,但它存在于任务的task.json中:

{
    "id": "2f159376-f4dk-4311-a49c-392f9d534113",
    "name": "TaskName",
    "friendlyName": "Task Name",
另一种选择是使用此api:

https://dev.azure.com/{organiztion}/_apis/distributedtask/tasks

您将获得一个所有任务的长列表,搜索您的任务,您将看到id。

这是来自市场的任务还是您自己的任务?这是我自己创建的自定义任务。@Shaykibaramczyk感谢Shayki的提示。ID写在task.json中。非常感谢。但我想知道有没有办法直接从Azure DevOps服务器获取此ID?它必须有这些信息,但在哪里?它是来自市场的任务还是您自己的任务?它是自定义任务,由我自己创建。@Shaykibaramczyk感谢Shayki的提示。ID写在task.json中。非常感谢。但我想知道有没有办法直接从Azure DevOps服务器获取此ID?它必须有这些信息,但在哪里?如果没有记录,很难找到,非常感谢您的回答!此外:API调用可能会返回很长的json响应。我在使用PowerShells Invoke RestMethod或ConvertFrom Json生成对象时遇到问题。我在这里找到了处理很长JSON的答案:。错误消息为:无法处理参数,因为参数名称的值无效。更改name参数的值,然后再次运行该操作。很高兴我找到了这个。这个RESTAPI非常糟糕/没有文档记录,有时很难找到您需要的东西。我想补充一点,如果您已经知道任务的id,并且不想在长列表中遇到问题,那么可以使用以下api:https://dev.azure.com/{Organization}/_API/distributedtask/tasks/{taskid}它将返回特定任务及其所有安装版本。对我来说,它用于从发布定义中获取扩展详细信息maker+名称,其中我有可用的taskid。由于未知原因,taskid在extensions api中不可用。如果没有文档记录,很难找到它,非常感谢您的回答!此外:API调用可能会返回很长的json响应。我在使用PowerShells Invoke RestMethod或ConvertFrom Json生成对象时遇到问题。我在这里找到了处理很长JSON的答案:。错误消息为:无法处理参数,因为参数名称的值无效。更改name参数的值,然后再次运行该操作。很高兴我找到了这个。这个RESTAPI非常糟糕/没有文档记录,有时很难找到您需要的东西。我想补充一点,如果您已经知道任务的id,并且不想在长列表中遇到问题,那么可以使用以下api:https://dev.azure.com/{Organization}/_API/distributedtask/tasks/{taskid}它将返回特定任务及其所有安装版本。对我来说,它用于从发布定义中获取扩展详细信息maker+名称,其中我有可用的taskid。由于未知原因,taskid在extensions api中不可用