Как запустить 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

Источник: https://www.kobzarev.com/programming/trigger-a-github-action-with-an-http-request/

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

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: