{"meta":{"title":"課題作成のスケジューリング","intro":"GitHub Actions を使用して、毎日の会議や四半期ごとのレビューなどの Issue を定期的に作成できます。","product":"GitHub Actions","breadcrumbs":[{"href":"/ja/actions","title":"GitHub Actions"},{"href":"/ja/actions/tutorials","title":"チュートリアル"},{"href":"/ja/actions/tutorials/manage-your-work","title":"作業を管理する"},{"href":"/ja/actions/tutorials/manage-your-work/schedule-issue-creation","title":"issue の作成をスケジュールする"}],"documentType":"article"},"body":"# 課題作成のスケジューリング\n\nGitHub Actions を使用して、毎日の会議や四半期ごとのレビューなどの Issue を定期的に作成できます。\n\n## はじめに\n\nこのチュートリアルでは、GitHub CLIを使用して定期的にissueを作成する方法を示します。 たとえば、毎週課題を作成して、チーム会議のアジェンダとして使用できます。 GitHub CLI について詳しくは、「[ワークフローでの GitHub CLI の使用](/ja/actions/using-workflows/using-github-cli-in-workflows)」をご覧ください。\n\nこのチュートリアルでは、まず GitHub CLI を使用するワークフロー ファイルを作成します。 次に、ニーズに合わせてワークフローをカスタマイズします。\n\n## ワークフローの作成\n\n1. このプロジェクト管理ワークフローを適用したいリポジトリを選択してください。 書き込みアクセス権を持つ既存のリポジトリを利用することも、新しいリポジトリを作成することもできます。 リポジトリの作成について詳しくは、「[新しいリポジトリの作成](/ja/repositories/creating-and-managing-repositories/creating-a-new-repository)」をご覧ください。\n\n2. リポジトリに `.github/workflows/YOUR_WORKFLOW.yml` というファイルを作成します (`YOUR_WORKFLOW` は任意の名前に置き換えます)。 これがワークフローファイルです。 GitHub での新しいファイルの作成について詳しくは、「[新しいファイルの作成](/ja/repositories/working-with-files/managing-files/creating-new-files)」をご覧ください。\n\n3. 次の YAML コンテンツをワークフローファイルにコピーします。\n\n   ```yaml copy\n   name: Weekly Team Sync\n   on:\n     schedule:\n       - cron: 20 07 * * 1\n\n   jobs:\n     create_issue:\n       name: Create team sync issue\n       runs-on: ubuntu-latest\n       permissions:\n         issues: write\n       steps:\n         - name: Create team sync issue\n           run: |\n             if [[ $CLOSE_PREVIOUS == true ]]; then\n               previous_issue_number=$(gh issue list \\\n                 --label \"$LABELS\" \\\n                 --json number \\\n                 --jq '.[0].number')\n               if [[ -n $previous_issue_number ]]; then\n                 gh issue close \"$previous_issue_number\"\n                 gh issue unpin \"$previous_issue_number\"\n               fi\n             fi\n             new_issue_url=$(gh issue create \\\n               --title \"$TITLE\" \\\n               --assignee \"$ASSIGNEES\" \\\n               --label \"$LABELS\" \\\n               --body \"$BODY\")\n             if [[ $PINNED == true ]]; then\n               gh issue pin \"$new_issue_url\"\n             fi\n           env:\n             GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n             GH_REPO: ${{ github.repository }}\n             TITLE: Team sync\n             ASSIGNEES: monalisa,doctocat,hubot\n             LABELS: weekly sync,docs-team\n             BODY: |\n               ### Agenda\n\n               - [ ] Start the recording\n               - [ ] Check-ins\n               - [ ] Discussion points\n               - [ ] Post the recording\n\n               ### Discussion Points\n               Add things to discuss below\n\n               - [Work this week](https://github.com/orgs/github/projects/3)\n             PINNED: false\n             CLOSE_PREVIOUS: false\n   ```\n\n4. ワークフローファイルのパラメータをカスタマイズします。\n   \\*\n   `on.schedule` の値を変更して、このワークフローを実行する日時を指定します。 上記の例では、ワークフローは毎週月曜日の 7:20 UTC に実行されます。 スケジュールされたワークフローについて詳しくは、「[ワークフローをトリガーするイベント](/ja/actions/using-workflows/events-that-trigger-workflows#scheduled-events)」をご覧ください。\n   \\*\n   `ASSIGNEES` の値を、Issue に割り当てる GitHub のユーザー名のリストに変更します。\n   \\*\n   `LABELS` の値を、問題に適用するラベルのリストに変更します。\n   \\*\n   `TITLE` の値を、課題の希望するタイトルに変更します。\n   \\*\n   `BODY` の値を、Issue の本文のテキストに変更します。\n   `|` 文字を使用すると、このパラメーターに複数行の値を使用できます。\n   * この Issue をリポジトリにピン止めする場合は、`PINNED` を `true` に設定します。 ピン留めされた課題について詳しくは、「[Issue をリポジトリにピン止めする](/ja/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository)」をご覧ください。\n   * 新しい Issue が作成されるたびにこのワークフローで生成された以前の Issue をクローズする場合は、`CLOSE_PREVIOUS` を `true` に設定します。 ワークフローにより、`labels` フィールドで定義されているラベルを持つ最新の Issue が閉じられます。 間違った Issue をクローズしないようにするには、一意のラベルまたはラベルの組み合わせを使用します。\n\n5. ワークフローファイルを、リポジトリのデフォルトブランチにコミットしてください。 詳しくは、「[新しいファイルの作成](/ja/repositories/working-with-files/managing-files/creating-new-files)」をご覧ください。\n\n## 予想される結果\n\n```\n          `schedule` パラメーター (たとえば、毎週月曜日の 7:20 UTC) に基づき、ワークフローにより、指定した担当者、ラベル、タイトル、本文を使用して新しい Issue が作成されます。 \n          `PINNED` を `true` に設定すると、ワークフローによって Issue がリポジトリにピン留めされます。 \n          `CLOSE_PREVIOUS` を true に設定すると、ワークフローによりラベルが一致する最新の Issue がクローズされます。\n```\n\n> \\[!NOTE]\n> GitHub Actions のワークフローの実行によって高い負荷がかかっている間、`schedule` イベントが遅延する可能性があります。 高負荷の時間帯には、毎時の開始時点が含まれます。 負荷が十分に高い場合、キューに登録されたジョブの一部が削除される可能性があります。 遅延の可能性を減らすために、Ⅰ時間の中の別の時間帯に実行されるようワークフローをスケジューリングしてください。\n\nワークフローの実行履歴を表示して、このワークフローが定期的に実行されているかどうかを確認できます。 詳しくは、「[ワークフロー実行の履歴を表示する](/ja/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history)」をご覧ください。\n\n## 次のステップ\n\n* 問題テンプレートの使用など、GitHub CLI で実行できるその他の操作の詳細については、[`gh issue create` ドキュメント](https://cli.github.com/manual/gh_issue_create)を参照してください。\n* [GitHub Marketplace](https://github.com/marketplace?category=\\&type=actions\\&verification=\\&query=schedule+issue) で 、スケジュールされた問題に関連するアクションを検索します。"}