经常玩 GitHub 的童鞋想必对 Issues 都不陌生。它是连接维护者和使用者的一个重要方式。
对于维护者:
- 可以收集、处理产品的 Bug 和 新特性。
- 建立以产品为中心的社区。
- 根据 issue 可定位产品薄弱环节和未来走向。
对于使用者:
- 可以通过 issue 咨询使用问题,也可查询以往 issue 来解决自己遇到的问题。
- 与不同的使用者交流经验,也可能会是国际友人。
- 与维护者交流,并可参与到产品的开发中来。
所以经常会看到各大项目有成千上百的 Issues 待处理,而且每天都在增长。长久以往就给维护者带来了一个很的问题:这么多 Issues,如何有效的进行自动化管理呢?
接下来,容我介绍下,今天的主角:
Issues 助手 —— 一个轻松帮你自动管理 issues 的 GitHub Action
GitHub Action 是什么?
GitHub Actions 是由 GitHub 官方提供在存储库中自动化、自定义和执行软件开发工作流程。您可以发现,创建和共享操作以执行所需的任何工作(包括CI / CD),并在完全定制的工作流程中组合操作。
issues-helper
就是以此为基础,利用 GitHub Actions 来帮你处理各种关于 issue 方面的操作。
谁在使用?
- ant-design
- ant-design-vue
- umi
- dumi
- vue-request
✨ 特性
- 完全免费
- 全自动操作
- 托管于 GitHub 服务器,只要 GitHub 不宕机,它就不受影响
快速开始
1. 新建 Action
点击仓库的 Actions,若已增加过 Actions,会显示如下界面。
点击 New workflow
新增。
你可以点击 set up a workflow yourself
新增一个自定义 action,也可以根据模板来套用新增一个 action。模板使用。
2. 编写 Action
Actions 存放地址是固定的,统一为 /.github/workflows/xx.yml
。
下面拿首页的例子详细说明下。对应场景为:当一个 issue 新增 help wanted 标签时,系统会自动进行评论。
name: Issue Reply
on:
issues:
types: [labeled]
jobs:
reply-helper:
runs-on: ubuntu-latest
steps:
- name: help wanted
if: github.event.label.name == 'help wanted'
uses: actions-cool/[email protected]
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
body: |
Hello @${{ github.event.issue.user.login }}. We totally like your proposal/feedback, welcome PR。
你好 @${{ github.event.issue.user.login }},我们完全同意你的提议/反馈,欢迎PR。
详细参数查看。
3. 启用 Action
当你完成编写完成提交到主分支后,即可自动启用该 workflow,触发条件遵循on的定义。
功能列表
目前已添加的功能,基本上覆盖了大部分通用的 issue 使用场景。详细使用及参数可来在线教程里查看。
⭐ 基 础
- add-assignees
- add-labels
- close-issue
- create-comment
- create-issue
- delete-commen
- lock-issue
- mark-duplicate
- open-issue
- remove-assignees
- remove-labels
- set-labels
- unlock-issue
- update-comment
- update-issue
- welcome
⭐ 进 阶 - check-inactive
- check-issue
- close-issues
- find-comments
- lock-issues
结语
欢迎各位尝试,同时在使用过程中遇到问题,欢迎通过如下方式进行反馈~
- 通过 Issue 报告 bug 或进行咨询
- 通过 Discussions 进行讨论
- 提交 Pull Request 改进
issues-helper
的代码
最后,祝大家 新年快乐