Skip to main content

Выпуск GitHub AE сейчас ограничен.

Планирование создания проблем

Вы можете использовать GitHub Actions, чтобы регулярно создавать проблему для таких задач, как ежедневные совещания или ежеквартальные проверки.

Введение

В этом руководстве показано, как регулярно создавать проблемы с помощью действия imjohnbo/issue-bot. Например, вы можете создавать проблему каждую неделю и использовать ее в качестве повестки дня для собрания команды.

В этом руководстве вы сначала создадите файл рабочего процесса, использующий действие imjohnbo/issue-bot. Затем вы настроите рабочий процесс в соответствии с вашими потребностями.

Создание рабочего процесса

  1. Выберите репозиторий, в котором вы хотите применить этот рабочий процесс управления проектами. Вы можете использовать существующий репозиторий, к которому у вас есть доступ для записи, или создать репозиторий. Дополнительные сведения о создании репозитория см. в разделе "Создание репозитория".

  2. В репозитории создайте файл с именем .github/workflows/YOUR_WORKFLOW.yml, где YOUR_WORKFLOW — это любое имя на ваш выбор. Это файл рабочего процесса. Дополнительные сведения о создании новых файлов на сайте GitHub см. в разделе "Создание новых файлов".

  3. Скопируйте следующее содержимое 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 }}
    
  4. Настройте параметры в файле рабочего процесса.

    • Измените значение для on.schedule, чтобы определить время выполнения рабочего процесса. В приведенном выше примере рабочий процесс будет запускаться каждый день в 7:20 (в формате UTC). Дополнительные сведения о запланированных рабочих процессах см. в разделе "События, инициирующие рабочие процессы".
    • Измените значение assignees на список пользователей GitHub, которых вы хотите назначить проблеме.
    • В качестве значения для labels укажите список меток, которые вы хотите применить к проблеме.
    • Измените значение title на желаемый заголовок проблемы.
    • Измените значение body на желаемый текст проблемы. С помощью символа | можно использовать для этого параметра многострочное значение.
    • Если вы хотите закрепить эту проблему в репозитории, задайте для pinned значение true. Дополнительные сведения о закрепленных проблемах см. в разделе "Закрепление проблемы в репозитории".
    • Если вы хотите закрывать предыдущую проблему, созданную этим рабочим процессом, при каждом создании новой проблемы, задайте для close-previous значение true. Рабочий процесс закроет последнюю проблему с метками, определенными в поле labels. Чтобы случайно не закрыть не ту проблему, используйте уникальную метку или сочетание меток.
  5. Зафиксируйте файл рабочего процесса в ветви по умолчанию вашего репозитория. Дополнительные сведения см. в разделе "Создание новых файлов".

Ожидаемые результаты

На основе параметра schedule (например, каждый понедельник в 7:20 UTC) рабочий процесс будет создавать новую проблему с назначенными участниками, метками, заголовком и текстом, которые вы указали. Если для pinned задано значение true, рабочий процесс закрепит проблему в репозитории. Если для close-previous задано значение true, рабочий процесс закроет последнюю проблему с соответствующими метками.

Примечание. Событие schedule можно отложить в периоды высокой загрузки GitHub Actions при выполнении рабочих процессов. К периодам высокой загрузки относится начало каждого часа. Если загрузка достаточно высока, некоторые задания в очереди могут быть удалены. Чтобы уменьшить вероятность задержки, запланируйте выполнение рабочего процесса в другое время часа.

Чтобы периодически отслеживать выполнение рабочего процесса, можно просматривать историю его выполнений. Дополнительные сведения см. в разделе «AUTOTITLE».

Следующие шаги

  • Чтобы узнать больше о дополнительных действиях, которые можно выполнить с действием imjohnbo/issue-bot, например смена назначенных участников или использование шаблона проблемы, см. документацию по действию imjohnbo/issue-bot.
  • Выполните поиск в GitHub, чтобы найти примеры рабочих процессов, использующих это действие.