为了更好的展示功能,下面以实际场景举例,请灵活参考。
add-assignees
当一个 issue 新增或修改时,将这个 issue 指定某人或多人。
name: Add Assignesson:issues:types: [opened, edited]jobs:add-assigness:runs-on: ubuntu-lateststeps:- name: Add assignessuses: actions-cool/issues-helper@v3with: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
可根据自行根据实际情况修改${{ github.event.issue.number }}
表示当前 issue,更多参考assignees
支持多个,需用逗号隔开add-labels
当一个新增的 issue 内容不包含指定格式时,为这个 issue 添加 labels。
name: Add Labelson:issues:types: [opened]jobs:add-labels:runs-on: ubuntu-latestif: contains(github.event.issue.body, 'xxx') == falsesteps:- name: Add labelsuses: actions-cool/issues-helper@v3with: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 issueuses: actions-cool/issues-helper@v3with: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 Commenton:issues:types: [labeled]jobs:create-comment:runs-on: ubuntu-latestif: github.event.label.name == 'xxx'steps:- name: Create commentuses: actions-cool/issues-helper@v3with: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'
body
为空时,无操作comment-id
,可用于之后操作。用法参考${{ github.event.issue.user.login }}
表示该 issue 的创建者emoji
支持多个,需用逗号隔开create-issue
感觉新增 issue 使用场景不多。这里举例,每月 1 号 UTC 00:00 新增一个 issue。
name: Create Issueon:schedule:- cron: "0 0 1 * *"jobs:create-issue:runs-on: ubuntu-lateststeps:- name: Create issueuses: actions-cool/issues-helper@v3with:actions: 'create-issue'token: ${{ secrets.GITHUB_TOKEN }}title: 'xxxx'body: 'xxxx'labels: 'xx'assignees: 'xxx'emoji: '+1'
title
默认为:Default Title
issue-number
,用法参考create-label
新增 label。若想批量维护 labels,可查看。
- name: Create labeluses: actions-cool/issues-helper@v3with: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 commentuses: actions-cool/issues-helper@v3with:actions: 'delete-comment'token: ${{ secrets.GITHUB_TOKEN }}comment-id: xxx
参数 | 描述 | 类型 | 必填 |
---|---|---|---|
actions | 操作类型 | string | ✔ |
token | token 说明 | string | ✖ |
comment-id | 指定的 comment | number | ✔ |
get-issue
查询 issue 信息。
- name: Get Issueuses: actions-cool/issues-helper@v3with: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 Issueon:issues:types: [labeled]jobs:lock-issue:runs-on: ubuntu-latestif: github.event.label.name == 'invalid'steps:- name: Lock issueuses: actions-cool/issues-helper@v3with: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 issueuses: actions-cool/issues-helper@v3with:actions: 'open-issue'token: ${{ secrets.GITHUB_TOKEN }}issue-number: xxx
参数 | 描述 | 类型 | 必填 |
---|---|---|---|
actions | 操作类型 | string | ✔ |
token | token 说明 | string | ✖ |
issue-number | 指定的 issue,当不传时会从触发事件中获取 | number | ✖ |
remove-assignees
移除 issue 指定人员。
- name: Remove assigneesuses: actions-cool/issues-helper@v3with: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 labelsuses: actions-cool/issues-helper@v3with: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 已添加的 labelsset-labels
替换 issue 的 labels。
- name: Set labelsuses: actions-cool/issues-helper@v3with: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 issueuses: actions-cool/issues-helper@v3with: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 commenton:issue_comment:types: [created]jobs:update-comment:runs-on: ubuntu-lateststeps:- name: Update commentuses: actions-cool/issues-helper@v3with:actions: 'update-comment'token: ${{ secrets.GITHUB_TOKEN }}comment-id: ${{ github.event.comment.id }}emoji: 'eyes'
body
不填时,会保持原有update-mode
为 append
时,会进行附加操作。非 append
都会进行替换。仅对 body
生效out-comments
输入时,comment-id
不起作用update-issue
根据 issue-number
更新指定 issue。
- name: Update issueuses: actions-cool/issues-helper@v3with: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