toc |
---|
menu |
Advanced usage is not recommended to use multiple actions at the same time.
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/[email protected]
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 | ✖ |
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 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/[email protected]
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 | 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'
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/[email protected]
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 | ✖ |
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 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/[email protected]
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 | 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
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/[email protected]
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 | ✖ |
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
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/[email protected]
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: