我的目的是批量更新测试运行步骤。我创建了测试集文件夹 - >测试集实例 - >测试运行。我可以通过发布json来更新测试运行 与网址
https://qcurl/qcbin/rest/domains/DOMAIN_NAME/projects/PROJECT_NAME/runs/run_id
{"Fields":[{"Name":"status","values":[{"value":"Passed"}]}]}
这很好用
现在根据API
发布,放置创建或更新同一实体的多个实体 输入,传递请求正文中的数据。传递XML字符串兼容 使用实体集合架构或相同的JSON字符串 由集合上的GET操作返回的格式。
要创建实体,请使用HTTP POST调用。要更新实体,请使用 HTTP PUT调用。
传递其中一个内容类型标头: 内容类型="应用/ XML;类型=集合" 内容类型="应用/ JSON;类型=集合"
使用与您要发送的数据匹配的内容类型标题
现在我尝试了许多发布json进行批量更新的组合,每当我收到错误
{
"Id": "qccore.method-not-allowed",
"Title": "Method not allowed",
"ExceptionProperties": null,
"StackTrace": null
}
json我试图发布到网址
http://ALM_URI/runs/<run_id>/run-steps
{
"entities": [{
"Fields": [
{
"Name": "id",
"values": [{
"value": "1219"
}
]
}, {
"Name": "status",
"values": [{
"value": "Failed"
}
]
}
]
}, {
"Fields": [
{
"Name": "id",
"values": [{
"value": "1220"
}
]
}, {
"Name": "status",
"values": [{
"value": "Passed"
}
]
}
]
}
]
}
还有这个
{
"data": [
{
"Fields": [
{
"Name": "id",
"values": [
{
"value": "1215"
}
]
},
{
"Name": "status",
"values": [
{
"value": "N/A"
}
]
}
]
},
{
"Fields": [
{
"Name": "id",
"values": [
{
"value": "1216"
}
]
},
{
"Name": "status",
"values": [
{
"value": "N/A"
}
]
}
]
}
]
}
到目前为止,他们似乎都没有工作。如果有人对任何ALM API资源进行了任何批量操作,请指出发布请求时出错的地方。仅供参考,这是 PUT 请求。提前谢谢答案 0 :(得分:0)
@ Macintosh_89:应该可以进行操作(单独)。在你的情况下错过的是运行步骤(在网址中):
POST/PUT/GET/DELETE https://qcurl/qcbin/rest/domains/DOMAIN_NAME/projects/PROJECT_NAME/runs/run_id/run-steps
如果您想获取一些现有的运行步骤,那么您甚至可以在上一行的末尾给出运行步骤ID。
REST API的运行步骤修改(POST-PUT-GET-DELETE)应该可以用于高于QC 11.50的版本,所以请查看你的QC REST库。
如果您可以针对多个运行步骤发送批量查询,那么我也在寻找解决方案,但到目前为止,我正在使用一个逐个报告所有运行步骤的for循环。
因此,请先尝试发送一个运行步骤dict,然后将后续步骤发送到QC。如果您能够在一次拍摄中向QC发送多个请求,请告知我们。
否则,上面建议的方法在我的情况下运行稳定,并没有那么大的耗时。
希望这能澄清您的疑问! Ciao,祝你有个愉快的一天。
我看了一下,对于HP ALM 12.53,可以一次更新多个实例。看看下面的链接:
http://alm-help.saas.hpe.com/en/12.53/api_refs/REST/Update_Multiple_Instances.htm
在我使用的早期版本11.52中,仍然可以在多个实体上发送批量操作,但请记住在标题中添加内容类型,如上所述。
发布,放置创建或更新同一实体的多个实体 输入,传递请求正文中的数据。传递XML字符串兼容 使用实体集合架构或相同的JSON字符串 由集合上的GET操作返回的格式。
要创建实体,请使用HTTP POST调用。要更新实体,请使用 HTTP PUT调用。
传递其中一个内容类型标头: 内容类型=&#34;应用/ XML;类型=集合&#34; 内容类型=&#34;应用/ JSON类型=集合&#34;
使用与您要发送的数据匹配的内容类型标题。
最后但并非最不重要的是运行步骤我猜这个操作是不允许的。由于运行步骤可能被视为一个实体的子实体。如果我找到11.52的批量方式,那么我会告诉你;)
祝你有个美好的一天,希望我帮助你一点!侨