我正在实现lib以在测试运行期间自动将测试用例导出/同步到TFS中。我的要求之一是为此需要使用NodeJS,因此我决定使用TFS REST API。在我的代码中,我使用的是“ 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?
答案 0 :(得分:2)
如果您只想添加测试用例作为工作项,则必须使用此链接Work Items - Create中的模板。
POST https://dev.azure.com/ {organization} / {project} / _ apis / wit / workitems / $ {type}?api-version = 5.0
您必须添加到网址“?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