Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

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

Вы можете использовать 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 при выполнении рабочих процессов. К периодам высокой загрузки относится начало каждого часа. Если нагрузка достаточно высока, некоторые задания в очереди могут быть удалены. Чтобы уменьшить вероятность задержки, запланируйте выполнение рабочего процесса в другое время часа.

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

Дальнейшие действия

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