Node.js 如何通过REST将测试用例添加到TFS中
我正在实现lib,以便在测试运行期间自动将测试用例导出/同步到TFS中。我的一个要求是需要使用NodeJS,所以我决定使用tfsrestapi。在我的代码中,我使用的是“azure devops节点api”库,我可以连接并获取不同的元素,但添加测试用例并不幸运 我在web上发现TestCase是一种工作项,应该添加as WI。不幸的是,我没有找到使用azure devops节点api添加一个的方法 我还尝试发送手动构造的json,不幸的是,没有找到合适的url来发送,因为我总是得到:Node.js 如何通过REST将测试用例添加到TFS中,node.js,rest,tfs,azure-devops-rest-api,Node.js,Rest,Tfs,Azure Devops Rest Api,我正在实现lib,以便在测试运行期间自动将测试用例导出/同步到TFS中。我的一个要求是需要使用NodeJS,所以我决定使用tfsrestapi。在我的代码中,我使用的是“azure devops节点api”库,我可以连接并获取不同的元素,但添加测试用例并不幸运 我在web上发现TestCase是一种工作项,应该添加as WI。不幸的是,我没有找到使用azure devops节点api添加一个的方法 我还尝试发送手动构造的json,不幸的是,没有找到合适的url来发送,因为我总是得到: Error
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)
});
request.post({
网址:'https:///tfs///_apis/wit/workItems/test%20case',
标题:{
“内容类型”:“应用程序/json”,
“授权”:“基本”+此.encodePat(“”)
},
rejectUnauthorized:false,//使用https站点时添加
requestCert:false,//使用https站点时添加
代理:false,//使用https站点时添加
json:rq
},功能(响应、错误、正文){
if(err)抛出新错误(JSON.stringify(err));
log('Body:',JSON.parse(Body));
console.log('响应:',响应)
});
是否有人知道我在做什么,或者azure devops node api是否能够添加工作项?如果只想添加测试用例作为工作项,则必须使用此链接中的模板 POST{organization}/{project}/_api/wit/workitems/${type}?api版本=5.0 您必须添加到url“?api版本=X.0”。例如:
https:///tfs///_apis/wit/workItems/$test%20case?api版本=3.0
您还必须使用此模板对pat进行编码:
'Authorization':'Basic'+this.encodePat(':')
在这里,您可以找到node.js的构建任务示例:如果您只想添加测试用例作为工作项,则必须使用此链接中的模板 POST{organization}/{project}/_api/wit/workitems/${type}?api版本=5.0 您必须添加到url“?api版本=X.0”。例如:
https:///tfs///_apis/wit/workItems/$test%20case?api版本=3.0
您还必须使用此模板对pat进行编码:
'Authorization':'Basic'+this.encodePat(':')
在这里,您可以找到node.js的构建任务示例:我似乎“几乎”一切正常-问题是我在URL中键入WorkItemType之前错过了“$”符号:)非常感谢!看起来我“几乎”一切正常-问题是我在URL中键入WorkItemType之前错过了“$”符号:)非常感谢!