2017-08-13 220 views
1

有一个商标例子随处可见的净SonarQube批量删除API

POST api/projects/bulk_delete 
键‘参数“,它可以通过将项目的ID在使用’

。我在卷曲无亲,但它应该对于项目是这样的(代码在邮差客户端生成)与关键“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" 

现在缺少的主要是一件事的批量删除应该解释,即如何真正批量删除多个项目? 这个项目是否可靠YS/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应该是什么? 我得到FORMDATA为按键错误400错误的请求

{"errors":[{"msg":"ids or keys must be provided"}]} 
    var formData = {}; 
    formData["Keys"] = "daBestProjectKey:test1,daBestProjectKey:test2"; 

回答

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

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

  3. 我总是提供参数url参数,而不是表格值。我不确定,其他形式参数也可以工作。

一个例子请求,测试了SonarQube 6.6:

curl -s -u admin:admin -XPOST "localhost:9000/api/projects/bulk_delete?projects=daBestProjectKey:test1,daBestProjectKey:test2" 
0

参数必须是像下面

formData["**projects**"] = "daBestProjectKey:test1,daBestProjectKey:test2";