Skip to content

Интеграция с Azure DevOps

Интеграция с Azure DevOps расширяет функциональность Vampy для анализа кода в репозиториях Azure Repos.

Режим task tracker

В настоящее время поддерживается только режим VCS (система контроля версий). Режим трекера задач будет реализован в следующих версиях продукта.

Для настройки Azure DevOps перейдите в раздел Администратор → Интеграции → Azure DevOps.

В окне настроек интеграции необходимо указать:

  • Тип интеграции — выберите «VCS»
  • Имя интеграции — произвольное название для идентификации
  • URL — адрес организации Azure DevOps
  • API Токен — Personal Access Token (PAT) для доступа к Azure DevOps

Опционально в разделе «Дополнительные опции» можно указать:

  • Сертификаты СА — для настройки SSL-соединения
  • Игнорировать проверку SSL-сертификата — для самоподписанных сертификатов

Создание Personal Access Token (PAT)

Для интеграции с Azure DevOps требуется Personal Access Token. Создать токен можно в разделе User settings → Security → Personal access tokens.

Минимально необходимые права для работы VCS-интеграции:

  • Code — Read
  • Project and Team — Read

Документацию по созданию PAT можно найти в официальной документации Azure DevOps.

Настройка Service Hooks (вебхуков)

Для отлавливания событий (создание Pull Request, слияние и т.д.) и создания правил на их основе необходимо настроить Service Hooks в Azure DevOps.

Вебхуки настраиваются в настройках проекта: Project Settings → General → Service hooks.

Скопируйте URL вебхука из настроек интеграции в Vampy и укажите его при создании Service Hook в Azure DevOps. Рекомендуемые события для интеграции:

  • Pull request created — создание Pull Request
  • Pull request merge attempted — слияние Pull Request
  • Code pushed — пуш кода (для некоторых сценариев)
Какие действия запускают и не запускают сканирование
  • слияние Pull Request (событие git.pullrequest.merged, action: merge);
  • пуш в ветку, участвующую в PR — событие пуша игнорируется, но последующее слияние PR запускает скан.
  • создание ветки и пуш в ветку;
  • пометка PR как draft и обратно, approve PR (событие git.pullrequest.updated, action: update);
  • слияние PR, если коммит с last_commit_id уже был просканирован ранее (дедупликация).

Настройка правил

Для автоматического запуска сканирования при слиянии Pull Request создайте правило:

  1. Событие — выберите «VCS MR»
  2. Условия — при необходимости добавьте условия (можно оставить пустым для срабатывания на все PR)
  3. Действия — добавьте действие «Запустить сканирование» и выберите профиль сканирования

Привязка репозитория к Azure DevOps

Привязать репозиторий к Azure DevOps можно двумя способами:

1. В карточке существующего репозитория

Откройте репозиторий и в правой панели найдите блок VCS. Нажмите на поле с иконкой звена цепи — откроется выпадающий список доступных интеграций. Выберите Azure DevOps VCS, после чего вам будет предложено связать репозиторий с проектом в Azure DevOps.

2. При добавлении нового репозитория

При создании репозитория выберите импорт из VCS и укажите Azure DevOps в качестве источника. Подробнее о создании и импорте репозиториев — в статье Создание репозитория.