Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Введение
В этом руководстве показано, как использовать действие actions/github-script
в рабочем процессе для добавления меток к новым открытым или повторно открытым проблемам. Например, метку triage
можно добавлять при каждом открытии или повторном открытии проблемы. Затем можно просмотреть все проблемы, которые необходимо уделить внимание, отфильтровав проблемы с меткой triage
.
Это actions/github-script
действие позволяет легко использовать API GitHub в рабочем процессе.
В этом руководстве вы сначала создадите файл рабочего процесса, использующий действие actions/github-script
. Затем вы настроите рабочий процесс в соответствии с вашими потребностями.
Создание рабочего процесса
-
Выберите репозиторий, в котором вы хотите применить этот рабочий процесс управления проектами. Вы можете использовать существующий репозиторий, к которому у вас есть доступ для записи, или создать репозиторий. Дополнительные сведения о создании репозитория см. в разделе "Создание репозитория".
-
В репозитории создайте файл с именем
.github/workflows/YOUR_WORKFLOW.yml
, гдеYOUR_WORKFLOW
— это любое имя на ваш выбор. Это файл рабочего процесса. Дополнительные сведения о создании новых файлов на сайте GitHub см. в разделе "Создание новых файлов". -
Скопируйте следующее содержимое YAML в файл рабочего процесса.
YAML name: Label issues on: issues: types: - reopened - opened jobs: label_issues: runs-on: ubuntu-latest permissions: issues: write steps: - uses: actions/github-script@v6 with: script: | github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, labels: ["triage"] })
name: Label issues on: issues: types: - reopened - opened jobs: label_issues: runs-on: ubuntu-latest permissions: issues: write steps: - uses: actions/github-script@v6 with: script: | github.rest.issues.addLabels({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, labels: ["triage"] })
-
script
Настройте параметр в файле рабочего процесса:- Значения
issue_number
иrepo
значенияowner
автоматически задаются с помощьюcontext
объекта. Изменить их не нужно. - В качестве значения для
labels
укажите список меток, которые вы хотите добавить к проблеме. Несколько меток следует разделять запятыми. Например,["help wanted", "good first issue"]
. Дополнительные сведения о метках см. в разделе "Управление метками".
- Значения
-
Зафиксируйте файл рабочего процесса в ветви по умолчанию вашего репозитория. Дополнительные сведения см. в разделе "Создание новых файлов".
Тестирование рабочего процесса
При каждом открытии или повторном открытии проблемы в репозитории этот рабочий процесс будет добавлять к ней указанные метки.
Протестируйте рабочий процесс, создав проблему в репозитории.
- Создайте проблему в репозитории. Дополнительные сведения см. в разделе "Создание проблемы".
- Чтобы просмотреть выполнение рабочего процесса, которое было активировано путем создания проблемы, просмотрите журнал выполнений рабочего процесса. Дополнительные сведения см. в разделе "Просмотр журнала выполнения рабочего процесса".
- После завершения рабочего процесса к созданной проблеме должны быть добавлены указанные метки.
Далее
- Дополнительные сведения о дополнительных действиях, которые можно сделать с действием
actions/github-script
, см. вactions/github-script
документации по действию. - Дополнительные сведения о различных событиях, которые могут активировать рабочий процесс, см. в разделе "События, инициирующие рабочие процессы".
- Выполните поиск в GitHub, чтобы найти примеры рабочих процессов, использующих это действие.