Home

Awesome

<p align="center"> <a href="https://actions-cool.github.io/issues-helper/"> <img width="200" src="https://gw.alipayobjects.com/mdn/rms_f97235/afts/img/A*8xDgSL-O6O4AAAAAAAAAAAAAARQnAQ"> </a> </p> <h1 align="center">๐Ÿค– Issues Helper</h1> <div align="center">

A GitHub Action that easily helps you automatically manage issues

dumi code style: prettier

</div>

English | ็ฎ€ไฝ“ไธญๆ–‡

๐Ÿ”— Link

๐Ÿ˜Ž Why use GitHub Action?

  1. Complete free
  2. Fully automatic
  3. Hosted on the GitHub server, as long as GitHub is not down, it is not affected

Private projects have a limit of 2000 times per month. Specific view. Public are unlimited.

Who is using?

Please leave a message at here.

<table> <tr> <td align="center" width="180"> <a href="https://github.com/ant-design/ant-design"> <img src="https://avatars1.githubusercontent.com/u/12101536?s=200&v=4" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/ant-design-blazor/ant-design-blazor"> <img src="https://user-images.githubusercontent.com/29775873/129505619-5abddb68-8663-4c71-b7d2-049c716aab26.png" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/ant-design/ant-design-mobile"> <img src="https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/vueComponent/ant-design-vue"> <img src="https://avatars1.githubusercontent.com/u/32120805?s=200&v=4" width="46"/> </a> </td> </tr> <tr> <td align="center" width="180"><a href="https://github.com/ant-design/ant-design">ant-design</a></td> <td align="center" width="180"><a href="https://github.com/ant-design-blazor/ant-design-blazor">ant-design-blazor</a></td> <td align="center" width="180"><a href="https://github.com/ant-design/ant-design-mobile">ant-design-mobile</a></td> <td align="center" width="180"><a href="https://github.com/vueComponent/ant-design-vue">ant-design-vue</a></td> </tr><tr> <td align="center" width="180"> <a href="https://github.com/twbs/bootstrap"> <img src="https://getbootstrap.com/docs/5.1/assets/brand/bootstrap-logo-shadow.png" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/umijs/dumi"> <img src="https://avatars1.githubusercontent.com/u/33895495?s=200&v=4" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/electron/electron"> <img src="https://avatars.githubusercontent.com/u/13409222?s=200&v=4" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/element-plus/element-plus"> <img src="https://avatars.githubusercontent.com/u/68583457" width="46"/> </a> </td> </tr> <tr> <td align="center" width="180"><a href="https://github.com/twbs/bootstrap">bootstrap</a></td> <td align="center" width="180"><a href="https://github.com/umijs/dumi">dumi</a></td> <td align="center" width="180"><a href="https://github.com/electron/electron">electron</a></td> <td align="center" width="180"><a href="https://github.com/element-plus/element-plus">element-plus</a></td> </tr><tr> <td align="center" width="180"> <a href="https://github.com/alibaba/formily"> <img src="https://img.alicdn.com/imgextra/i2/O1CN01Kq3OHU1fph6LGqjIz_!!6000000004056-55-tps-1141-150.svg" width=""/> </a> </td> <td align="center" width="180"> <a href="https://github.com/vuejs/jsx-next"> <img src="https://avatars.githubusercontent.com/u/6128107?s=200&v=4" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/mui/material-ui"> <img src="https://avatars.githubusercontent.com/u/33663932?s=200&v=4" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/TuSimple/naive-ui"> <img src="https://www.naiveui.com/assets/naivelogo-XQ1U1Js8.svg" width="46"/> </a> </td> </tr> <tr> <td align="center" width="180"><a href="https://github.com/alibaba/formily">formily</a></td> <td align="center" width="180"><a href="https://github.com/vuejs/jsx-next">jsx-next</a></td> <td align="center" width="180"><a href="https://github.com/mui/material-ui">material-ui</a></td> <td align="center" width="180"><a href="https://github.com/TuSimple/naive-ui">naive-ui</a></td> </tr><tr> <td align="center" width="180"> <a href="https://github.com/jdf2e/nutui"> <img src="https://img14.360buyimg.com/imagetools/jfs/t1/167902/2/8762/791358/603742d7E9b4275e3/e09d8f9a8bf4c0ef.png" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/prettier/prettier"> <img src="https://user-images.githubusercontent.com/29775873/129505900-ca248179-2435-429d-9fd3-779206bcd899.png" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/react-component"> <img src="https://avatars3.githubusercontent.com/u/9441414?s=200&v=4" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/lijinke666/react-music-player"> <img src="https://user-images.githubusercontent.com/29775873/129506058-b0d8c741-f73a-496c-98de-7db2fb586db7.png" width="46"/> </a> </td> </tr> <tr> <td align="center" width="180"><a href="https://github.com/jdf2e/nutui">nutui</a></td> <td align="center" width="180"><a href="https://github.com/prettier/prettier">prettier</a></td> <td align="center" width="180"><a href="https://github.com/react-component">react-component</a></td> <td align="center" width="180"><a href="https://github.com/lijinke666/react-music-player">react-music-player</a></td> </tr><tr> <td align="center" width="180"> <a href="https://github.com/antvis/S2"> <img src="https://gw.alipayobjects.com/mdn/rms_56cbb2/afts/img/A*TI8XSK3W0EkAAAAAAAAAAAAAARQnAQ" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/nolimits4web/swiper"> <img src="https://user-images.githubusercontent.com/29775873/156721728-3b0021ea-6932-4a77-a104-2e0bad97346e.png" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/umijs/umi"> <img src="https://avatars1.githubusercontent.com/u/33895495?s=200&v=4" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/vitejs/vite"> <img src="https://avatars.githubusercontent.com/u/65625612?s=200&v=4" width="46"/> </a> </td> </tr> <tr> <td align="center" width="180"><a href="https://github.com/antvis/S2">S2</a></td> <td align="center" width="180"><a href="https://github.com/nolimits4web/swiper">swiper</a></td> <td align="center" width="180"><a href="https://github.com/umijs/umi">umi</a></td> <td align="center" width="180"><a href="https://github.com/vitejs/vite">vite</a></td> </tr><tr> <td align="center" width="180"> <a href="https://github.com/vitest-dev/vitest"> <img src="https://user-images.githubusercontent.com/11247099/145112184-a9ff6727-661c-439d-9ada-963124a281f7.png" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/AttoJS/vue-request"> <img src="https://user-images.githubusercontent.com/29775873/129506134-55044c85-24cd-47d3-81ef-dba842214d71.png" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/vuepress/vuepress-next"> <img src="https://v2.vuepress.vuejs.org/images/hero.png" width="46"/> </a> </td> <td align="center" width="180"> <a href="https://github.com/zoo-js/zoo"> <img src="https://avatars1.githubusercontent.com/u/70757173?s=200&v=4" width="46"/> </a> </td> </tr> <tr> <td align="center" width="180"><a href="https://github.com/vitest-dev/vitest">vitest</a></td> <td align="center" width="180"><a href="https://github.com/AttoJS/vue-request">vue-request</a></td> <td align="center" width="180"><a href="https://github.com/vuepress/vuepress-next">vuepress-next</a></td> <td align="center" width="180"><a href="https://github.com/zoo-js/zoo">zoo</a></td> </tr> </table>

Badge

If you think actions-cool can help you, please copy it to the README to support promotion and bring convenience to more repositories:actions-cool. More color see.

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

โšก Feedback

You are very welcome to try it out and put forward your comments. You can use the following methods:

List

When the following list does not have the features you want, you can submit it in issues.

๐Ÿš€ Usage

โญ Base

<wrapper base data-depth="2" data-warn="DO_NOT_REMOVE_THIS_COMMENT">

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@v3
        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โœ–

โซ Back to list

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@v3
        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โœ–

โซ Back to list

close-issue

Close the specified issue.

- name: Close issue
    uses: actions-cool/issues-helper@v3
    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โœ–
close-reasonReason for closing. Default not_planned, another completedstringโœ–

โซ Back to list

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@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'
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumberโœ–
bodyAdd comment contentstringโœ”
emojiAdd emojistringโœ–

โซ Back to list

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@v3
        with:
          actions: 'create-issue'
          token: ${{ secrets.GITHUB_TOKEN }}
          title: 'xxxx'
          body: 'xxxx'
          labels: 'xx'
          assignees: 'xxx'
          emoji: '+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โœ–
emojiAdd emojistringโœ–

โซ Back to list

create-label

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

- 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'
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
label-nameLabel name, emoji supportstringโœ”
label-colorLabel color, the format is hexadecimal color code, without #stringโœ–
label-descLabel descriptionstringโœ–

โซ Back to list

delete-comment

According to comment-id delete the specified comment.

- name: Delete comment
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'delete-comment'
      token: ${{ secrets.GITHUB_TOKEN }}
      comment-id: xxx
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
comment-idThe comment IDnumberโœ”

โซ Back to list

get-issue

Query issue information.

- name: Get Issue
    uses: actions-cool/issues-helper@v3
    with:
      actions: 'get-issue'
      token: ${{ secrets.GITHUB_TOKEN }}
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–

โซ Back to list

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@v3
        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โœ–

โซ Back to list

open-issue

Open the specified issue.

- name: Open issue
    uses: actions-cool/issues-helper@v3
    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โœ–

โซ Back to list

remove-assignees

Remove the person designated by 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'
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โœ”

โซ Back to list

remove-labels

Remove the specified 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'
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โœ”

โซ Back to list

set-labels

Replace the labels of issue.

- 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'
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โœ”

โซ Back to list

unlock-issue

Unlock the specified issue.

- name: Unlock issue
    uses: actions-cool/issues-helper@v3
    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โœ–

โซ Back to list

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@v3
          with:
            actions: 'update-comment'
            token: ${{ secrets.GITHUB_TOKEN }}
            comment-id: ${{ github.event.comment.id }}
            emoji: '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โœ–
emojiAdd reactionstringโœ–

โซ Back to list

update-issue

Update the specified issue according to the issue-number.

- 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'
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โœ–
emojiAdd reactionstringโœ–

โซ Back to list </wrapper>

๐ŸŒŸ Advanced

<wrapper advanced data-depth="2" data-warn="DO_NOT_REMOVE_THIS_COMMENT">

Advanced usage is not recommended to use multiple actions at the same time.

check-inactive

At UTC 0 on the 1st of each month, add the inactive tag to all issues that have not been active for more than 30 days.

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
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
bodyWhen operating an issue, you can comment. Do not comment when not typingstringโœ–
emojiAdd reaction for this commentstringโœ–
labelsLabels filteringstringโœ–
issue-stateState filteringstringโœ–
issue-assigneeAssignee filteringstringโœ–
issue-creatorCreator filteringstringโœ–
issue-mentionedMentioned filteringstringโœ–
body-includesBody filteringstringโœ–
title-includesTitle filteringstringโœ–
inactive-dayInactive days filteringnumberโœ–
inactive-modeDetect inactive mode, default issuestringโœ–
inactive-labelThe label name addingstringโœ–
exclude-labelsExclude labels filteringstringโœ–

โซ Back to list

check-issue

Check whether the issue meets the conditions according to the passed parameters and issue-number, and return a boolean value.

The effect of the following example is: when an issue is newly opened, verify whether the current issue designator contains x1 or x2.

If one designated person is satisfied, the verification will pass, and at the same time, verify whether the title meets the conditions. Check rules

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'
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumberโœ–
assignee-includesAssignees contains checkstringโœ–
title-includesTitle contains checkstringโœ–
title-excludesCheck whether the title is empty after removing the default titlestringโœ–
body-includesBody contains checkstringโœ–

โซ Back to list

close-issues

Every 7 days at UTC 0, close the issues that have been filled with the need info label and have not been active for more than 7 days.

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
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
bodyWhen operating an issue, you can comment. Do not comment when not typingstringโœ–
emojiAdd reaction for this commentstringโœ–
labelsLabels filteringstringโœ–
issue-assigneeAssignee filteringstringโœ–
issue-creatorCreator filteringstringโœ–
issue-mentionedMentioned filteringstringโœ–
body-includesBody filteringstringโœ–
title-includesTitle filteringstringโœ–
inactive-dayInactive days filteringnumberโœ–
exclude-labelsExclude labels filteringstringโœ–
close-reasonReason for closing. Default not_planned, another completedstringโœ–

โซ Back to list

find-comments

Find the current warehouse issue No. 1, the creator is k and the content contains the comment list of 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'
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumberโœ–
comment-authComment creator, all will be queried if not filledstringโœ–
body-includesComment content includes filtering, no verification if not filledstringโœ–
directionReturn comments sortstringโœ–
[
  {id: 1, auth: 'x', body: 'xxx', created: '', updated: ''},
  {id: 2, auth: 'x', body: 'xxx', created: '', updated: ''},
]

โซ Back to list

find-issues

Find the current repository, the creator is k , the title contains this , the body contains that, and the list of issues in the open state.

- 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'
      body-includes: 'that'
      labels: 'documentation'
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
issue-stateState filteringstringโœ–
issue-creatorCreator filteringstringโœ–
title-includesTitle filteringstringโœ–
body-includesBody filteringstringโœ–
labelsLabels filteringstringโœ–
exclude-labelsExclude labels filteringstringโœ–
inactive-dayInactive days filteringnumberโœ–
directionReturn sortstringโœ–
[
  {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: ''},
]

โซ Back to list

lock-issues

Every 3 months at UTC 0 on the 1st, lock all issues that have been filled with the inactive label and have not been active for more than 128 days.

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
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
bodyWhen operating an issue, you can comment. Do not comment when not typingstringโœ–
emojiAdd reaction for this commentstringโœ–
labelsLabels filteringstringโœ–
issue-stateState filteringstringโœ–
issue-assigneeAssignee filteringstringโœ–
issue-creatorCreator filteringstringโœ–
issue-mentionedMentioned filteringstringโœ–
body-includesBody filteringstringโœ–
title-includesTitle filteringstringโœ–
inactive-dayInactive days filteringnumberโœ–
lock-reasonReason for locking issuestringโœ–
exclude-labelsExclude labels filteringstringโœ–

โซ Back to list

mark-assignees

Quickly assign person, only for the issue to add editor comments.

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 }}
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
assign-commandSimple commands can be set, such as: /astringโœ–
require-permissionPermission required, default is writestringโœ–

โซ Back to list

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@v3
        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โœ–
emojiAdd reaction for this commentstringโœ–
close-issueWhether to close the issue at the same timestringโœ–
require-permissionPermission required, default is writestringโœ–
close-reasonReason for closing. Default not_planned, another completedstringโœ–

โซ Back to list

toggle-labels

When an issue is reopened, the set labels are removed if they already exist, otherwise they are added.

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'
ParamDescTypeRequired
actionsAction typestringโœ”
tokenToken explainstringโœ–
issue-numberThe number of issue. When not input, it will be obtained from the trigger eventnumberโœ–
labelsThe toggle labels. Delete if the label already exists, add if it does not existstringโœ–

โซ Back to list

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@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'
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-emojiAdd reaction to this issuestringโœ–

โซ Back to list </wrapper>

๐ŸŽ Reference

<wrapper reference data-depth="1" data-warn="DO_NOT_REMOVE_THIS_COMMENT">

token

Need to have the person token with push permission.

When the token is not filled in actions or input ${{ secrets.GITHUB_TOKEN }}, it will default to github-actions-bot. More.

โซ Back to list

GitHub Docs

โซ Back to list

outputs use

- 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 }}"

More:

  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

โซ Back to list

Check rules

"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

โซ Back to list

Emoji types

contentemoji
+1๐Ÿ‘
-1๐Ÿ‘Ž
laugh๐Ÿ˜„
confused๐Ÿ˜•
heartโค๏ธ
hooray๐ŸŽ‰
rocket๐Ÿš€
eyes๐Ÿ‘€

โซ Back to list

comment-id

Click the ยทยทยท icon in the upper right corner of a comment, select Copy link, and the number at the end of the url is comment_id.

โซ Back to list </wrapper>

Actions Template

LICENSE

MIT