⭐ Base

In order to better display the function, the following is an example of the actual scene, please refer to it flexibly.

add-assignees

When an issue is added or modified, assign this issue to one or more people.

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
with:
actions: 'add-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
assignees: 'xxx' or 'xx1,xx2'
random-to: 1
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖
assigneesDesignated person. No operation when no input or empty characterstring✖
random-toWhen set, it will be randomly selected in assigneesnumber✖
  • actions support multiple and separated by comma. Like: add-assignees,add-labels
  • The name can be modified according to the actual situation
  • Reference to on
  • ${{ github.event.issue.number }} is the current issue. More references
  • assignees support multiple and separated by comma

add-labels

When the content of a new issue does not contain the specified format, add labels for the issue.

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
with:
actions: 'add-labels'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: 'bug' or 'xx1,xx2'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖
labelsNew labels. When it is not filled in or is empty character, do not addstring✖
  • labels support multiple and separated by comma

close-issue

Close the specified issue.

- name: Close issue
uses: actions-cool/issues-helper@v2
with:
actions: 'close-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: xxx
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖

create-comment

When a designated label is added, comment on the 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
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'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖
bodyAdd comment contentstring✖
contentsAdd reactionstring✖
  • body default is Currently at ${owner}/${repo}. And this is default comment.
    • Where ${owner}/${repo} means the current repo
  • Return comment-id, which can be used for subsequent operations. Usage reference
  • ${{ github.event.issue.user.login }} indicates the creator of the issue
  • contents support multiple and separated by comma

create-issue

Here is an example, add an issue at UTC 00:00 on the 1st of every month.

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
with:
actions: 'create-issue'
token: ${{ secrets.GITHUB_TOKEN }}
title: 'xxxx'
body: 'xxxx'
labels: 'xx'
assignees: 'xxx'
contents: '+1'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
titleThe title of the new issuestring✖
bodyThe body of the new issuestring✖
labelsThe labels for the new issuestring✖
assigneesThe assignees for the new issuestring✖
random-toWhen set, it will be randomly selected in assigneesnumber✖
contentsAdd reactionstring✖

create-label

Create label. If you want to maintain labels in batches, see.

- name: Create label
uses: actions-cool/issues-helper@v2
with:
actions: 'create-label'
token: ${{ secrets.GITHUB_TOKEN }}
label-name: 'xx'
label-color: '0095b3'
label-desc: 'xx'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
label-nameLabel name, emoji supportstring✔
label-colorLabel color, the format is hexadecimal color code, without #string✖
label-descLabel descriptionstring✖
  • label-name: If it already exists, no operation
  • label-color: Default is ededed

delete-comment

According to comment-id delete the specified comment.

- name: Delete comment
uses: actions-cool/issues-helper@v2
with:
actions: 'delete-comment'
token: ${{ secrets.GITHUB_TOKEN }}
comment-id: xxx
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
comment-idThe comment IDnumber✔
out-commentsThe output of find-comments, if you find multiple, operate multiplestring✖
  • When out-comments is entered, comment-id does not work

lock-issue

When the invalid label is added, the issue is locked.

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
with:
actions: 'lock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖
lock-reasonReason for locking issuestring✖
  • lock-reason: Optional values are off-topic too heated resolved spam

mark-duplicate

Quickly mark duplicate questions, only for issue new comments or edit comments.

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
with:
actions: 'mark-duplicate'
token: ${{ secrets.GITHUB_TOKEN }}
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
duplicate-commandSimple commands can be set, such as: /dstring✖
duplicate-labelsAdd additional labels to this issuestring✖
remove-labelsSet removable labelsstring✖
labelsReplace the labels of the issuestring✖
contentsAdd reaction for this commentstring✖
close-issueWhether to close the issue at the same timestring✖
require-permissionPermission required, default is writestring✖
  • duplicate-command: When setting concise commands, while still supporting the original Duplicate of. Block content contains ?
  • labels: Highest priority
  • close-issue: Both true or 'true' can take effect
  • require-permission: Optional values are admin, write, read, none
    • If the team member sets the read permission, it is read
    • If the external Collaborator is set to read permission, it is read
    • Ordinary users have read permission
    • When set write, admin and write meet the conditions
Note: Duplicate created with the concise command does not display the content of the red box in the figure below. But in fact this has no effect.

open-issue

Open the specified issue.

- name: Open issue
uses: actions-cool/issues-helper@v2
with:
actions: 'open-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: xxx
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖

remove-assignees

Remove the person designated by issue.

- name: Remove assignees
uses: actions-cool/issues-helper@v2
with:
actions: 'remove-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
assignees: 'xx'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖
assigneesDesignated person removed. When it is an empty character, do not removestring✔

remove-labels

Remove the specified labels.

- name: Remove labels
uses: actions-cool/issues-helper@v2
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: 'xx'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖
labelsThe removed labels. When it is a blank character, do not removestring✔
  • labels supports multiple, such as x1,x2,x3, only the labels added by the issue will be removed

set-labels

Replace the labels of issue.

- name: Set labels
uses: actions-cool/issues-helper@v2
with:
actions: 'set-labels'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
labels: 'xx'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖
labelslabels set. When empty characters, will remove allstring✔

unlock-issue

Unlock the specified issue.

- name: Unlock issue
uses: actions-cool/issues-helper@v2
with:
actions: 'unlock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖

update-comment

Update the specified comment according to comment-id.

The following example shows that 👀 is added for each new 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
with:
actions: 'update-comment'
token: ${{ secrets.GITHUB_TOKEN }}
comment-id: ${{ github.event.comment.id }}
contents: 'eyes'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
comment-idThe comment IDnumber✔
out-commentsThe output of find-comments, if you find multiple, operate multiplestring✖
bodyUpdate the content of commentstring✖
update-modeUpdate mode. Default replace, another appendstring✖
contentsAdd reactionstring✖
  • When body is not entered, it will remain as it is
  • When update-mode is append, additional operations will be performed. Anything other than append will be replaced. Only effective for body
  • When out-comments is entered, comment-id does not work

update-issue

Update the specified issue according to the issue-number.

- name: Update issue
uses: actions-cool/issues-helper@v2
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'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumber✖
stateModify the status of issue, optional value open closedstring✖
titleModify the title of the issuestring✖
bodyModify the content of issuestring✖
update-modeUpdate mode. Default replace, another appendstring✖
labelsReplace the labels of issuestring✖
assigneesReplace the assignees of issuestring✖
contentsAdd reactionstring✖
  • state defaults to open
  • When the option is not filled, it will keep the original

welcome

When an issue is created, the user who created the issue for the first time is welcome.

If the user is not creating for the first time, there is no operation.

name: Issue Welcome
on:
issues:
types: [opened]
jobs:
issue-welcome:
runs-on: ubuntu-latest
steps:
- name: welcome
uses: actions-cool/issues-helper@v2
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'
ParamDescTypeRequired
actionsAction typestring✔
tokenToken explainstring✔
bodyComment on the welcome content, no comment if you leave it blankstring✖
labelsAdd labels to this issuestring✖
assigneesAdd assignees to this issuestring✖
issue-contentsAdd reaction to this issuestring✖
  • If these 4 options are not filled, no operation