Загрузка результатов сканирований
Вы можете загружать результаты сканирования несколькими способами:
- Используя API
- Используя vampy-cli
- Используя Web интерфейс
Независимо от выбранного варианта загрузки вам необходимо в первую очередь создать бот-пользователя.
Для корректной работы бота ему необходимо присвоить роль Editor или Admin.
Запомните сгенерированный API токен.
Используя API
Для загрузки результатов по API можно использовать curl
curl -X POST "$VAMPY_URL/api/ext/v1/scan_uploads/" \
-H "accept: application/json'" \
-H "Content-Type: multipart/form-data" \
-H "Authentication: $VAMPY_API_TOKEN"\
-F "repository=$VAMPY_REPO_SLUG" \
-F "repositoryBranch=$VAMPY_REPO_BRANCH" \
-F "scannerResultFile=@$VV_REPORT_FILE_NAME" \
-F "scannerType=$VAMPY_SCAN_TYPE"
-F 'product=' \
-F 'vcsURL='
где
- VAMPY_URL - путь к серверу Vampy, напр.
https://vampy.corp.example.com
; - VAMPY_API_TOKEN - API токен для бот пользователя;
- VAMPY_REPO_SLUG - slug репозитория, для которого выполнялось сканирование. Эквивалентно
CI_PROJECT_PATH
; - VAMPY_REPO_BRANCH - ветка, для которой выполнялось сканирование. Эквивалентно
CI_COMMIT_REF_NAME
; - VV_REPORT_FILE_NAME - имя файла с результатами скана;
- product - slug продукта, куда загружаются результаты сканирования;
- vcsURL - опциональное поле, для указания ссылки и автоматической привязки к VCS системе;
- VAMPY_SCAN_TYPE - id сканера. Поддерживаемые сканеры и их id можно посмотреть на этой странице.
Внимание
Используйте только один из слагов: product или repository. В противном случае вы получите ошибку.
Пример запроса
curl -X POST "https://vampy.hexway.io/api/ext/v1/scan_uploads/" \
-H "accept: */*" \
-H "Content-Type: multipart/form-data" \
-H "Authentication: $VAMPY_API_TOKEN"\
-F "repository=test_repo" \
-F "repositoryBranch=main" \
-F "scannerResultFile=@/Vampy/report.sarif" \
-F "scannerType=SARIF"
Используя Vampy-cli
- Предварительно установите vampy-cli
- Сконфигурируйте vampy-cli
- Загрузите результаты, используя команду upload в vampy-cli
Пример запроса
vampy-cli upload --repository vmp/product/vampy-engine --file ~/scans_trivy_image.json --scanner TRIVY_IMAGE
ScanUpload: 0101e9e8-a49c-49d2-b7fb-a129bfcc9d3e
Используя Web интерфейс
Вы так же можете загрузить результаты сканирований через Wеb интерфейс Vampy.