Почему vsts-node-api всегда возвращает Invalid Resource — 401?

Я пытаюсь использовать пакет vsts-node-api в пользовательской задаче сборки, которую я пишу и пытаюсь использовать на локальном tfs2017. Я использовал часть примера кода, найденного в репозитории github, и обнаружил, что он возвращает ошибку Invalid Resource. Выполняя некоторую отладку в VSCode, а затем добавляя журнал отладки в остальной код, я обнаружил, что оставшийся вызов возвращает 401. Ошибка возникает после того, как я получаю WebApi и затем пытаюсь подключиться.

Я пытался использовать обработчик PAT и NtlmHandler, но безуспешно. Если я нажму URI через свой браузер, я успешно верну JSON. Любая помощь будет очень признательна.

export async function getWebApi(pwd:string): Promise<vm.WebApi> {
    return new Promise<vm.WebApi>(async (resolve, reject) => {
        try {
            console.log("in the common getter");
            let serverUrl = 'https://mylocalserver/tfs/mycollection';
            let token = ' my PAT on the server, that has full access ';
            let authHandler = vm.getPersonalAccessTokenHandler(token);      
            let option = {
            ignoreSslError: true
             };


            let vsts: vm.WebApi = new vm.WebApi(serverUrl, authHandler,options);
            console.log("got web api?");
            let connData: lim.ConnectionData = await vsts.connect();
            console.log('Hello ' + connData.authenticatedUser.providerDisplayName);
            resolve(vsts);
        }
        catch (err) {
            console.log("error in get api " + err.message);
            reject(err);
        }
    });

Благодарность


person JeffPriz    schedule 28.08.2017    source источник


Ответы (1)


Похоже, этот ответ команды VSTFS путь.

TLDR; Создавайте токен OAuth носителя для каждой сборки, чтобы обмениваться данными с VSTS.

person Al Dass    schedule 28.08.2017