9.8 KiB
toc
toc |
---|
menu |
🌟 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@v2
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 | ✖ |
contents | 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-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, allissue-state
: The default isall
. Optional valueopen
closed
, when these 2 items are not, both areall
issue-assignee
: Multiplayer is not supported. If you do not enter or enter *, all will be searched. Enteringnone
will query issues for which the specified person is not addedinactive-day
: When entering, it will filter the issue update time earlier than the current time minus the number of inactive days. If not entered, allinactive-label
: The default isinactive
, others can be customized. When the project does not contain the label, it will be created automatically
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.
name: Check Issue
on:
issues:
types: [edited]
jobs:
check-issue:
runs-on: ubuntu-latest
steps:
- name: check-issue
uses: actions-cool/issues-helper@v2
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 formatx1,x2
orx1,x2/y1,y2
. Only supports two levels- Return
check-result
, due to yml reasons, the judgment condition isif: steps.xxid.outputs.check-result =='true'
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@v2
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 | ✖ |
contents | 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 | ✖ |
labels
: When there are multiple, the query will have multiple at the same time. If not entered, allissue-assignee
: Multiplayer is not supported. If you do not enter or enter *, all will be searched. Enteringnone
will query issues for which the specified person is not addedinactive-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
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@v2
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 whendesc
is set, descending order will be returned- The
created
updated
in the returned array, determined by the environment, will be UTC +0
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@v2
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 | ✖ |
contents | 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, allissue-state
: The default isall
. Optional valueopen
closed
, when these 2 items are not, both areall
issue-assignee
: Multiplayer is not supported. If you do not enter or enter *, all will be searched. Enteringnone
will query issues for which the specified person is not addedinactive-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
month-statistics
At 1 o'clock on the 1st of each month, an issue is generated for the statistics of the previous month.
name: Issue Month Statistics
on:
schedule:
- cron: "0 1 1 * *"
jobs:
month-statistics:
runs-on: ubuntu-latest
steps:
- name: month-statistics
uses: actions-cool/issues-helper@v2
with:
actions: 'month-statistics'
token: ${{ secrets.GITHUB_TOKEN }}
count-lables: 'true'
Param | Desc | Type | Required |
---|---|---|---|
actions | Action type | string | ✔ |
token | Token explain | string | ✔ |
labels | The labels for the new issue | string | ✖ |
assignees | The assignees for the new issue | string | ✖ |
count-lables | Whether the new issue count labels | string | ✖ |
count-comments | Whether the new issue count comments | string | ✖ |
- The new issue title defaults to
[Current repo] Month Statistics: Year-Month
count-lables
: You can set'true'
to add labels statisticscount-comments
: You can set'true'
to add comments statistics
As follows: