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.

计划议题的创建

您可以使用 GitHub Actions 定期为日常会议或季度审查等事项创建议题。

注意:GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。 可以在 GitHub public roadmap 上查看有关未来支持计划的更多信息。

简介

本教程演示如何使用 imjohnbo/issue-bot 操作定期创建议题。 例如,您可以每周创建一个议题,用作团队会议的议程。

在本教程中,你将首先创建一个使用 imjohnbo/issue-bot 操作的工作流文件。 然后,您将自定义工作流以适应您的需要。

创建工作流程

  1. 选择要应用此项目管理工作流程的仓库。 您可以使用您有写入权限的现有仓库,或者创建一个新的仓库。 有关创建存储库的详细信息,请参阅“新建存储库”。

  2. 在存储库中,创建一个名为 .github/workflows/YOUR_WORKFLOW.yml 的文件,将 YOUR_WORKFLOW 替换为你选择的名称。 这是一个工作流程文件。 有关在 GitHub 上创建新文件的详细信息,请参阅“创建新文件”。

  3. 将以下 YAML 内容复制到工作流程文件中。

    YAML
    # <a name="this-workflow-uses-actions-that-are-not-certified-by-github"></a>此工作流使用未经 GitHub 认证的操作。
    # <a name="they-are-provided-by-a-third-party-and-are-governed-by"></a>它们由第三方提供,并受
    # <a name="separate-terms-of-service-privacy-policy-and-support"></a>单独的服务条款、隐私政策和支持
    # <a name="documentation"></a>文档。
    
    # <a name="github-recommends-pinning-actions-to-a-commit-sha"></a>GitHub 建议将操作固定到提交 SHA。
    # <a name="to-get-a-newer-version-you-will-need-to-update-the-sha"></a>若要获取较新版本,需要更新 SHA。
    # <a name="you-can-also-reference-a-tag-or-branch-but-the-action-may-change-without-warning"></a>还可以引用标记或分支,但该操作可能会更改而不发出警告。
    
    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 运行。 有关计划工作流的详细信息,请参阅“计划事件”。
    • 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 以获取使用此操作的工作流示例。