{"meta":{"title":"计划议题的创建","intro":"你可以使用 GitHub Actions 定期为日常会议或季度评审等事项创建议题。","product":"GitHub Actions","breadcrumbs":[{"href":"/zh/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/zh/enterprise-cloud@latest/actions/tutorials","title":"教程"},{"href":"/zh/enterprise-cloud@latest/actions/tutorials/manage-your-work","title":"管理你的工作"},{"href":"/zh/enterprise-cloud@latest/actions/tutorials/manage-your-work/schedule-issue-creation","title":"计划问题创建"}],"documentType":"article"},"body":"# 计划议题的创建\n\n你可以使用 GitHub Actions 定期为日常会议或季度评审等事项创建议题。\n\n## 简介\n\n本教程演示如何定期使用 GitHub CLI 创建问题。 例如，您可以每周创建一个议题，用作团队会议的议程。 有关 GitHub CLI 的详细信息，请参阅 [在工作流中使用 GitHub CLI](/zh/enterprise-cloud@latest/actions/how-tos/write-workflows/choose-what-workflows-do/use-github-cli)。\n\n在本教程中，你将首先创建一个使用 GitHub CLI 的工作流文件。 然后，您将自定义工作流以适应您的需要。\n\n## 创建工作流程\n\n1. 选择要应用此项目管理工作流程的仓库。 您可以使用您有写入权限的现有仓库，或者创建一个新的仓库。 有关创建仓库的详细信息，请参阅 [创建新仓库](/zh/enterprise-cloud@latest/repositories/creating-and-managing-repositories/creating-a-new-repository)。\n\n2. 在存储库中，创建一个名为 `.github/workflows/YOUR_WORKFLOW.yml` 的文件，将 `YOUR_WORKFLOW` 替换为你选择的名称。 这是一个工作流程文件。 有关在 GitHub 上创建新文件的详细信息，请参阅 [创建新文件](/zh/enterprise-cloud@latest/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   * 更改 `on.schedule` 的值以指示你希望何时运行此工作流。 在上面的示例中，工作流将于每周一 7:20 UTC 运行。 有关计划工作流的详细信息，请参阅“[触发工作流的事件](/zh/enterprise-cloud@latest/actions/reference/workflows-and-actions/events-that-trigger-workflows#schedule)”。\n   * 将 `ASSIGNEES` 的值更改为要分配给该问题的 GitHub 用户名列表。\n   * 将 `LABELS` 的值更改为你想要应用于此议题的标签列表。\n   * 将 `TITLE` 的值更改为你希望该议题拥有的标题。\n   * 将 `BODY` 的值更改为你想要用于议题正文的文本。 使用 `|` 字符可以为此参数使用多行值。\n   * 如果想要将这个议题固定在存储库中，请将 `PINNED` 设置为 `true`。 有关固定议题的详细信息，请参阅「[将议题固定到仓库](/zh/enterprise-cloud@latest/issues/tracking-your-work-with-issues/administering-issues/pinning-an-issue-to-your-repository)」。\n   * 如果你想在每次新建议题时关闭此工作流生成的上一个议题，请将 `CLOSE_PREVIOUS` 设置为 `true`。 工作流将关闭具有 `labels` 字段中定义的标签的最新议题。 为避免关闭错误的议题，请使用独特的标签或标签组合。\n\n5. 将工作流程文件提交到仓库的默认分支。 有关详细信息，请参阅“[创建新文件](/zh/enterprise-cloud@latest/repositories/working-with-files/managing-files/creating-new-files)”。\n\n## 预期结果\n\n根据 `schedule` 参数（例如，每周一 7:20 UTC），你的工作流将使用你指定的受理人、标签、标题和正文创建新议题。 如果将 `PINNED` 设置为 `true`，工作流会将此议题固定到存储库。 如果将 `CLOSE_PREVIOUS` 设置为 true，工作流将关闭具有匹配标签的最新问题。\n\n> \\[!NOTE]\n> `schedule` 事件在 GitHub Actions 工作流运行期间负载过高时可能会延迟。 高负载时间包括每小时的开始时间。 如果负载足够高，可能会删除一些排队作业。 为了降低延迟的可能性，将您的工作流程安排在不同时间运行。\n\n您可以查看工作流程运行的历史记录，以了解该工作流程是如何定期运行的。 有关详细信息，请参阅“[查看工作流程运行历史记录](/zh/enterprise-cloud@latest/actions/how-tos/monitor-workflows/view-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)与计划问题相关的操作。"}