Мне нужно создать рабочие элементы VSTS с помощью клиента Visual Studio Team Services для Node.js (vso-node-api). Предоставьте какие-либо примеры по этому вопросу?
Как создавать рабочие элементы с помощью клиента Visual Studio Team Services для Node.js (vso-node-api)?
Ответы (2)
Я создал простой пример кода, чтобы получить и создать с ним рабочий элемент для справки, подробности см. В следующем разделе:
/// <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();
person
Eddie Chen - MSFT
schedule
22.09.2016
Большое спасибо за ответ, Эдди. В моем проекте используется версия ES5, поэтому я получаю сообщение об ошибке, когда добавляю пакет узла vso-node-api и собираю его в ES5. Кажется, «Promise» недоступен в ES5. Знаете ли вы? любой обходной путь для этого?
- person Bandara; 22.09.2016
@BandR Нет, я не знаю обходного пути для этого. Извиняюсь.
- person Eddie Chen - MSFT; 23.09.2016
Я получаю несанкционированную ошибку 401 даже при вводе действительных учетных данных. Есть идеи, почему? Ошибка: Неудачный запрос: неавторизованный (401) - \n at processResponse (c:\vso-test\node_modules\vso-node-api\RestClient.js:59:18)\n at c:\vso-test\node_modules\ vso-node-api\RestClient.js:147:13\n в HttpClient.request.callback (c:\vso-test\node_modules\vso-node-a...
- person Bandara; 23.09.2016
@BandR Какие учетные данные вы использовали?
- person Eddie Chen - MSFT; 24.09.2016
Я использовал токен снизу, это сработало 'let auth = tl.getEndpointAuthorization(SYSTEMVSSCONNECTION, false);' 'var token = auth.parameters[AccessToken];'
- person Bandara; 26.09.2016
@BandR Я использую токен личного доступа. Я попробую завтра с вашим кодом и сообщу вам результат.
- person Eddie Chen - MSFT; 26.09.2016
@BandR Я не могу воспроизвести вашу проблему, токен, созданный с помощью вашего кода, работает на моей стороне.
- person Eddie Chen - MSFT; 27.09.2016
Привет, Эдди, я не могу создавать рабочие элементы в среде TFS 2015.2 с помощью этого кода, я инициировал следующий запрос [Проблема создания рабочего элемента TFS] (stackoverflow.com/ вопросов/40147345/ ) Вы можете помочь мне с этим?
- person Bandara; 21.10.2016
Используйте токен, полученный с помощью vsts-task-lib
import tl = require('vsts-task-lib/task');
let auth = tl.getEndpointAuthorization("SYSTEMVSSCONNECTION", false);
var token = auth.parameters["AccessToken"];
person
Bandara
schedule
26.09.2016