Триггеры рабочих процессов

Триггеры рабочих процессов
New

Триггер рабочего процесса — это событие, которые вызывает выполнение рабочего процесса раннером.

Вы можете настроить рабочие процессы так, чтобы они запускались при выполнении определенных действий на GitVerse, в запланированное время или при наступлении события за пределами GitVerse.

Некоторые события имеют несколько типов активности. Для таких событий можно указать, какие типы активности будут вызывать запуск рабочего процесса.

pull_request

Пример запуска для события pull_request в .yaml-файл:

name: Демонстрация защиты ветки
on:
  pull_request:  # job'ы будет запущены при создании и обновлении запроса
jobs:
  build-test:
    name: CICD branch protection
    runs-on: ubuntu-latest
    steps:
      - name: Display pull request title

schedule
New

Условия выполнения:

  1. Событие срабатывает, только если файл рабочего процесса находится в ветке по умолчанию.
  2. Запланированные процессы выполняются только в ветке по умолчанию.
  3. В публичных репозиториях такие процессы отключаются автоматически, если не было активности в течение 60 дней.
  4. Некоторые действия в репозитории могут сменить пользователя-инициатора (actor) процесса.
  5. Если у отключённого процесса пользователь с правами write изменит расписание (cron), то процесс будет повторно активирован, а этот пользователь станет новым actor.

Пример запуска по расписанию (используется cron-синтаксис стандарта POSIX):

on:
  schedule:
    - cron: "15 4,5 * * *"   # <=== Измените это значение

Cron-синтаксис использует пять полей, разделенных пробелами. Каждое поле — единица времени:

┌───────────── минута (0 - 59)
│ ┌───────────── час (0 - 23)
│ │ ┌───────────── день месяца (1 - 31)
│ │ │ ┌───────────── месяц (1 - 12 или JAN-DEC)
│ │ │ │ ┌───────────── день недели (0 - 6 или SUN-SAT)
│ │ │ │ │
* * * * *

Допустимые операторы

ОператорОписаниеПример
*любое значение15 * * * * — 15-я минута каждого часа
,список значений2,10 4,5 * * * — 2 и 10 мин. 4 и 5 часов
-диапазон значений30 4-6 * * * — 30 мин. 4–6 часов
/шаг значений20/15 * * * * — каждые 15 мин. начиная с 20-й

Поддерживается специфичный синтаксис вида: @yearly, @monthly, @weekly, @daily, @hourly.

Для генерации cron можно использовать crontab guru (opens in a new tab) или примеры cron (opens in a new tab).

Перечень терминов и определений

  1. Термин хеш коммита.
  2. Термин SHA, Secure Hash Algorithm.