Верх страницы
Обложка к записи Как запустить GitHub Action при помощи HTTP-запроса
Время для прочтения: 0 мин. 48 сек.

Как запустить GitHub Action при помощи HTTP-запроса

В этом руководстве мы рассмотрим, как можно запустить GitHub Action с помощью HTTP-запроса, используя команду curl.

Это очень быстро и просто, поэтому давайте посмотрим, как запустить GitHub Action в несколько простых шагов. Для начала давайте вспомним, что такое curl.

Curl

Curl расшифровывается как клиентский URL. Это инструмент командной строки, который мы можем легко использовать для передачи данных на сервер и получения информации с сервера.

Он позволяет нам общаться с сервером, указывая его адрес. Мы будем использовать curl для отправки API-запросов.

Для успешного запуска Github Action необходимо выполнить три основных шага:

  • Создать Github Action
  • Сгенерировать персональный токен доступа
  • Выполнить HTTP-запрос.

Первый шаг

Вы можете использовать API GitHub для вызова события webhook, называемого repository_dispatch, когда вам нужно запустить рабочий процесс для действий, которые происходят вне GitHub. Мы вызываем действие вне GitHub, поэтому мы должны создать его с событием repository_dispatch.

Теперь создайте новый GitHub Action с событием repository_dispatch . Это такое же событие, которое используется при запуске через пользовательский интерфейс. Я создал файл .yml, который вы можете увидеть ниже.

name: Do Something That Needs Scheduled

on:
  repository_dispatch:
    types: do-something
jobs:
  build:
    name: Run Some Thing
    runs-on: ubuntu-latest
    steps:
      - name: Do Something
        run: echo Doing Something...

Второй шаг

Для запуска GitHub Action через команду curl вам нужен персональный токен доступа для использования API GitHub. Поэтому убедитесь, что у вас есть такой токен доступа, если нет, вы можете создать новый, используя следующую ссылку.

Убедитесь, что вы добавили права repo и workflow.

Третий шаг

Чтобы вызвать пользовательское событие repository_dispatch , необходимо отправить POST-запрос в конечную точку API GitHub.

Укажите имя event_type для описания типа действия.

Чтобы запустить выполнение рабочего процесса, также укажите в конфиге, что нужно использовать события repository_dispatch .

curl -H "Accept: application/vnd.github.everest-preview+json" \
    -H "Authorization: token <your personal access token>" \
    --request POST \
    --data '{"event_type": "do-something"}' \
    https://api.github.com/repos/<username>/<repo>/dispatches

Выполните приведенную выше команду в терминале.

Если вы хотите проверить, запускается ли GitHub Action или нет, вы можете сделать это с помощью следующей команды:

curl -H "Accept: application/vnd.github.everest-preview+json" \
    -H "Authorization: token <your personal access token>" \
  --request GET   \
  --data '{"event_type": "do-something"}' \
  https://api.github.com/repos/<username>/<repo>/actions/runs

Источник: Trigger a GitHub action with an HTTP Request

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, Opencart, DLE, Laravel, Moonshine, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Предыдущая запись

Давайте дружить
в Телеграме

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы