返回

Issue 助手——让你的 Github issue 自动管理更轻松

前端

Issues 助手:解放你的双手,轻松驾驭 issue 管理

Issues 是 GitHub 上一个强大的功能,可以让你和你的团队轻松管理项目的 issue。但如果你经常使用 GitHub,你可能也遇到过这样的问题:issue 越积越多,管理起来很麻烦;有些 issue 已经解决,但却没有及时关闭;有些 issue 的优先级很高,但却没有得到及时的处理。

为了解决这些问题,我们引进了 Issues 助手, 一个 GitHub Action,帮助你自动管理 issues。Issues 助手可以做到以下几点:

  • 自动关闭已解决的 issue
  • 自动标记高优先级的 issue
  • 自动提醒你处理 overdue 的 issue
  • 自动将 issue 分配给合适的团队成员
  • 自动生成 issue 报告

Issues 助手可以让你轻松驾驭 issue 管理,让你把更多的时间花在开发和创造上。

如何使用 Issues 助手

使用 Issues 助手非常简单,你只需要按照以下步骤操作即可:

  1. 在你的 GitHub 项目中创建一个新的 GitHub Action 工作流。
  2. 在工作流文件中,添加以下内容:
name: Issues 助手

on:
  issues:
    types: [opened, closed, reopened]

jobs:
  issue_management:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: 自动关闭已解决的 issue
        uses: actions/stale@v2
        with:
          days-before-stale: 30
          stale-message: "This issue has been open for 30 days with no activity. If you are still experiencing this issue, please comment with an update."
          close-issue-message: "This issue has been closed due to inactivity. If you are still experiencing this issue, please create a new issue."

      - name: 自动标记高优先级的 issue
        uses: actions/labeler@v2
        with:
          configuration-path: .github/labeler.yml

      - name: 自动提醒你处理 overdue 的 issue
        uses: actions/github-script@v1
        with:
          script: |
            const overdueIssues = await github.issues.listForRepo({
              owner: context.repo.owner,
              repo: context.repo.repo,
              state: 'open',
              sort: 'created',
              direction: 'asc',
              since: new Date(Date.now() - (14 * 24 * 60 * 60 * 1000))
            });
            if (overdueIssues.data.length > 0) {
              const overdueIssueNumbers = overdueIssues.data.map(issue => issue.number);
              const overdueIssueTitles = overdueIssues.data.map(issue => issue.title);
              const overdueIssueMessage = `The following issues are overdue:\n\n${overdueIssueNumbers.join('\n')}\n\n${overdueIssueTitles.join('\n')}`;
              await github.issues.createComment({
                owner: context.repo.owner,
                repo: context.repo.repo,
                issue_number: context.issue.number,
                body: overdueIssueMessage
              });
            }

      - name: 自动将 issue 分配给合适的团队成员
        uses: actions/auto-assign@v1
        with:
          assignees: "team-name"

      - name: 自动生成 issue 报告
        uses: actions/create-issue-report@v1
        with:
          types: [closed, open]
          label: "bug"
          output_file: "issue_report.txt"
  1. 保存工作流文件。
  2. 推送你的代码到 GitHub。

Issues 助手将在每次有新的 issue 创建、关闭或重新打开时自动运行。

结语

Issues 助手是一个强大的工具,可以帮助你轻松驾驭 issue 管理。如果你正在寻找一个能够帮你自动管理 issue 的工具,那么 Issues 助手是一个不错的选择。