SonarQube批量删除API

时间:2017-08-13 13:14:02

标签: sonarqube

网上到处都有一个商标示例

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";

2 个答案:

答案 0 :(得分:1)

  1. 参数名称必须为 projects (不是Keys)。

  2. 该值必须是逗号分隔键列表。

  3. 我总是将参数提供为 url参数,而不是表单值。我不确定,其他形式的参数也有效。

  4. 使用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";