GithubHelp home page GithubHelp logo

actions-cool / issues-helper Goto Github PK

View Code? Open in Web Editor NEW
348.0 3.0 46.0 11.58 MB

🤖 A GitHub Action easily helps you automatically manage issues. Welcome to try.

Home Page: https://actions-cool.github.io/issues-helper/

License: MIT License

JavaScript 13.41% TypeScript 51.04% Less 35.32% Shell 0.23%
issues issue-labels issue actions helper

issues-helper's Introduction

🤖 Issues Helper

A GitHub Action that easily helps you automatically manage issues

dumi code style: prettier

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.

ant-design ant-design-blazor ant-design-mobile ant-design-vue
bootstrap dumi electron element-plus
formily jsx-next material-ui naive-ui
nutui prettier react-component react-music-player
S2 swiper umi vite
vitest vue-request vuepress-next zoo

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

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
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
assignees Designated person. No operation when no input or empty character string
random-to When set, it will be randomly selected in assignees number
  • 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
  • You can assign up to 10 people to each issue

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
labels New labels. When it is not filled in or is empty character, do not add string
  • labels support multiple and separated by comma

⏫ 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
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
close-reason Reason for closing. Default not_planned, another completed string

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
body Add comment content string
emoji Add emoji string
  • No action when body is empty
  • Return comment-id, which can be used for subsequent operations. Usage reference
  • ${{ github.event.issue.user.login }} indicates the creator of the issue
  • emoji support multiple and separated by comma

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
title The title of the new issue string
body The body of the new issue string
labels The labels for the new issue string
assignees The assignees for the new issue string
random-to When set, it will be randomly selected in assignees number
emoji Add emoji string

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
label-name Label name, emoji support string
label-color Label color, the format is hexadecimal color code, without # string
label-desc Label description string
  • label-name: If it already exists, no operation
  • label-color: Default is ededed

⏫ 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
Param Desc Type Required
actions Action type string
token Token explain string
comment-id The comment ID number

⏫ 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 }}
Param Desc Type Required
actions Action type string
token Token explain string
  • Return issue-number issue-title issue-body issue-labels issue-assignees issue-state. Usage reference

⏫ 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 }}
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
lock-reason Reason for locking issue string
  • lock-reason: Optional values are off-topic too heated resolved spam

⏫ 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
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
assignees Designated person removed. When it is an empty character, do not remove string

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
labels The removed labels. When it is a blank character, do not remove string
  • labels supports multiple, such as x1,x2,x3, only the labels added by the issue will be removed

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
labels labels set. When empty characters, will remove all string

⏫ 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 }}
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
comment-id The comment ID number
out-comments The output of find-comments, if you find multiple, operate multiple string
body Update the content of comment string
update-mode Update mode. Default replace, another append string
emoji Add reaction string
  • 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

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
state Modify the status of issue, optional value open closed string
title Modify the title of the issue string
body Modify the content of issue string
update-mode Update mode. Default replace, another append string
labels Replace the labels of issue string
assignees Replace the assignees of issue string
emoji Add reaction string
  • state defaults to open
  • When the option is not filled, it will keep the original

⏫ Back to list

🌟 Advanced

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
Param Desc Type Required
actions Action type string
token Token explain string
body When operating an issue, you can comment. Do not comment when not typing string
emoji Add reaction for this comment string
labels Labels filtering string
issue-state State filtering string
issue-assignee Assignee filtering string
issue-creator Creator filtering string
issue-mentioned Mentioned filtering string
body-includes Body filtering string
title-includes Title filtering string
inactive-day Inactive days filtering number
inactive-mode Detect inactive mode, default issue string
inactive-label The label name adding string
exclude-labels Exclude labels filtering string
  • labels: When there are multiple, the query will have multiple at the same time. If not entered, all
  • issue-state: The default is all. Optional value open closed, when these 2 items are not, both are all
  • issue-assignee: Multiplayer is not supported. If you do not enter or enter *, all will be searched. Entering none will query issues for which the specified person is not added
  • inactive-day: When entering, it will filter the issue update time earlier than the current time minus the number of inactive days. If not entered, all
  • inactive-label: The default is inactive, others can be customized. When the project does not contain the label, it will be created automatically
  • exclude-labels: When set to include $exclude-empty, no label issue can be excluded
  • inactive-mode:
    • Default issue: the issue updated time
    • Optional comment: the last comment update time
    • Optional issue-created: the issue created time
    • Optional comment-created: the comment creation time
    • You can also set multiple such as: comment, issue-created
      • It will be detected with priority, the update time of the last comment will be detected first, if there is no comment, the creation time of the issue will be used

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
assignee-includes Assignees contains check string
title-includes Title contains check string
title-excludes Check whether the title is empty after removing the default title string
body-includes Body contains check string
  • title-includes body-includes supports the format x1,x2 or x1,x2/y1,y2. Only supports two levels
  • Return check-result, due to yml reasons, the judgment condition is if: steps.xxid.outputs.check-result =='true'

⏫ 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
Param Desc Type Required
actions Action type string
token Token explain string
body When operating an issue, you can comment. Do not comment when not typing string
emoji Add reaction for this comment string
labels Labels filtering string
issue-assignee Assignee filtering string
issue-creator Creator filtering string
issue-mentioned Mentioned filtering string
body-includes Body filtering string
title-includes Title filtering string
inactive-day Inactive days filtering number
exclude-labels Exclude labels filtering string
close-reason Reason for closing. Default not_planned, another completed string
  • labels: When there are multiple, the query will have multiple at the same time. If not entered, all
  • issue-assignee: Multiplayer is not supported. If you do not enter or enter *, all will be searched. Entering none will query issues for which the specified person is not added
  • inactive-day: When entering, it will filter the issue update time earlier than the current time minus the number of inactive days. If not entered, all
  • exclude-labels: When set to include $exclude-empty, no label issue can be excluded

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
comment-auth Comment creator, all will be queried if not filled string
body-includes Comment content includes filtering, no verification if not filled string
direction Return comments sort string
  • Return comments in the following format:
[
  {id: 1, auth: 'x', body: 'xxx', created: '', updated: ''},
  {id: 2, auth: 'x', body: 'xxx', created: '', updated: ''},
]
  • direction defaults to ascending order, only when desc is set, descending order will be returned
  • The created updated in the returned array, determined by the environment, will be UTC +0

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-state State filtering string
issue-creator Creator filtering string
title-includes Title filtering string
body-includes Body filtering string
labels Labels filtering string
exclude-labels Exclude labels filtering string
inactive-day Inactive days filtering number
direction Return sort string
  • Returns issues in the following format:
[
  {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: ''},
]
  • issue-state: The default is open. Other values are: closed, all
  • direction defaults to ascending order, only when desc is set, descending order will be returned
  • The created updated in the returned array, determined by the environment, will be UTC +0
  • exclude-labels: When set to include $exclude-empty, no label issue can be excluded

⏫ 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
Param Desc Type Required
actions Action type string
token Token explain string
body When operating an issue, you can comment. Do not comment when not typing string
emoji Add reaction for this comment string
labels Labels filtering string
issue-state State filtering string
issue-assignee Assignee filtering string
issue-creator Creator filtering string
issue-mentioned Mentioned filtering string
body-includes Body filtering string
title-includes Title filtering string
inactive-day Inactive days filtering number
lock-reason Reason for locking issue string
exclude-labels Exclude labels filtering string
  • labels: When there are multiple, the query will have multiple at the same time. If not entered, all
  • issue-state: The default is all. Optional value open closed, when these 2 items are not, both are all
  • issue-assignee: Multiplayer is not supported. If you do not enter or enter *, all will be searched. Entering none will query issues for which the specified person is not added
  • inactive-day: When entering, it will filter the issue update time earlier than the current time minus the number of inactive days. If not entered, all
  • exclude-labels: When set to include $exclude-empty, no label issue can be excluded

⏫ 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 }}
Param Desc Type Required
actions Action type string
token Token explain string
assign-command Simple commands can be set, such as: /a string
require-permission Permission required, default is write string
  • assign-command: default /assign
  • 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

⏫ 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 }}
Param Desc Type Required
actions Action type string
token Token explain string
duplicate-command Simple commands can be set, such as: /d string
duplicate-labels Add additional labels to this issue string
remove-labels Set removable labels string
labels Replace the labels of the issue string
emoji Add reaction for this comment string
close-issue Whether to close the issue at the same time string
require-permission Permission required, default is write string
close-reason Reason for closing. Default not_planned, another completed string
  • 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

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
issue-number The number of issue. When not input, it will be obtained from the trigger event number
labels The toggle labels. Delete if the label already exists, add if it does not exist string

⏫ 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'
Param Desc Type Required
actions Action type string
token Token explain string
body Comment on the welcome content, no comment if you leave it blank string
labels Add labels to this issue string
assignees Add assignees to this issue string
issue-emoji Add reaction to this issue string
  • If these 4 options are not filled, no operation

⏫ Back to list

🎁 Reference

token

Need to have the person token with push permission.

  • Personal token application
    • Need to check Full control of private repositories
  • Project add secrets
    • Select settings, select secrets, select New repository secret
    • Name is the same as in actions
    • Value fill in the token just applied by the individual

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

content emoji
+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

Actions Template

LICENSE

MIT

issues-helper's People

Contributors

afc163 avatar ajuner avatar alexandrebrg avatar buffcode avatar danielcompton avatar john60676 avatar madmansn0w avatar meteorlxy avatar miracles1919 avatar misund avatar sxzz avatar timetravelcyn avatar wjz304 avatar wxh16144 avatar xhofe avatar xrkffgg avatar yangzhanmei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

issues-helper's Issues

[Feature] enhancement assign to user

🥰 需求描述 Description of Requirement

support /assign @userid to assign an issue to a user
extra users can assign for themselves

🧐 解决方案 Solution

🚑 其他信息 Other information

[BUG] Report bug

We where using v2 and it worked well.

But now it stopped working with following error:

Run actions-cool/issues-helper@v2
  with:
    actions: remove-labels
    labels: bot-reply Logfile
    token: ***
Error: Not Found

grafik

So I tried v3, but that again shows another error:


Run actions-cool/issues-helper@v3
Warning: [🎃 AC] 'issue-number' is missing or this action not needed yet!
[📝 AC] [Init] [caco3/AI-on-the-edge-device => undefined]
Error: [🚨 AC] Not Found

grafik

[Feature] New function

🥰 需求描述 Description of Requirement

🧐 解决方案 Solution

🚑 其他信息 Other information

[Question] Is it possible to keep the order of multiple actions in one step ?

🧐 问题描述 Problem Description

The actions option allows multiple actions separated by comma. I found that the order of execution of the actions is not guaranteed.

However, the order of those actions could be important in some cases. For example, if I want to close and then lock an issue, I might configure like this:

      - uses: actions-cool/[email protected]
        with:
          actions: 'close-issue, lock-issue'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}
          body: |
            Hello @${{ github.event.issue.user.login }}. This issue is marked as `invalid` and closed. Please follow the issue template.

The issue was firstly locked, and then closed, causing that the bot could not leave a comment to a locked issue:

image


So maybe we could:

  • Add an extra option like parallel: false
  • Or, add a suggestion in docs, tell users to use multiple steps in such cases?

[Feature] Add list-assignees function

🥰 需求描述 Description of Requirement

I'd like to request a list-assignees function that will return the list of the current issue assignees without changing them.

🧐 解决方案 Solution

I was thinking of:

jobs:
  list-assigness:
    runs-on: ubuntu-latest
    steps:
      - name: List assigness
        id: list-assignees
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'list-assignees'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}
     - name: Print assignees
        id: print-assignees
        run: |
          echo "The current assignees are: ${{ steps.list-assignees.outputs.assignees }}"

This would print something like:

The current assignees are: xx1,xx2

🚑 其他信息 Other information

Default Title

Currently at actions-cool/issue-helper. And this is default comment.

[Feature] 同步所有fork的库

🥰 需求描述 Description of Requirement

同步所有fork的库

🧐 解决方案 Solution

🚑 其他信息 Other information

[Feature] 优化 API 请求

🥰 需求描述 Description of Requirement

🧐 解决方案 Solution

🚑 其他信息 Other information

Default Title

Currently at actions-cool/issue-helper. And this is default comment.

[Question] Help

🧐 问题描述 Problem Description

我想通过定时任务给issue打inactive标签,但是要先判断issue至少已经被打上一个非bug标签。
如果issue没任何标签,则不处理。这么做是为了让每个issue至少经过社区打过标签后才被issue-helper处理。
请问这样的条件该怎么写呢

💻 示例代码 Sample code

🚑 其他信息 Other information

[Feature] Exclude contributors

🥰 需求描述 Description of Requirement

I would like to use create-comment but don't do that when an issue is created by someone who is already a contributor in this repository.

🧐 解决方案 Solution

Add new option: except-for with an array of following options:

[BUG] yml not support array

🐛 Bug 描述 Bug description

yml not support array

image

受影响的有 labels assignees

🏞 期望结果 Desired result

🚑 其他信息 Other information

GITHUB_TOKEN permissions used by this action

At https://github.com/step-security/secure-workflows we are building a knowledge-base (KB) of GITHUB_TOKEN permissions needed by different GitHub Actions. When developers try to set minimum token permissions for their workflows, they can use this knowledge-base instead of trying to research permissions needed by each GitHub Action they use.

Below you can see the KB of your GITHUB Action.

name: 'Issues Helper'
github-token:
  action-input:
    input: token
    is-default: true
  permissions:
    issues: write
    issues-reason: to update issues

If you think this information is not accurate, or if in the future your GitHub Action starts using a different set of permissions, please create an issue at https://github.com/step-security/secure-workflows/issues to let us know.

This issue is automatically created by our analysis bot, feel free to close after reading :)

References:

GitHub asks users to define workflow permissions, see https://github.blog/changelog/2021-04-20-github-actions-control-permissions-for-github_token/ and https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token for securing GitHub workflows against supply-chain attacks.

Setting minimum token permissions is also checked for by Open Source Security Foundation (OpenSSF) Scorecards. Scorecards recommend using https://github.com/step-security/secure-workflows so developers can fix this issue in an easier manner.

[Question] 通过commit 自动关闭issue时如何添加一个label?

🧐 问题描述 Problem Description

比如用户提了一个issue, 是一个bug,我现在提交了一个commit修复了
commit 消息为 fix: xx close #xxx, 我想在自动关闭 issue时, 自动添加一个 label ready release, 并自动提交一个comment,目前,借助 issue-helper create-comment 的能力,已经可以实现添加label 自动评论

我看了下 github action 的文档,似乎只有 issue closed 的钩子,无法做到 当某某用户关闭issue,或是 commit message 是 “fix:xx close #xxx” 关闭这种更细一点的

问题:如何将 commit 自动关闭所关联issue -> 添加label 这个流程走通?目前已有的功能支持吗?还是说要加代码,用github的api去获取

💻 示例代码 Sample code

name: Issue Ready Release

on:
  issues:
    types: [labeled]

jobs:
  create-comment:
    runs-on: ubuntu-latest
    if: github.event.label.name == 'ready release'
    steps:
      - name: Create comment
        uses: actions-cool/[email protected]
        with:
          actions: 'create-comment'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}
          body: |
            你好 @${{ github.event.issue.user.login }},这个bug/feature 已经修复/完成, 会在下个版本一起发布。

      - name: Remove labels
        uses: actions-cool/[email protected]
        with:
          actions: 'remove-labels,close-issue'
          token: ${{ secrets.GITHUB_TOKEN }}
          issue-number: ${{ github.event.issue.number }}
          labels: 'Progress,help wanted'

🚑 其他信息 Other information

image

[Feature] Follow semantic versioning?

🥰 需求描述 Description of Requirement

Suggest follow semantic versioning, I'm not sure if dependabot can understand the version v2, v2.1.

dependabot can keep Github Actions up to date.

🧐 解决方案 Solution

Use v2.0.0 instead of v2

🚑 其他信息 Other information

N/A

[Resource] More colorful badge

🌟 base

actions-cool

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

🌈 How to change color

image

Tip

If use like #ff69b4

#ff6914 -> %23ff69b4

Example

actions-cool

--- blue
+++ red

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

🎉 How to change style

Style Display
?style=plastic   actions-cool
?style=flat actions-cool
?style=flat-square  actions-cool
?style=for-the-badge  actions-cool
?style=social actions-cool

[Feature] 投票系统

🥰 需求描述 Description of Requirement

🧐 解决方案 Solution

🚑 其他信息 Other information

[BUG] Report bug

🐛 Bug 描述 Bug description

mark-duplicate is not updating the labels

🏞 期望结果 Desired result

mark-duplicate should update the labels

🚑 其他信息 Other information

The bug was noticed here: mui/material-ui#34081 (comment)

[Feature] Refactor 3.0

  • Todo
    • Use Class
    • Use Ts
    • Unified error
    • get issue 统一
    • 发布脚本
    • 文档版本统一 v3
    • 2.x 文档单独存放

[Question] Is it possible to exclude issues with some labels when check-inactive ?

🧐 问题描述 Problem Description

When using check-inactive action, I want to exclude issues which are marked as bug or some other labels.

According to the docs, the labels option means to "include some labels" instead of "exclude some labels":

- `labels`: When there are multiple, the query will have multiple at the same time. If not entered, all

So I wonder if it is supported to exclude issues with some labels when check-inactive ?

[Feature] New function check-comment

🥰 需求描述 Description of Requirement

name: Check Comment

on:
  issue_comment:
    types: [created, edited]

jobs:
  check-comment:
    runs-on: ubuntu-latest
    steps:
      - id: check-comment
        name: check-comment
        uses: actions-cool/issues-helper@v3
        with:
          actions: 'check-comment'
          token: ${{ secrets.GITHUB_TOKEN }}
          comment-id: ${{ github.event.comment.id }}
          body-includes: 'x1,x2'
if: steps.check-comment.outputs.check-result == 'true'

🧐 解决方案 Solution

https://docs.github.com/en/rest/issues/comments#get-an-issue-comment

🚑 其他信息 Other information

find-issues 更新

想要一个

find-issues

查找当前仓库中,创建者是 k ,标题包含 that ,内容包含 this 的议题列表。

- name: Find issues
    uses: actions-cool/issues-helper@v2
    with:
      actions: 'find-issues'
      token: ${{ secrets.GITHUB_TOKEN }}
      issue-auth: 'k'
      title-includes: 'that'
      body-includes: 'this'
参数 描述 类型 必填
actions 操作类型 string
token token 说明 string
issue-auth 议题创建者,不填时会查询所有 string
title-includes 议题标题包含过滤,不填时无校验 string
body-includes 议题内容包含过滤,不填时无校验 string
direction 返回 issues 排序 string
  • 返回 issues,格式如下:
[
  {id: 1, auth: 'x', title: 'aaa', body: 'xxx', created: '', updated: ''},
  {id: 2, auth: 'x', title: 'aaa', body: 'xxx', created: '', updated: ''},
]
  • direction 默认为升序,只有设置 desc 时,会返回降序
  • 返回数组中 created updated,由所处环境决定,会是 UTC +0

Originally posted by @MichaelMai2000 in #18 (comment)

[BUG] "Cannot read property 'toLowerCase' of null" - empty issue bodies cause error when using 'check-issue'

🐛 Bug 描述 Bug description

When using check-issue - body-includes on an issue that has an empty body, the workflow fails with error:
Error: [🚨 AC] Cannot read property 'toLowerCase' of null

🏞 期望结果 Desired result

Desired result is that issues with empty body content can be reported as boolean.

🚑 其他信息 Other information

Github "Convert to Issue" for task list items yields empty issues, which will break the above functionality.

Who is using?

💖 欢迎留下你的 项目链接logo 地址,这将会使你的项目展示在首页上。你也可以直接 PR 来 USERS.js 中添加。


💖 Welcome to leave a link to your project and logo url, which will show your project on the homepage. You can also directly PR to add in USERS.js.


欢迎加入 钉钉交流群

inactive-day 逻辑

  • 不传 labels

    • 根据 issue 更新时间 + 最后一个评论的更新时间 判断是否与当前时间相差 inactive-day
      • 传 exclude-users 可设置屏蔽 评论的用户
  • 传 labels

    • 会筛选包含这些 labels 的 issues
    • 根据 issue 更新时间 + 最后一个评论的更新时间 + 增加 label 的时间 来判断
      • 传 exclude-users 可设置屏蔽 评论的用户

[Feature] 维护一份文档

🥰 需求描述 Description of Requirement

现有 readme 和 网站 文档是分开单独维护的,维护一份

🧐 解决方案 Solution

主要维护 readme ,用脚本同步 网站

🚑 其他信息 Other information

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.