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

⭐ 基 础

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@v2.2.1
with:
actions: 'add-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
assignees: 'xxx' or 'xx1,xx2'
random-to: 1
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber
assignees指定人。当不填或者为空字符时,不操作string
random-to当设置时,会在 assignees 中随机选择number
  • actions 支持多个,需用逗号隔开。如:add-assignees,add-labels
  • 其中的 name 可根据自行根据实际情况修改
  • on 参考
  • ${{ github.event.issue.number }} 表示当前 issue,更多参考
  • assignees 支持多个,需用逗号隔开

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@v2.2.1
with:
actions: 'add-labels'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: 'bug' or 'bug1,bug2'
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber
labels新增的 labels。当不填或者为空字符时,不新增string
  • labels 支持多个,需用逗号隔开

close-issue

关闭指定 issue。

- name: Close issue
uses: actions-cool/issues-helper@v2.2.1
with:
actions: 'close-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: xxx
body: 'This is auto closed.'
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber

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@v2.2.1
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 }}。巴拉巴拉。
contents: '+1' or '+1,heart'
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber
body新增评论的内容string
contents为新增评论的增加 reactionstring
  • body 默认为:Currently at ${owner}/${repo}. And this is default comment.
    • 其中 ${owner}/${repo} 表示当前仓库
  • 返回 comment-id,可用于之后操作。用法参考
  • ${{ github.event.issue.user.login }} 表示该 issue 的创建者
  • contents 支持多个,需用逗号隔开

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@v2.2.1
with:
actions: 'create-issue'
token: ${{ secrets.GITHUB_TOKEN }}
title: 'xxxx'
body: 'xxxx'
labels: 'xx'
assignees: 'xxx'
contents: '+1'
参数描述类型必填
actions操作类型string
tokentoken 说明string
title新增 issue 的标题string
body新增 issue 的内容string
labels为新增 issue 添加 labelsstring
assignees为新增 issue 添加 assigneesstring
random-to当设置时,会在 assignees 中随机选择number
contents为新增 issue 增加 reactionstring
  • title 默认为:Default Title
  • 返回 issue-number用法参考

create-label

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

- name: Create label
uses: actions-cool/issues-helper@v2.2.1
with:
actions: 'create-label'
token: ${{ secrets.GITHUB_TOKEN }}
label-name: 'xx'
label-color: '0095b3'
label-desc: 'xx'
参数描述类型必填
actions操作类型string
tokentoken 说明string
label-name标签名称,支持 emojistring
label-color标签颜色,格式为 16 进制色码,不加 #string
label-desc标签描述string
  • label-name:若已存在,则无操作
  • label-color:默认为 ededed

delete-comment

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

- name: Delete comment
uses: actions-cool/issues-helper@v2.2.1
with:
actions: 'delete-comment'
token: ${{ secrets.GITHUB_TOKEN }}
comment-id: xxx
参数描述类型必填
actions操作类型string
tokentoken 说明string
comment-id指定的 commentnumber
out-commentsfind-comments 的输出,若查找多个,则操作多个string
  • out-comments 输入时,comment-id 不起作用

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@v2.2.1
with:
actions: 'lock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber
lock-reason锁定 issue 的原因string
  • lock-reason:可选值有 off-topic too heated resolved spam

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@v2.2.1
with:
actions: 'mark-duplicate'
token: ${{ secrets.GITHUB_TOKEN }}
参数描述类型必填
actions操作类型string
tokentoken 说明string
duplicate-command可设置简洁命令,如:/dstring
duplicate-labels为该 issue 额外增加 labelsstring
remove-labels设置可移除的 labelsstring
labels替换该 issue 的 labelsstring
contents为该评论的增加 reactionstring
close-issue是否同时关闭该 issuestring
require-permission要求权限,默认为 writestring
  • duplicate-command:当设置简洁命令时,同时仍支持原有 Duplicate of。屏蔽内容包含 ?
  • labels:优先级最高
  • close-issuetrue'true' 均可生效
  • require-permission:可选值有 adminwritereadnone
    • 团队成员若设置 read 权限,则为 read
    • 外部 Collaborator 若设置 read 权限,则为 read
    • 普通用户为 read 权限
    • 当设置 write 后,adminwrite 满足条件
注意:使用简洁命令创建的 Duplicate 不显示下图红框内容。但其实这个没有任何影响的。

open-issue

打开指定 issue。

- name: Open issue
uses: actions-cool/issues-helper@v2.2.1
with:
actions: 'open-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: xxx
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber

remove-assignees

移除 issue 指定人员。

- name: Remove assignees
uses: actions-cool/issues-helper@v2.2.1
with:
actions: 'remove-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
assignees: 'xx'
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber
assignees移除的指定人。当为空字符时,不进行移除string

remove-labels

移除指定 labels。

- name: Remove labels
uses: actions-cool/issues-helper@v2.2.1
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: 'xx'
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber
labels移除的 labels。当为空字符时,不进行移除string
  • labels 支持多个,如 x1,x2,x3,只会移除 issue 已添加的 labels

set-labels

替换 issue 的 labels。

- name: Set labels
uses: actions-cool/issues-helper@v2.2.1
with:
actions: 'set-labels'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: 'xx'
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber
labelslabels 设置。当空字符时,会移除所有string

unlock-issue

解锁指定 issue。

- name: Unlock issue
uses: actions-cool/issues-helper@v2.2.1
with:
actions: 'unlock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber

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@v2.2.1
with:
actions: 'update-comment'
token: ${{ secrets.GITHUB_TOKEN }}
comment-id: ${{ github.event.comment.id }}
contents: 'eyes'
参数描述类型必填
actions操作类型string
tokentoken 说明string
comment-id指定的 commentnumber
out-commentsfind-comments 的输出,若查找多个,则操作多个string
body更新 comment 的内容string
update-mode更新模式。默认 replace 替换,append 附加string
contents增加 reactionstring
  • body 不填时,会保持原有
  • update-modeappend 时,会进行附加操作。非 append 都会进行替换。仅对 body 生效
  • out-comments 输入时,comment-id 不起作用

update-issue

根据 issue-number 更新指定 issue。

- name: Update issue
uses: actions-cool/issues-helper@v2.2.1
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'
contents: '+1'
参数描述类型必填
actions操作类型string
tokentoken 说明string
issue-number指定的 issuenumber
state修改 issue 的状态,可选值 open closedstring
title修改 issue 的标题string
body修改 issue 的内容string
update-mode更新模式。默认 replace 替换,append 附加string
labels替换 issue 的 labelsstring
assignees替换 issue 的 assigneesstring
contents增加 reactionstring
  • state 默认为 open
  • 当可选项不填时,会保持原有

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@v2.2.1
with:
actions: 'welcome'
token: ${{ secrets.GITHUB_TOKEN }}
body: hi @${{ github.event.issue.user.login }}, welcome!
labels: 'welcome1, welcome2'
assignees: 'xx1'
issue-contents: '+1, -1, eyes'
参数描述类型必填
actions操作类型string
tokentoken 说明string
body评论欢迎的内容,不填则不评论string
labels为该 issue 增加 labelsstring
assignees为该 issue 增加 assigneesstring
issue-contents为该 issue 增加 reactionstring
  • 若这 4 个可选项都不填,则无操作