Retrieve VSTS/TFS Build task name list

2019-09-16 03:29发布

问题:

I need to retrieve build task name list from VSTS/TFS build. Is there inbuilt method/library available to support this?

I have already noted (as below sample) that we can retrieve same in release.

import ReleaseClient = require("ReleaseManagement/Core/RestClient");
var rc= ReleaseClient.getClient(); 

release.environments.forEach(function (env) { 
    rc.getTasks(VSS.getWebContext().project.id, release.id, env.id).then(function(taskList){
    ...............
    ......Some code here
    });
}

回答1:

The documentation doesn't show a direct function call to retrieve the tasks. However, there is a contract for a BuildDefinition, which contains a build property, which is an array of BuildDefinitionStep, each of which has a task property that contains things like the name of the task and the inputs.

The getDefinition() function should give you back a build definition you can work with.

import RestClient = require("TFS/Build/RestClient");

// Get an instance of the client
var client = RestClient.getClient();
var myDefinition client.getDefinition(1234);