2016-09-22 83 views

回答

0

使用通过VSTS任务-lib的

import tl = require('vsts-task-lib/task');

let auth = tl.getEndpointAuthorization("SYSTEMVSSCONNECTION", false);

var token = auth.parameters["AccessToken"];

检索到的令牌
3

我创建了一个简单的代码示例,以获得与它创建工作项目,供您参考,详情请参阅以下部分:

/// <reference path="typings/index.d.ts" /> 

import * as vm from 'vso-node-api/WebApi'; 
import * as wa from 'vso-node-api/WorkItemTrackingApi'; 
import * as wi from 'vso-node-api/interfaces/WorkItemTrackingInterfaces'; 
import * as vss from 'vso-node-api/interfaces/Common/VSSInterfaces'; 

var collectionUrl = "https://xxxxxx.visualstudio.com"; 

let token: string = "Yourpersonalaccesstoken"; 

let creds = vm.getPersonalAccessTokenHandler(token); 

var connection = new vm.WebApi(collectionUrl, creds); 

let vstsWI: wa.IWorkItemTrackingApi = connection.getWorkItemTrackingApi(); 

async function getWI() { 
    let wiid: number = 1; 
    let workitem: wi.WorkItem = await vstsWI.getWorkItem(wiid); 

    console.log(workitem.url); 
} 

getWI(); 

async function createWI() { 
    let wijson: vss.JsonPatchDocument = [{ "op": "add", "path": "/fields/System.Title", "value": "Task created from Node JS" }]; 
    let project: string = "Project"; 
    let witype: string = "Task"; 
    let cWI: wi.WorkItem = await vstsWI.createWorkItem(null, wijson, project, witype); 
    console.log(cWI.id); 
} 

createWI(); 
+0

非常感谢Eddie的反应,我的项目使用ES5版本,所以当我添加vso-node-api节点包并构建到ES5时出现错误,看起来'Promise'在ES5中不可用,您是否知道任何解决方法吗? – Bandara

+0

@BandR不,我不知道任何解决方法。抱歉。 –

+0

即使输入了有效凭证,我也会收到未经授权的401错误,任何想法为什么? “错误:请求失败:未经授权(401) - \ n在processResponse(c:\ vso-test \ node_modules \ vso-node-api \ RestClient.js:59:18)\ n在c:\ vso-test \ node_modules \ vso-node-api \ RestClient.js:147:13 \ n在HttpClient.request.callback(c:\ vso-test \ node_modules \ vso-node-a ... – Bandara

相关问题