2017-08-13 218 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";