Node.js 如何通过REST将测试用例添加到TFS中

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

我正在实现lib,以便在测试运行期间自动将测试用例导出/同步到TFS中。我的一个要求是需要使用NodeJS,所以我决定使用tfsrestapi。在我的代码中,我使用的是“azure devops节点api”库,我可以连接并获取不同的元素,但添加测试用例并不幸运

我在web上发现TestCase是一种工作项,应该添加as WI。不幸的是,我没有找到使用azure devops节点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)
        });  
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之前错过了“$”符号:)非常感谢!