Как добавить Test Case в TFS через REST - PullRequest
0 голосов
/ 04 февраля 2019

Я использую lib для автоматического экспорта / синхронизации тестовых примеров в TFS во время выполнения теста.Одно из моих требований заключается в том, что для этого мне нужно использовать NodeJS, поэтому я решил использовать TFS REST API.В моем коде я использую lib "azure-devops-node-api", я могу подключаться и получать разные элементы, не повезло с добавлением тестовых случаев.

Я обнаружил в Интернете, что TestCase является своего рода WorkItem и как WI должен быть добавлен.К сожалению, я не нашел способа добавить один с помощью azure-devops-node-api.

Я также пытался отправить вручную созданный JSON, к сожалению, не повезло с поиском подходящего URL для отправки, так как я всегда получаю:

Error: {"statusCode":404,"body":"Page not found."

Мой пример запроса:

 request.post({
            url: 'https://<url>/tfs/<default collection maybe?>/<project>/_apis/wit/workItems/test%20case',
            headers: {
                'Content-Type': 'application/json',
                'Authorization':'Basic ' + this.encodePat('<my auth token>')
            },
            rejectUnauthorized: false,//add when working with https sites
            requestCert: false,//add when working with https sites
            agent: false,//add when working with https sites
            json: rq
        },function (response, err, body){

            if (err) throw new Error(JSON.stringify(err));

            console.log('Body:',JSON.parse(body));
            console.log('Response:',response)
        });  

Кто-нибудь знает, что я делаю или если Azure-devops-node-api может добавить WorkItems?

1 Ответ

0 голосов
/ 05 февраля 2019

Если вы хотите добавить тестовый набор только в качестве рабочего элемента, вы должны использовать шаблон по этой ссылке Рабочие элементы - Создать .

POST https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/${type}?api-version=5.0

Вы должны добавить к URL "? Api-version = X.0".Пример:

https://<server name and port>/tfs/<collection name should be>/<project>/_apis/wit/workItems/$test%20case?api-version=3.0

Также вы должны закодировать свой шаблон по этому шаблону:

'Authorization':'Basic ' + this.encodePat(':<my auth token>')

Здесь вы можете найти примердля задачи сборки с помощью node.js: https://github.com/ashamrai/AzureDevOpsExtensions/blob/master/CustomBuildTask/NewWICustomTask/index.ts

...