Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Scheduling issue creation

You can use GitHub Actions to create an issue on a regular basis for things like daily meetings or quarterly reviews.

Введение

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

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

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

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

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

  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@3daae12aa54d38685d7ff8459fc8a2aee8cea98b
            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). Дополнительные сведения о запланированных рабочих процессах см. в разделе Events that trigger workflows.
    • Измените значение assignees на список пользователей GitHub, которых вы хотите назначить проблеме.
    • В качестве значения для labels укажите список меток, которые вы хотите применить к проблеме.
    • Измените значение title на желаемый заголовок проблемы.
    • Измените значение body на желаемый текст проблемы. С помощью символа | можно использовать для этого параметра многострочное значение.
    • Если вы хотите закрепить эту проблему в репозитории, задайте для pinned значение true. Дополнительные сведения о закрепленных проблемах см. в разделе Закрепление проблемы в репозитории.
    • Если вы хотите закрывать предыдущую проблему, созданную этим рабочим процессом, при каждом создании новой проблемы, задайте для close-previous значение true. Рабочий процесс закроет последнюю проблему с метками, определенными в поле labels. Чтобы случайно не закрыть не ту проблему, используйте уникальную метку или сочетание меток.
  5. Зафиксируйте файл рабочего процесса в ветви по умолчанию вашего репозитория. Дополнительные сведения см. в разделе Creating new files.

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

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

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

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

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

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