Плагины и точки встраивания в CI/CD#
ASOC Control Center поддерживает интеграцию с внешними системами через клиентские плагины и адаптеры, позволяя запускать сканирование на различных этапах разработки и доставки ПО. Ниже приведены инструкции по подключению плагинов для основных точек встраивания в CI/CD-конвейер.
Поддерживаемые точки встраивания#
Точка встраивания |
Код точки встраивания |
Инструменты сканирования |
Описание |
|---|---|---|---|
Сборка дистрибутива |
|
SCA, SAST, OSS, SecretScan |
Подключение плагина для сканирования при сборке дистрибутива - запуск сканирования при сборке релизного пакета |
Pull-request/Merge-request |
|
SAST, SCA, SecretScan |
Запуск сканирования при создании commit/pull-request - автоматическое сканирование кода при создании PR |
Перевод релиза в статус «Тестирование» |
|
SAST (Svace), DAST |
Запуск сканирования при переводе релиза в статус «Тестирование» - комплексное сканирование перед тестированием |
Мониторинг релиза |
|
SCA |
Мониторинг релиза и фоновое сканирование - периодическое сканирование зависимостей |
Подключение плагина для сканирования при сборке дистрибутива#
Для автоматизации запуска сканирования на этапе сборки дистрибутива необходимо интегрировать CI-систему с ASOC Control
Center через Open API. Ниже описаны способы запуска сканирования при сборке артефактов с использованием кода точки
build-point:
Передача через Project Store#
Этот метод используется, когда артефакты предварительно загружены в Project Store — единое хранилище артефактов
платформы. Вместо прямых URL в API передаются идентификаторы объектов (projectStoreBlobObjId), что обеспечивает
безопасность и контроль доступа к данным.
API для загрузки артефактов в Project Store, описано в разделе Программные интерфейсы.
Для запуска сканирования необходимо отправить POST-запрос на следующую точку подключения:
POST /v1/scanning/tenant/{tenant}/project/{project}/byBinary
Для использования данного метода необходимо предварительно загрузить артефакты в Project Store, а затем передать их
идентификаторы (projectStoreBlobObjId) в теле запроса API.
Пример тела запроса:
{
"version": "11.02.2026 15:33",
"pointKey": "build-point",
"objects": [
{
"projectStoreBlobObjId": "a6xx25xx-dxx7-40xx-xbcx-exx07xx70xx9",
"scanTypeObject": "branch",
"metaData": {
"uri": "ssh://git@mycompany.ru:7998/ASOC/asoc-orchestrator",
"branch": "task/IDMINT-0001",
"hashCommit": "9xxcdxx7exx54xx1cxxe94xx53xxddxx0exx1axx"
}
},
{
"projectStoreBlobObjId": "4xx69xx1-exx7-4exx-xxb4-xxffxxe5xx4x",
"scanTypeObject": "bomPath"
}
]
}
Доступ к Project Store должен быть обеспечен для сервисных аккаунтов ASOC.
Передача артефактов по URL#
Этот метод используется, когда артефакты (дистрибутив и BOM-файл) доступны по прямым URL-адресам в хранилище, например, в Nexus или Artifactory. При вызове API передаются ссылки на артефакты, которые оркестратор загружает для анализа.
Для запуска сканирования необходимо отправить POST-запрос на следующую точку подключения:
POST /v1/scanning/tenant/{tenant}/project/{project}/byUrl
Для успешного запуска сканирования необходимо корректно сформировать тело запроса, указав:
URL до BOM-файла;
URL до репозитория с исходным кодом;
версию сборки;
версию сборки;
информацию о ветке и хеше коммита.
Все поля запроса должны соответствовать схеме ProcessTaskRequestDto. Доступ к хранилищу по URL должен быть обеспечен
для сервисных аккаунтов ASOC.
Пример тела запроса:
{
"version": "02.02.2026 13 40",
"pointKey": "build-point",
"objects": [
{
"scanObjectUrl": "https://<BITBUCKET_HOST>/rest/api/1.0/projects/<PROJECT_KEY>/repos/<REPO_NAME>/archive?format=zip&at=refs/heads/<BRANCH_NAME>",
"scanTypeObject": "branch",
"metaData": {
"uri": "ssh://git@mycompany.ru:7998/ASOC/asoc-orchestrator",
"branch": "task/IDMINT-0001",
"hashCommit": "9xxcdxx7exx54xx1cxxe94xx53xxddxx0exx1axx"
}
},
{
"scanObjectUrl": "https://<NEXUS_HOST>/repository/<REPO_NAME>/<GROUP_ID:директории>/<ARTIFACT_ID>/<VERSION>/<ARTIFACT_ID>-<VERSION>-cyclonedx-distrib.json",
"scanTypeObject": "bomPath"
}
]
}
Необходимо указать URL для скачивания ZIP-архива исходников в поле
scanObjectUrl.