[«28-github-действия»] (26 части серии)
Действия GitHub — это сочетание примитивов для пользователей для быстрого доставки интеграции для их REPOS. Некоторые из этих примитивов включают API, веб-каучуки и аутентификацию.
В этом посте я собираюсь сосредоточиться на API и Действия/Github-скрипт Отказ Это действие позволяет легко быстро написать скрипт в вашем рабочем процессе, который использует API GitHUB и включает в себя контекст Run Workflow.
Действия/GitHub-скрипт
Написать рабочие процессы сценариев Github API в JavaScript
Это действие позволяет легко быстро написать сценарий в вашем рабочем процессе, который использует API GitHUB и контекст запуска рабочего процесса.
Для того, чтобы использовать это действие, A Сценарий
вход предоставляется. Значение этого ввода должно быть телом асинхронного вызова функции. Следующие аргументы будут предоставлены:
Github
Предварительно аутентифицированный OctoKit/Core.js Клиент с конечными точками отдыха и плагинами Paginationконтекст
Объект, содержащий контекст работы рабочего процессаCore
Ссылка на @ Действия/CORE упаковкаИо
Ссылка на @ Действия/IO упаковка
С Сценарий
Это просто функциональное тело, эти значения уже будут определены, поэтому вам не нужно (см. Примеры ниже).
Посмотреть OCOKIT/REST.JS Для клиентской документации API.
Примечание Это действие все еще немного эксперимента — API может измениться в будущих версиях.
Разработка
Посмотреть Development.md Отказ
Результаты шага чтения
Возвращаемое значение сценария будет …
Чтобы использовать это действие, предусмотрен ввод сценария. Значение этого ввода должно быть телом асинхронного вызова функции. Следующие аргументы будут предоставлены:
Github
Предварительно аутентифицированный клиент Octokit/Core.js с конечными точками отдыха и плагинами Paginationконтекст
Объект, содержащий контекст работы рабочего процессаCore
Ссылка на пакет @ Действия/Основной пакетИо
Ссылка на пакет @ Действия/IO
Если вы знакомы с Octokit.rest.js или Проба Библиотека, вы найдете это довольно похоже.
Вот пример сценария, в котором я рассматриваю свои PRS на основе этикеток. GitHub Script позволяет писать JavaScript для обработки разных событий веб -ook, а в этом случае мы срабатываем рабочий процесс с метками на PR.
name: Review with labels on: pull_request: types: [labeled] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/github-script@0.8.0 name: Not an Action if: github.event.label.name == 'nocode' || github.event.label.name == 'not-an-action' with: script: | await github.issues.createComment({ owner: "github-hackathon", repo: "hackathon", issue_number: context.payload.number, body: "Submission is not a usable GitHub Action" }); await github.pulls.update({ owner: "github-hackathon", repo: "hackathon", pull_number: context.payload.number, state: "closed" }); - uses: actions/github-script@0.8.0 name: Featured if: github.event.label.name == 'featured' || github.event.label.name == 'good' with: script: | await github.pulls.merge({ owner: "github-hackathon", repo: "hackathon", pull_number: context.payload.number, }); - uses: actions/github-script@0.8.0 name: Fork if: github.event.label.name == 'fork' with: script: | await github.issues.createComment({ owner: "github-hackathon", repo: "hackathon", issue_number: context.payload.number, body: "Submission is a fork and does not represent the submitter as the author." }); await github.pulls.update({ owner: "github-hackathon", repo: "hackathon", pull_number: context.payload.number, state: "closed" }); - uses: actions/github-script@0.8.0 name: Ended if: github.event.label.name == 'late' with: script: | await github.issues.createComment({ owner: "github-hackathon", repo: "hackathon", issue_number: context.payload.number, body: "Submission received after the Hackathon has ended." }); await github.pulls.update({ owner: "github-hackathon", repo: "hackathon", pull_number: context.payload.number, state: "closed" });
Посмотреть OCOKIT/REST.JS Для документации клиента API для получения дополнительной информации о том, что вы можете сделать.
Это часть моих 28 дней серии действий. Чтобы получить уведомление о большего количества подсказки GitHub, следуйте за организацией GitHub прямо здесь на Dev.
Запустите свои действия Github, как makefile
Брайан Дуглас · 13 февраля · 1 мин прочитал
[«28-github-действия»] (26 части серии)
Оригинал: «https://dev.to/github/automate-your-pr-reviews-with-github-action-scripting-in-javascript-3en2»