npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

issues-helper

v3.7.6

Published

A GitHub Action easily helps you automatically manage issues.

Readme

一个轻松帮你自动管理 issues 的 GitHub Action

dumi code style: prettier

English | 简体中文

🔗 链接

😎 为什么用 GitHub Action?

  1. 完全免费
  2. 全自动操作
  3. 托管于 GitHub 服务器,只要 GitHub 不宕机,它就不受影响

Private 项目每月有 2000 次的限制,具体查看。Public 项目无限制。

谁在使用?

欢迎在 这里 留言。

图标

如果觉得 actions-cool 能帮到你,欢迎复制到 README 中支持,推广给更多的项目:actions-cool更多样式

[![actions-cool](https://img.shields.io/badge/using-actions--cool-blue?style=flat-square)](https://github.com/actions-cool)

⚡ 反馈

非常欢迎你来尝试使用,并提出意见,你可以通过以下方式:

也欢迎加入 钉钉交流群

列 表

当以下列表没有你想要的功能时,可以在 issues 中提出。

🚀 使 用

⭐ 基 础

为了更好的展示功能,下面以实际场景举例,请灵活参考。

add-assignees

当一个 issue 新增或修改时,将这个 issue 指定某人或多人。

name: Add Assigness

on:
  issues:
    types: [opened, edited]

jobs:
  add-assigness:
    runs-on: ubuntu-latest
    steps:
      - name: Add assigness
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'add-assignees'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}
          assignees: 'xxx' or 'xx1,xx2'
          random-to: 1

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | assignees | 指定人。当不填或者为空字符时,不操作 | string | ✖ | | random-to | 当设置时,会在 assignees 中随机选择 | number | ✖ |

  • actions 支持多个,需用逗号隔开。如:add-assignees, add-labels
  • 其中的 name 可根据自行根据实际情况修改
  • on 参考
  • ${{ github.event.issue.number }} 表示当前 issue 编号,更多参考
  • assignees 支持多个,需用逗号隔开
  • assign 最多只能设定 10 个

⏫ 返回列表

add-labels

当一个新增的 issue 内容不包含指定格式时,为这个 issue 添加 labels。

name: Add Labels

on:
  issues:
    types: [opened]

jobs:
  add-labels:
    runs-on: ubuntu-latest
    if: contains(github.event.issue.body, 'xxx') == false
    steps:
      - name: Add labels
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'add-labels'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}
          labels: 'bug' or 'bug1, bug2'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | labels | 新增的 labels。当不填或者为空字符时,不新增 | string | ✖ |

  • labels 支持多个,需用逗号隔开

⏫ 返回列表

close-issue

关闭指定 issue。

- name: Close issue
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'close-issue'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-number: xxx

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | close-reason | 关闭原因。默认not_planned未计划,completed完成 | string | ✖ |

⏫ 返回列表

create-comment

当新增一个指定 label 时,对该 issue 进行评论。

name: Create Comment

on:
  issues:
    types: [labeled]

jobs:
  create-comment:
    runs-on: ubuntu-latest
    if: github.event.label.name == 'xxx'
    steps:
      - name: Create comment
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'create-comment'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}
          body: |
            Hello ${{ github.event.issue.user.login }}. Add some comments.

            你好 ${{ github.event.issue.user.login }}。巴拉巴拉。
          emoji: '+1' or '+1,heart'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | body | 新增评论的内容 | string | ✔ | | emoji | 为新增评论的增加 emoji | string | ✖ |

  • body 为空时,无操作
  • 返回 comment-id,可用于之后操作。用法参考
  • ${{ github.event.issue.user.login }} 表示该 issue 的创建者
  • emoji 支持多个,需用逗号隔开

⏫ 返回列表

create-issue

感觉新增 issue 使用场景不多。这里举例,每月 1 号 UTC 00:00 新增一个 issue。

name: Create Issue

on:
  schedule:
    - cron: "0 0 1 * *"

jobs:
  create-issue:
    runs-on: ubuntu-latest
    steps:
      - name: Create issue
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'create-issue'
          token: ${{ secrets.GITHUB_TOKEN }}
          title: 'xxxx'
          body: 'xxxx'
          labels: 'xx'
          assignees: 'xxx'
          emoji: '+1'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | title | 新增 issue 的标题 | string | ✔ | | body | 新增 issue 的内容 | string | ✖ | | labels | 为新增 issue 添加 labels | string | ✖ | | assignees | 为新增 issue 添加 assignees | string | ✖ | | random-to | 当设置时,会在 assignees 中随机选择 | number | ✖ | | emoji | 为新增 issue 增加 emoji | string | ✖ |

  • title 为空时,无操作
  • 返回 issue-number用法参考

⏫ 返回列表

create-label

新增 label。若想批量维护 labels,可查看

- name: Create label
  uses: actions-cool/issues-helper@v3
  with:
    actions: 'create-label'
    token: ${{ secrets.GITHUB_TOKEN }}
    label-name: 'xx'
    label-color: '0095b3'
    label-desc: 'xx'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | label-name | 标签名称,支持 emoji | string | ✔ | | label-color | 标签颜色,格式为 16 进制色码,不加 # | string | ✖ | | label-desc | 标签描述 | string | ✖ |

  • label-name:若已存在,则无操作
  • label-color:默认为 ededed

⏫ 返回列表

delete-comment

根据 comment-id 删除指定评论。

- name: Delete comment
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'delete-comment'
      token: ${{ secrets.GITHUB_TOKEN }}
      comment-id: xxx

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | comment-id | 指定的 comment | number | ✔ |

⏫ 返回列表

get-issue

查询 issue 信息。

- name: Get Issue
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'get-issue'
      token: ${{ secrets.GITHUB_TOKEN }}

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ |

  • 返回 issue-number issue-title issue-body issue-labels issue-assignees issue-state用法参考

⏫ 返回列表

lock-issue

当新增 invalid label 时,对该 issue 进行锁定。

name: Lock Issue

on:
  issues:
    types: [labeled]

jobs:
  lock-issue:
    runs-on: ubuntu-latest
    if: github.event.label.name == 'invalid'
    steps:
      - name: Lock issue
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'lock-issue'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | lock-reason | 锁定 issue 的原因 | string | ✖ |

  • lock-reason:可选值有 off-topic too heated resolved spam

⏫ 返回列表

open-issue

打开指定 issue。

- name: Open issue
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'open-issue'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-number: xxx

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ |

⏫ 返回列表

remove-assignees

移除 issue 指定人员。

- name: Remove assignees
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'remove-assignees'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-number: ${{ github.event.issue.number }}
      assignees: 'xx'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | assignees | 移除的指定人。当为空字符时,不进行移除 | string | ✔ |

⏫ 返回列表

remove-labels

移除指定 labels。

- name: Remove labels
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'remove-labels'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-number: ${{ github.event.issue.number }}
      labels: 'xx'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | labels | 移除的 labels。当为空字符时,不进行移除 | string | ✔ |

  • labels 支持多个,如 x1,x2,x3,只会移除 issue 已添加的 labels

⏫ 返回列表

set-labels

替换 issue 的 labels。

- name: Set labels
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'set-labels'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-number: ${{ github.event.issue.number }}
      labels: 'xx'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | labels | labels 设置。当空字符时,会移除所有 | string | ✔ |

⏫ 返回列表

unlock-issue

解锁指定 issue。

- name: Unlock issue
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'unlock-issue'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-number: ${{ github.event.issue.number }}

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ |

⏫ 返回列表

update-comment

根据 comment-id 更新指定评论。

下面的例子展示的是,为每个新增的 comment 增加 👀 。

name: Add eyes to each comment

on:
  issue_comment:
    types: [created]

jobs:
  update-comment:
    runs-on: ubuntu-latest
    steps:
      - name: Update comment
          uses: actions-cool/issues-helper@v3
          with:
            actions: 'update-comment'
            token: ${{ secrets.GITHUB_TOKEN }}
            comment-id: ${{ github.event.comment.id }}
            emoji: 'eyes'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | comment-id | 指定的 comment | number | ✔ | | body | 更新 comment 的内容 | string | ✖ | | update-mode | 更新模式。默认 replace 替换,append 附加 | string | ✖ | | emoji | 增加 emoji | string | ✖ |

  • body 不填时,会保持原有
  • update-modeappend 时,会进行附加操作。非 append 都会进行替换。仅对 body 生效

⏫ 返回列表

update-issue

根据 issue-number 更新指定 issue。

- name: Update issue
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'update-issue'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-number: ${{ github.event.issue.number }}
      state: 'open'
      title: 'xxx'
      body: 'xxxx'
      update-mode: 'replace'
      labels: 'xx'
      assignees: 'xxx'
      emoji: '+1'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | state | 修改 issue 的状态,可选值 open closed | string | ✖ | | title | 修改 issue 的标题 | string | ✖ | | body | 修改 issue 的内容 | string | ✖ | | update-mode | 更新模式。默认 replace 替换,append 附加 | string | ✖ | | labels | 替换 issue 的 labels | string | ✖ | | assignees | 替换 issue 的 assignees | string | ✖ | | emoji | 增加 emoji | string | ✖ |

  • state 默认为 open
  • 当可选项不填时,会保持原有

⏫ 返回列表

🌟 进 阶

进阶用法不建议 actions 多个一次同时使用。

check-inactive

每月 1 号 UTC 0 时,对所有 30 天以上未活跃的 issues 增加 inactive 标签。

name: Check inactive

on:
  schedule:
    - cron: "0 0 1 * *"

jobs:
  check-inactive:
    runs-on: ubuntu-latest
    steps:
      - name: check-inactive
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'check-inactive'
          token: ${{ secrets.GITHUB_TOKEN }}
          inactive-day: 30

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | body | 操作 issue 时,可进行评论。不填时,不评论 | string | ✖ | | emoji | 为该评论增加 emoji | string | ✖ | | labels | 标签筛选 | string | ✖ | | issue-state | 状态筛选 | string | ✖ | | issue-assignee | 指定人筛选 | string | ✖ | | issue-creator | 创建人筛选 | string | ✖ | | issue-mentioned | 提及人筛选 | string | ✖ | | body-includes | 包含内容筛选,支持多个字符串过滤 | string | ✖ | | title-includes | 包含标题筛选,支持多个字符串过滤 | string | ✖ | | inactive-day | 非活跃天数筛选 | number | ✖ | | inactive-mode | 检测不活跃的模式 | string | ✖ | | inactive-label | 新增标签名称 | string | ✖ | | exclude-labels | 排除标签筛选 | string | ✖ | | exclude-issue-numbers | 排除指定 issue | string | ✖ |

  • labels:为多个时,会查询同时拥有多个。不填时,会查询所有
  • issue-state:默认为 open。可选值 all closed,非这 2 项时,均为 open
  • issue-assignee:不支持多人。不填或输入 * 时,查询所有。输入 none 会查询未添加指定人的 issues
  • inactive-day:当输入时,会筛选 issue 更新时间早于当前时间减去非活跃天数。不填时,会查询所有
  • inactive-label:默认为 inactive,可自定义其他。当项目未包含该 label 时,会自动新建
  • exclude-labels:设置包含 $exclude-empty 时,可排除无 label issue
  • inactive-mode:
    • 默认 issue,检查 issue 的更新时间
    • 可选 comment,检查最后一个评论的更新时间
    • 可选 issue-created,检查 issue 的创建时间
    • 可选 comment-created,最后一个评论的创建时间
    • 你也可以设置多个如:comment, issue-created
      • 将会以优先级检测,先检测最后一条评论更新时间,如无评论,则使用 issue 的创建时间

⏫ 返回列表

check-issue

根据传入的参数和 issue-number 来检查该 issue 是否满足条件,返回一个布尔值。

下面的例子效果是:当 issue 新开时,校验当前 issue 指定人是否包含 x1 或者 x2,满足一个指定人即可校验通过,同时校验标题是否满足条件,校验规则

name: Check Issue

on:
  issues:
    types: [edited]

jobs:
  check-issue:
    runs-on: ubuntu-latest
    steps:
      - name: check-issue
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'check-issue'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}
          assignee-includes: 'x1,x2'
          title-includes: 'x1,x2/y1,y2'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | assignee-includes | 是否包含指定人 | string | ✖ | | title-includes | 标题包含校验 | string | ✖ | | title-excludes | 检测标题移除默认 title 后是否为空 | string | ✖ | | body-includes | 内容包含校验 | string | ✖ |

  • title-includes body-includes 支持格式 x1,x2 或者 x1,x2/y1,y2。只支持两个层级
  • 返回 check-result,由于 yml 原因,判断条件为 if: steps.xxid.outputs.check-result == 'true'

⏫ 返回列表

close-issues

每 7 天 UTC 0 时,关闭已填加 need info label 且 7 天以上未活跃的 issues。

name: Check need info

on:
  schedule:
    - cron: "0 0 */7 * *"

jobs:
  check-need-info:
    runs-on: ubuntu-latest
    steps:
      - name: close-issues
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'close-issues'
          token: ${{ secrets.GITHUB_TOKEN }}
          labels: 'need info'
          inactive-day: 7

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | body | 操作 issue 时,可进行评论。不填时,不评论 | string | ✖ | | emoji | 为该评论增加 emoji | string | ✖ | | labels | 标签筛选 | string | ✖ | | issue-assignee | 指定人筛选 | string | ✖ | | issue-creator | 创建人筛选 | string | ✖ | | issue-mentioned | 提及人筛选 | string | ✖ | | body-includes | 包含内容筛选,支持多个字符串过滤 | string | ✖ | | title-includes | 包含标题筛选,支持多个字符串过滤 | string | ✖ | | inactive-day | 非活跃天数筛选 | number | ✖ | | exclude-labels | 排除标签筛选 | string | ✖ | | close-reason | 关闭原因。默认not_planned未计划,completed完成 | string | ✖ |

  • labels:为多个时,会查询同时拥有多个。不填时,会查询所有
  • issue-assignee:不支持多人。不填或输入 * 时,查询所有。输入 none 会查询未添加指定人的 issues
  • inactive-day:当输入时,会筛选 issue 更新时间早于当前时间减去非活跃天数。不填时,会查询所有
  • exclude-labels:设置包含 $exclude-empty 时,可排除无 label issue

⏫ 返回列表

find-comments

查找当前仓库 1 号 issue 中,创建者是 k ,内容包含 this 的评论列表。

- name: Find comments
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'find-comments'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-number: 1
      comment-auth: 'k'
      body-includes: 'this,that'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | comment-auth | 评论创建者,不填时会查询所有 | string | ✖ | | body-includes | 评论内容包含过滤,支持多个字符串过滤,不填时无校验 | string | ✖ | | direction | 返回 comments 排序 | string | ✖ |

  • 返回 comments,格式如下:
[
  {id: 1, auth: 'x', body: 'xxx', created: '', updated: ''},
  {id: 2, auth: 'x', body: 'xxx', created: '', updated: ''},
]
  • direction 默认为升序,只有设置 desc 时,会返回降序
  • 返回数组中 created updated,由所处环境决定,会是 UTC +0

⏫ 返回列表

find-issues

查找当前仓库,创建者是 k ,title 包含 this ,body 包含 that,打开状态的 issues 列表。

- name: Find issues
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'find-issues'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-creator: 'k'
      issue-state: 'open'
      title-includes: 'this,that'
      body-includes: 'that,this'
      labels: 'documentation'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-state | 状态筛选 | string | ✖ | | issue-creator | 创建者筛选 | string | ✖ | | title-includes | 标题包含过滤,支持多个字符串过滤,不填时无校验 | string | ✖ | | body-includes | 内容包含过滤,支持多个字符串过滤,不填时无校验 | string | ✖ | | labels | 标签筛选 | string | ✖ | | exclude-labels | 排除标签筛选 | string | ✖ | | inactive-day | 非活跃天数筛选 | number | ✖ | | direction | 返回 issues 排序 | string | ✖ | | create-issue-if-not-exist | 如果没找到新建一个 | boolean | ✖ |

  • 返回 issues,格式如下:
[
  {number: 1, auth: 'x', body: 'xxx', body: 'xxx', state: 'open', assignees: ['x1', 'x2'], created: '', updated: ''},
  {number: 2, auth: 'x', body: 'xxx', body: 'xxx', state: 'closed', assignees: ['x1', 'x2'], created: '', updated: ''},
]
  • direction 默认为升序,只有设置 desc 时,会返回降序
  • 返回数组中 created updated,由所处环境决定,会是 UTC +0
  • exclude-labels:设置包含 $exclude-empty 时,可排除无 label issue

⏫ 返回列表

lock-issues

每 3 个月 1 号 UTC 0 时,锁定已填加 inactive label 且 128 天以上未活跃的所有 issues。

name: Lock inactive issues

on:
  schedule:
    - cron: "0 0 1 */3 *"

jobs:
  lock-issues:
    runs-on: ubuntu-latest
    steps:
      - name: lock-issues
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'lock-issues'
          token: ${{ secrets.GITHUB_TOKEN }}
          labels: 'inactive'
          inactive-day: 128

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | body | 操作 issue 时,可进行评论。不填时,不评论 | string | ✖ | | emoji | 为该评论增加 emoji | string | ✖ | | labels | 标签筛选 | string | ✖ | | issue-state | 状态筛选 | string | ✖ | | issue-assignee | 指定人筛选 | string | ✖ | | issue-creator | 创建人筛选 | string | ✖ | | issue-mentioned | 提及人筛选 | string | ✖ | | body-includes | 包含内容筛选,支持多个字符串过滤 | string | ✖ | | title-includes | 包含标题筛选,支持多个字符串过滤 | string | ✖ | | inactive-day | 非活跃天数筛选 | number | ✖ | | lock-reason | 锁定 issue 的原因 | string | ✖ | | exclude-labels | 排除标签筛选 | string | ✖ |

  • labels:为多个时,会查询同时拥有多个。不填时,会查询所有
  • issue-state:默认为 open。可选值 all closed,非这 2 项时,均为 open
  • issue-assignee:不支持多人。不填或输入 * 时,查询所有。输入 none 会查询未添加指定人的 issues
  • inactive-day:当输入时,会筛选 issue 更新时间早于当前时间减去非活跃天数。不填时,会查询所有
  • exclude-labels:设置包含 $exclude-empty 时,可排除无 label issue

⏫ 返回列表

mark-assignees

快捷加指定人,仅作用于 issue 新增编辑评论。

name: Issue Mark Assignees

on:
  issue_comment:
    types: [created, edited]

jobs:
  mark-assignees:
    runs-on: ubuntu-latest
    steps:
      - name: mark-assignees
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'mark-assignees'
          token: ${{ secrets.GITHUB_TOKEN }}

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | assign-command | 可设置简洁命令,如:/a | string | ✖ | | require-permission | 要求权限,默认为 write | string | ✖ |

  • assign-command:可设置简洁命令。默认:/assign
  • require-permission:可选值有 adminwritereadnone
    • 团队成员若设置 read 权限,则为 read
    • 外部 Collaborator 若设置 read 权限,则为 read
    • 普通用户为 read 权限
    • 当设置 write 后,adminwrite 满足条件

⏫ 返回列表

mark-duplicate

快捷标记重复问题,仅作用于 issue 新增编辑评论。

name: Issue Mark Duplicate

on:
  issue_comment:
    types: [created, edited]

jobs:
  mark-duplicate:
    runs-on: ubuntu-latest
    steps:
      - name: mark-duplicate
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'mark-duplicate'
          token: ${{ secrets.GITHUB_TOKEN }}

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | duplicate-command | 可设置简洁命令,如:/d | string | ✖ | | duplicate-labels | 为该 issue 额外增加 labels | string | ✖ | | remove-labels | 设置可移除的 labels | string | ✖ | | labels | 替换该 issue 的 labels | string | ✖ | | emoji | 为该评论的增加 emoji | string | ✖ | | close-issue | 是否同时关闭该 issue | string | ✖ | | require-permission | 要求权限,默认为 write | string | ✖ | | close-reason | 关闭原因。默认not_planned未计划,completed完成 | string | ✖ |

  • duplicate-command:当设置简洁命令时,同时仍支持原有 Duplicate of。屏蔽内容包含 ?
  • labels:优先级最高
  • close-issuetrue'true' 均可生效
  • require-permission:可选值有 adminwritereadnone
    • 团队成员若设置 read 权限,则为 read
    • 外部 Collaborator 若设置 read 权限,则为 read
    • 普通用户为 read 权限
    • 当设置 write 后,adminwrite 满足条件

⏫ 返回列表

toggle-labels

当一个 issue 被重新打开,判断设置的 labels 如果已经存在则进行删除,否则进行添加。

name: Toggle Labels

on:
  issues:
    types: [reopened]

jobs:
  toggle-labels:
    runs-on: ubuntu-latest
    steps:
      - name: Toggle labels
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'toggle-labels'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}
          labels: 'unread,outdated'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ | | labels | 切换 labels。如果 label 已存在则删除,不存在则添加 | string | ✖ |

⏫ 返回列表

welcome

当一个 issue 新建时,对首次新建 issue 的用户进行欢迎。若用户非首次新建,则无操作。

name: Issue Welcome

on:
  issues:
    types: [opened]

jobs:
  issue-welcome:
    runs-on: ubuntu-latest
    steps:
      - name: welcome
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'welcome'
          token: ${{ secrets.GITHUB_TOKEN }}
          body: hi @${{ github.event.issue.user.login }}, welcome!
          labels: 'welcome1, welcome2'
          assignees: 'xx1'
          issue-emoji: '+1, -1, eyes'

| 参数 | 描述 | 类型 | 必填 | | -- | -- | -- | -- | | actions | 操作类型 | string | ✔ | | token | token 说明 | string | ✖ | | body | 评论欢迎的内容,不填则不评论 | string | ✖ | | emoji | 为该评论的增加 emoji | string | ✖ | | labels | 为该 issue 增加 labels | string | ✖ | | assignees | 为该 issue 增加 assignees | string | ✖ | | issue-emoji | 为该 issue 增加 emoji | string | ✖ |

  • 若这 4 个可选项都不填,则无操作

⏫ 返回列表

🎁 参 考

token

需拥有 push 权限的人员 token。

  • 个人 token 申请
    • 需勾选 Full control of private repositories
  • 项目添加 secrets
    • 选择 settings,选择 secrets,选择 New repository secret
    • Name 与 actions 中保持一致
    • Value 填写刚才个人申请的 token

当 actions 不填写 token 时,或填写 ${{ secrets.GITHUB_TOKEN }},会默认为 github-actions-bot更多查看

⏫ 返回列表

GitHub Docs

⏫ 返回列表

outputs 使用

- name: Create issue
  uses: actions-cool/issues-helper@v3
  id: createissue
  with:
    actions: 'create-issue'
    token: ${{ secrets.GITHUB_TOKEN }}
- name: Check outputs
  run: echo "Outputs issue_number is ${{ steps.createissue.outputs.issue-number }}"

更多查看:

  1. https://docs.github.com/en/free-pro-team@latest/actions/creating-actions/metadata-syntax-for-github-actions#outputs
  2. https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idoutputs

⏫ 返回列表

校验规则

"title-includes": 'x1,x2'

x1
x2

"x1y3y2"  true
"y2 x1"   true
"x2"      true
"x3"      false
"title-includes": 'x1,x2/y1,y2'

x1 + y1
x2 + y1
x1 + y2
x2 + y2

"x1y3y2"  true
"y2 x1"   true
"1x2y"    false
"x1"      false

⏫ 返回列表

emoji 类型

| content | emoji | | -- | -- | | +1 | 👍 | | -1 | 👎 | | laugh | 😄 | | confused | 😕 | | heart | ❤️ | | hooray | 🎉 | | rocket | 🚀 | | eyes | 👀 |

⏫ 返回列表

comment-id

点击某个评论右上角 ··· 图标,选择 Copy link,url 末尾数字即是 comment_id

⏫ 返回列表

Actions 模板

LICENSE

MIT