网上到处都有一个商标示例
POST api/projects/bulk_delete
“可以通过在”keys“参数中传递项目的ID来使用。我不是Curl中的专家,但它应该是这样的(在Postman客户端中生成的代码)用于具有键”daBestProjectKey“的项目:
curl -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Cache-Control: no-cache" -H "Postman-Token: 10a0e9a1-8dae-a9d1-45f2-0d8e56de999d" -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" -F "keys=daBestProjectKey" "http://localhost:9000/api/projects/bulk_delete"
缺少的基本上是批量删除应该解释的一件事,即如何实际批量删除多个项目? 项目键/ ID是否以逗号分隔? 我试图通过Ajax执行它。 声纳版本 6.4(版本25310)
deleteJobs: function (formData, uiCallbackFunction) {
$.ajax({
url: self.SONAR_BULK_DELETE_URL,
type: "POST",
data: formData,
dataType: 'multipart/form-data',
async: false,
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', "Basic YDHGHDGDHGDH==");
}
}).done(function (data, statusText, xhr) {
uiCallbackFunction(xhr);
}).fail(function (data, statusText, xhr) {
uiCallbackFunction(xhr);
});
},
formData应该如何? 我收到错误400错误请求
{"errors":[{"msg":"ids or keys must be provided"}]}
var formData = {};
formData["Keys"] = "daBestProjectKey:test1,daBestProjectKey:test2";
答案 0 :(得分:1)
参数名称必须为 projects
(不是Keys
)。
该值必须是逗号分隔键列表。
我总是将参数提供为 url参数,而不是表单值。我不确定,其他形式的参数也有效。
使用SonarQube 6.6测试的示例请求:
curl -s -u admin:admin -XPOST "localhost:9000/api/projects/bulk_delete?projects=daBestProjectKey:test1,daBestProjectKey:test2"
答案 1 :(得分:0)
键的formData参数必须如下所示
formData["**projects**"] = "daBestProjectKey:test1,daBestProjectKey:test2";