Использование Jenkins для импорта результатов сканирования ZAP в DefectDojo - PullRequest
0 голосов
/ 27 декабря 2018

Я настроил Jenkins и DefectDojo на двух разных компьютерах с Linux.

Я пытаюсь автоматизировать файлы, отправляемые из Jenkins в DefectDojo через API-интерфейс дефекта dojo v2

Установка Jenkinsзапускает сканирование OWASP Zap и сохраняет файлы XML локально, затем с помощью плагина Jenkins HTTP Request я пытаюсь отправить сообщение json, содержащее путь к файлу и другие необходимые значения, включая заголовки авторизации и т. д.

Я пробовал «файл» как URL, а также как путь к файлу, но продолжаю получать сообщение об ошибке «Отправленные данные не были файлом. Проверьте тип кодировки в форме.»

 {
  "engagement": "/api/v2/engagements/1/",
  "lead": "/api/v2/users/1/",
  "verified": true,
  "scan_date": "2018-12-27",
  "scan_type": "ZAP Scan",
  "minimum_severity": "High",
  "file": "/var/lib/jenkins/workspace/ZAP_CI_Demo/reports/JENKINS_ZAP_VULNERABILITY_REPORT_28.xml",
  "active": true
}

Я ожидаю ответа «201 Создано», но ответ

HttpMethod: POST
URL: http://<defect-dojo-url>:8080/api/v2/import-scan/
Content-type: application/json
Accept: application/json
Authorization: *****
Sending request to url: http://<defect-dojo-url>8080/api/v2/import-scan/
Response Code: HTTP/1.0 400 Bad Request
Response: 
{"file":["The submitted data was not a file. Check the encoding type on the form."]}
[Pipeline] End of Pipeline

Я смог заставить API работать нормально, используя PostMan, однако в этом случае я делаю пост в форме, а неиспользуя сообщение json.

...