Документация

Автоматизации

Работа, которая запускается без необходимости каждый раз просить об этом, по расписанию или при возникновении определённых событий, а также место её поиска.

Автоматизация начинает выполнение без дополнительных запросов от пользователя. Она запускается по расписанию или при возникновении определённого события: открытии pull request, создании задачи, сбое проверки или деплоя.

Все автоматизации перечислены в разделе «Автоматизации» фабрики с указанием условий их запуска и выполняемых действий. Чтобы создать новую автоматизацию, перейдите в раздел «Новая работа», выберите тип «Автоматизация», а затем укажите время её запуска.

  • РасписаниеВремя
  • Автоматизация событийПроисходит некое событие.

Обычная задача

Техническое задание, план, разработка, проверка, рецензирование. Использует слот агента; задайте ему более низкий приоритет.

P2P3

Запрос на объединение pull request

Оно не может самостоятельно объединить изменения или внести их в вашу базовую ветку.

Вы утверждаете

Автоматизация отличается лишь триггером. Она открывает обычную задачу по стандартному пути, используя реальные ресурсы и завершаясь созданием pull request, которую вы утверждаете.

Два типа триггеров

ТриггерЗапускиПример
РасписаниеВ установленное время, через заданный интервал или немедленно.Запрашивайте у Sentry новые ошибки каждый час и создавайте задачу для каждой из них.
Возникает событиеКогда GitHub или Coroid отправляют соответствующее событие.Рецензируйте каждый открытый в проекте pull request.

Используйте расписание, если триггером является время, или если объект наблюдения находится в другой системе, которая не отправляет события Coroid, например Sentry или Jira. Расписание запрашивает данные из этой системы через ваши MCP-серверы и открывает соответствующие задачи. См. MCP-серверы и открывает задачи для найденных элементов. См. Расписания.

Используйте событие, если Coroid может сообщить о моменте его возникновения. Такой подход экономит ресурсы по сравнению с расписанием, которое постоянно делает запросы.

События, которые можно выбрать в разделе «Новая работа»

От GitHub, для чего требуется GitHub App:

  • открытие, обновление или слияние pull request
  • создание задачи
  • упоминание Coroid в комментарии; учитывается только если автор имеет права на запись в репозиторий

От Coroid:

  • сбой задачи, плана, проверки качества, деплоя или проверки состояния деплоя
  • откат релиза

Сообщения в Slack и Telegram, новые задачи в Jira и события из собственных систем требуют наличия фильтра или учётной записи службы. Их можно настроить по шаблону в разделе «Настройки» → «Автоматизация», либо изменить событие автоматизации в её редакторе. См. Хуки.

Что она делает

При срабатывании триггера автоматизация выполняет одно из трёх действий:

  • Рецензируйте pull request. Coroid Check проводит рецензирование и публикует результаты на GitHub с комментариями к соответствующим строкам и проверкой под названием Coroid Review. Доступно для открытых или обновлённых pull-запросов.
  • Превратите его в задачу. Событие оформляется как запрос. После прохождения этапа Qualification Coroid создаёт соответствующую задачу или план. Доступно для задач и комментариев, содержащих упоминание Coroid.
  • Следуйте инструкции. Агент следует вашей инструкции, имея доступ только для чтения, и может создавать задачи. Доступно для любого события.

Ни одно из этих действий не вносит прямых изменений в ваш код. Задачи, созданные автоматизацией, проходят тот же путь спецификации, планирования, сборки, проверки и рецензирования, что и все остальные, и завершаются созданием pull request, который вы утверждаете.

Рецензируйте каждый pull request

Чтобы Coroid рецензировал открытые пользователями pull-запросы, а не только свои собственные:

  1. Откройте раздел «Новая работа» и выберите «Автоматизация».
  2. Выберите проект или оставьте поле пустым, чтобы охватить все проекты.
  3. В разделе «Триггер» выберите «Возникает событие». В поле «Событие» укажите «Открытие pull-запроса», а затем выберите «Рецензируйте pull request».
  4. Укажите заголовок и краткое описание, затем продолжайте.

Автоматизация рецензирует каждый новый pull request и каждое его обновление в этом проекте. Для этого репозиторий должен использовать GitHub App, а проект не должен быть настроен как «Локальный». Pull-запросы из задач Coroid не рецензируются повторно: их рецензирование уже включено в процесс выполнения задачи.

Вы также можете включить проверку pull-запросов для проекта в разделе «Quality Control». Тогда проверки проекта будут запускаться для каждого pull request также, а Coroid Check проведёт рецензирование в рамках одного процесса.

Наблюдение за автоматизацией

Откройте автоматизацию в фабрике, чтобы увидеть каждый запуск: время, затраты, созданные задачи и причины незавершённых запусков. Владельцы и администраторы могут приостановить, протестировать, изменить или удалить автоматизацию. Все сотрудники организации могут видеть автоматизации и их запуски.

Сохранение полезности автоматизаций

Задачи, созданные автоматизацией, конкурируют за те же слоты агентов, что и всё остальное. Часто срабатывающая автоматизация может незаметно исчерпать ваш ресурс.

  1. Установите для неё более низкий приоритет, чем для задач, запрошенных пользователями. P2 или P3.
  2. Сделайте триггер более точным. «Сбой проверки» срабатывает постоянно в загруженном репозитории. «Эта проверка завершилась ошибкой в базовой ветке» срабатывает только при реальной проблеме.
  3. Посмотрите, что она создала. Если автоматизация создала двадцать задач, а вы объединили только две, она генерирует шум и расходы, но не ценность.

Честная мера эффективности автоматизации — доля созданных ею задач, которые были объединены, а не частота её срабатывания.

Sentinel

В более ранних версиях этих документов упоминался Sentinel — монитор, отслеживающий определённые условия. Это не отдельная функция. Условие — это либо событие, на которое может реагировать автоматизация, либо проверка по расписанию.