Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Введение
В этом руководстве показано, как регулярно создавать проблемы с помощью действия imjohnbo/issue-bot
. Например, вы можете создавать проблему каждую неделю и использовать ее в качестве повестки дня для собрания команды.
В этом руководстве вы сначала создадите файл рабочего процесса, использующий действие imjohnbo/issue-bot
. Затем вы настроите рабочий процесс в соответствии с вашими потребностями.
Создание рабочего процесса
-
Выберите репозиторий, в котором вы хотите применить этот рабочий процесс управления проектами. Вы можете использовать существующий репозиторий, к которому у вас есть доступ для записи, или создать репозиторий. Дополнительные сведения о создании репозитория см. в разделе Создание репозитория.
-
В репозитории создайте файл с именем
.github/workflows/YOUR_WORKFLOW.yml
, гдеYOUR_WORKFLOW
— это любое имя на ваш выбор. Это файл рабочего процесса. Дополнительные сведения о создании новых файлов на GitHub см. в разделе Создание новых файлов. -
Скопируйте следующее содержимое YAML в файл рабочего процесса.
YAML # Этот рабочий процесс использует действия, которые не сертифицированы GitHub. # Они предоставляются сторонним поставщиком, и на них распространяются # отдельные условия обслуживания, политика конфиденциальности и поддержка # документации. # GitHub рекомендует закрепить действия в фиксации SHA. # Чтобы получить более новую версию, потребуется обновить SHA. # Вы также можете ссылаться на тег или ветвь, однако действие может измениться без предупреждения. name: Weekly Team Sync on: schedule: - cron: 20 07 * * 1 jobs: create_issue: name: Create team sync issue runs-on: ubuntu-latest permissions: issues: write steps: - name: Create team sync issue uses: imjohnbo/issue-bot@3d96848fb5e9a4a473bb81ae62b4b4866a56e93a with: assignees: "monalisa, doctocat, hubot" labels: "weekly sync, docs-team" title: "Team sync" body: | ### Agenda - [ ] Start the recording - [ ] Check-ins - [ ] Discussion points - [ ] Post the recording ### Discussion Points Add things to discuss below - [Work this week](https://github.com/orgs/github/projects/3) pinned: false close-previous: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
Настройте параметры в файле рабочего процесса.
- Измените значение для
on.schedule
, чтобы определить время выполнения рабочего процесса. В приведенном выше примере рабочий процесс будет запускаться каждый день в 7:20 (в формате UTC). Дополнительные сведения о запланированных рабочих процессах см. в разделе События, инициирующие рабочие процессы. - Измените значение
assignees
на список пользователей GitHub, которых вы хотите назначить проблеме. - В качестве значения для
labels
укажите список меток, которые вы хотите применить к проблеме. - Измените значение
title
на желаемый заголовок проблемы. - Измените значение
body
на желаемый текст проблемы. С помощью символа|
можно использовать для этого параметра многострочное значение. - Если вы хотите закрепить эту проблему в репозитории, задайте для
pinned
значениеtrue
. Дополнительные сведения о закрепленных проблемах см. в разделе Закрепление проблемы в репозитории. - Если вы хотите закрывать предыдущую проблему, созданную этим рабочим процессом, при каждом создании новой проблемы, задайте для
close-previous
значениеtrue
. Рабочий процесс закроет последнюю проблему с метками, определенными в полеlabels
. Чтобы случайно не закрыть не ту проблему, используйте уникальную метку или сочетание меток.
- Измените значение для
-
Зафиксируйте файл рабочего процесса в ветви по умолчанию вашего репозитория. Дополнительные сведения см. в разделе Создание новых файлов.
Ожидаемые результаты
На основе параметра schedule
(например, каждый понедельник в 7:20 UTC) рабочий процесс будет создавать новую проблему с назначенными участниками, метками, заголовком и текстом, которые вы указали. Если для pinned
задано значение true
, рабочий процесс закрепит проблему в репозитории. Если для close-previous
задано значение true, рабочий процесс закроет последнюю проблему с соответствующими метками.
Примечание. Событие schedule
можно отложить в периоды высокой загрузки GitHub Actions при выполнении рабочих процессов. К периодам высокой загрузки относится начало каждого часа. Если нагрузка достаточно высока, некоторые задания в очереди могут быть удалены. Чтобы уменьшить вероятность задержки, запланируйте выполнение рабочего процесса в другое время часа.
Чтобы периодически отслеживать выполнение рабочего процесса, можно просматривать историю его выполнений. Дополнительные сведения см. в разделе Просмотр истории выполнения рабочего процесса.
Дальнейшие действия
- Чтобы узнать больше о дополнительных действиях, которые можно выполнить с действием
imjohnbo/issue-bot
, например смена назначенных участников или использование шаблона проблемы, см. документацию по действиюimjohnbo/issue-bot
. - Выполните поиск в GitHub, чтобы найти примеры рабочих процессов, использующих это действие.