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 以获取使用此操作的工作流示例。