Compare commits

..

4 Commits
v1.10 ... v1.11

Author SHA1 Message Date
xrkffgg
11acd15e70 docs: update version (#43) 2021-01-14 10:41:25 +08:00
xrkffgg
7619e79b94 perf: expand duplicate action (#40)
* perf: expand duplicate action

* up
2021-01-13 11:08:56 +08:00
xrkffgg
c7cf5de709 feat: add question mark duplicate (#38)
* feat: add question mark duplicate

* add package

* add

* up

* up
2021-01-13 09:32:46 +08:00
xrkffgg
273b6abb78 docs: update version Introduction (#37)
* docs: update version Introduction

* add less
2021-01-12 18:12:11 +08:00
18 changed files with 244 additions and 207 deletions

View File

@@ -1,3 +1,10 @@
## v1.11
`2021.01.14`
- feat: add question mark duplicate. [#38](https://github.com/actions-cool/issues-helper/pull/38)
- perf: expand duplicate action. [#40](https://github.com/actions-cool/issues-helper/pull/40)
## v1.10
`2021.01.12`

View File

@@ -134,7 +134,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Add assigness
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'add-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -176,7 +176,7 @@ jobs:
if: contains(github.event.issue.body, 'xxx') == false
steps:
- name: Add labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'add-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -201,7 +201,7 @@ Close the specified issue.
```yml
- name: Close issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'close-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -234,7 +234,7 @@ jobs:
if: github.event.label.name == 'xxx'
steps:
- name: Create comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -278,7 +278,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Create issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -311,7 +311,7 @@ According to [`comment-id`](#comment-id) delete the specified comment.
```yml
- name: Delete comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'delete-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -343,7 +343,7 @@ jobs:
if: github.event.label.name == 'invalid'
steps:
- name: Lock issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'lock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -360,21 +360,21 @@ jobs:
#### `mark-duplicate`
Quickly mark duplicate questions, only for issue new comments.
Quickly mark duplicate questions, only for issue new comments or edit comments.
```yml
name: Issue Mark Duplicate
on:
issue_comment:
types: [created]
types: [created, edited]
jobs:
mark-duplicate:
runs-on: ubuntu-latest
steps:
- name: mark-duplicate
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'mark-duplicate'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -391,7 +391,7 @@ jobs:
| contents | Add [reaction](#reactions-types) for this comment | string | ✖ |
| close-issue | Whether to close the issue at the same time | string | ✖ |
- `duplicate-command`: When setting concise commands, while still supporting the original `Duplicate of`
- `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
@@ -403,7 +403,7 @@ Open the specified issue.
```yml
- name: Open issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'open-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -424,7 +424,7 @@ Remove the person designated by issue.
```yml
- name: Remove assignees
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'remove-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -447,7 +447,7 @@ Remove the specified labels.
```yml
- name: Remove labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -472,7 +472,7 @@ Replace the labels of issue.
```yml
- name: Set labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'set-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -495,7 +495,7 @@ Unlock the specified issue.
```yml
- name: Unlock issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'unlock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -528,7 +528,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Update comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -556,7 +556,7 @@ Update the specified issue according to the `issue-number`.
```yml
- name: Update issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -606,7 +606,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: welcome
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'welcome'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -649,7 +649,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check-inactive
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'check-inactive'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -702,7 +702,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check-issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'check-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -741,7 +741,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: close-issues
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'close-issues'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -775,7 +775,7 @@ Find the current warehouse issue No. 1, the creator is k and the content contain
```yml
- name: Find comments
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'find-comments'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -823,7 +823,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: lock-issues
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'lock-issues'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -869,7 +869,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: month-statistics
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'month-statistics'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -912,7 +912,7 @@ jobs:
if: github.event.label.name == 'watch'
steps:
- name: find comments
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
id: fcid
with:
actions: 'find-comments'
@@ -923,7 +923,7 @@ jobs:
- name: create comment
if: ${{ steps.fcid.outputs.comments.length == 0 }}
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -932,7 +932,7 @@ jobs:
- name: update comment
if: ${{ steps.fcid.outputs.comments.length == 1 }}
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -964,7 +964,7 @@ When the token is not filled in actions or the corresponding secrets are not add
```yml
- name: Create issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
id: createissue
with:
actions: 'create-issue'
@@ -1038,16 +1038,22 @@ Click the `···` icon in the upper right corner of a comment, select `Copy lin
- Use two-level semantic version, such as v1, v1.1, v2, v2.1
- v1 represents the initial version
- The fixes and additions to the v1 version will be released to the v1.1 version
- When the released v1.x runs stable for a certain period of time, release the advanced v2 version
- When the released v1.x runs stable for a certain period of time or undergoes refactoring, release the advanced v2 version
- Version selection
- It is recommended to use the latest releases version. It can be seen in [releases](https://github.com/actions-cool/issues-helper/releases)
- You can also refer to the update log below to select the version
- The latest v1.x release code will be merged into the 1.x branch
- It also supports the direct use of branch versions. Such as:
```yml
- name: Issues Helper
uses: actions-cool/issues-helper@main
# or
- name: Issues Helper
uses: actions-cool/issues-helper@1.x
```
## Actions Template

View File

@@ -134,7 +134,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Add assigness
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'add-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -176,7 +176,7 @@ jobs:
if: contains(github.event.issue.body, 'xxx') == false
steps:
- name: Add labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'add-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -201,7 +201,7 @@ jobs:
```yml
- name: Close issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'close-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -234,7 +234,7 @@ jobs:
if: github.event.label.name == 'xxx'
steps:
- name: Create comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -278,7 +278,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Create issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -311,7 +311,7 @@ jobs:
```yml
- name: Delete comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'delete-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -343,7 +343,7 @@ jobs:
if: github.event.label.name == 'invalid'
steps:
- name: Lock issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'lock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -360,21 +360,21 @@ jobs:
#### `mark-duplicate`
快捷标记重复问题,仅作用于 issue 新增评论。
快捷标记重复问题,仅作用于 issue 新增编辑评论。
```yml
name: Issue Mark Duplicate
on:
issue_comment:
types: [created]
types: [created, edited]
jobs:
mark-duplicate:
runs-on: ubuntu-latest
steps:
- name: mark-duplicate
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'mark-duplicate'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -391,7 +391,7 @@ jobs:
| contents | 为该评论的增加 [reaction](#reactions-types) | string | ✖ |
| close-issue | 是否同时关闭该 issue | string | ✖ |
- `duplicate-command`:当设置简洁命令时,同时仍支持原有 `Duplicate of`
- `duplicate-command`:当设置简洁命令时,同时仍支持原有 `Duplicate of`。屏蔽内容包含 `?`
- `labels`:优先级最高
- `close-issue``true``'true'` 均可生效
@@ -403,7 +403,7 @@ jobs:
```yml
- name: Open issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'open-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -424,7 +424,7 @@ jobs:
```yml
- name: Remove assignees
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'remove-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -447,7 +447,7 @@ jobs:
```yml
- name: Remove labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -472,7 +472,7 @@ jobs:
```yml
- name: Set labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'set-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -495,7 +495,7 @@ jobs:
```yml
- name: Unlock issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'unlock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -528,7 +528,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Update comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -556,7 +556,7 @@ jobs:
```yml
- name: Update issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -604,7 +604,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: welcome
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'welcome'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -647,7 +647,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check-inactive
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'check-inactive'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -696,7 +696,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check-issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'check-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -735,7 +735,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: close-issues
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'close-issues'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -769,7 +769,7 @@ jobs:
```yml
- name: Find comments
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'find-comments'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -817,7 +817,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: lock-issues
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'lock-issues'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -863,7 +863,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: month-statistics
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'month-statistics'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -906,7 +906,7 @@ jobs:
if: github.event.label.name == 'watch'
steps:
- name: find comments
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
id: fcid
with:
actions: 'find-comments'
@@ -917,7 +917,7 @@ jobs:
- name: create comment
if: ${{ steps.fcid.outputs.comments.length == 0 }}
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -926,7 +926,7 @@ jobs:
- name: update comment
if: ${{ steps.fcid.outputs.comments.length == 1 }}
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -958,7 +958,7 @@ jobs:
```yml
- name: Create issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
id: createissue
with:
actions: 'create-issue'
@@ -1033,16 +1033,22 @@ x2 + y2
- 采用两级语义化版本如v1、v1.1、v2、v2.1
- v1 表示初始版本
- 对 v1 版本的修复和新增会发布到 v1.1 版本
- 当发布的 v1.x 运行一定时间稳定,发布进阶 v2 版本
- 当发布的 v1.x 运行一定时间稳定或进行重构时,发布进阶 v2 版本
- 版本选择
- 建议采用最新 releases 版本。可在 [releases](https://github.com/actions-cool/issues-helper/releases) 看到
- 同时也可参照下面的更新日志来选择版本
- 也支持直接使用分支版本。如:
- 最新的 v1.x release 代码会合并到 1.x 分支中
- 支持直接使用分支版本。如:
```yml
- name: Issues Helper
uses: actions-cool/issues-helper@main
# or
- name: Issues Helper
uses: actions-cool/issues-helper@1.x
```
## Actions 模板

84
dist/index.js vendored
View File

@@ -8026,55 +8026,55 @@ async function doMarkDuplicate (owner, repo, labels) {
core.info(`This actions only support on 'issue_comment'!`);
return false;
}
if (context.payload.action != 'created') {
core.info(`This actions only support on 'issue_comment' created!`);
return false;
}
const duplicateCommand = core.getInput("duplicate-command");
const duplicateLabels = core.getInput("duplicate-labels");
const removeLables = core.getInput("remove-labels");
const closeIssue = core.getInput("close-issue");
if (context.payload.action == 'created' || context.payload.action == 'edited') {
const duplicateCommand = core.getInput("duplicate-command");
const duplicateLabels = core.getInput("duplicate-labels");
const removeLables = core.getInput("remove-labels");
const closeIssue = core.getInput("close-issue");
const commentId = context.payload.comment.id;
const commentBody = context.payload.comment.body;
const issueNumber = context.payload.issue.number;
const commentId = context.payload.comment.id;
const commentBody = context.payload.comment.body;
const issueNumber = context.payload.issue.number;
const ifCommandInput = !!duplicateCommand;
const ifCommandInput = !!duplicateCommand;
if ((ifCommandInput && commentBody.startsWith(duplicateCommand) && commentBody.split(' ')[0] == duplicateCommand) || testDuplicate(commentBody)) {
if (ifCommandInput) {
const nextBody = commentBody.replace(duplicateCommand, 'Duplicate of');
await doUpdateComment(owner, repo, commentId, nextBody, 'replace', true);
} else if (contents) {
await doCreateCommentContent(owner, repo, commentId, dealStringToArr(contents));
}
if (!commentBody.includes('?') && ((ifCommandInput && commentBody.startsWith(duplicateCommand) && commentBody.split(' ')[0] == duplicateCommand) || testDuplicate(commentBody))) {
if (ifCommandInput) {
const nextBody = commentBody.replace(duplicateCommand, 'Duplicate of');
await doUpdateComment(owner, repo, commentId, nextBody, 'replace', true);
} else if (contents) {
await doCreateCommentContent(owner, repo, commentId, dealStringToArr(contents));
}
const issue = await octokit.issues.get({
owner,
repo,
issue_number: issueNumber
});
let newLabels = [];
if (issue.data.labels.length > 0) {
newLabels = issue.data.labels.map(({ name }) => name).filter(name => !dealStringToArr(removeLables).includes(name));
}
if (duplicateLabels) {
newLabels = [...newLabels, ...dealStringToArr(duplicateLabels)];
}
if (labels) {
newLabels = dealStringToArr(labels);
}
if (newLabels.length > 0) {
await doSetLabels(owner, repo, issueNumber, newLabels.toString());
core.info(`Actions: [mark-duplicate-labels][${newLabels}] success!`);
}
const issue = await octokit.issues.get({
owner,
repo,
issue_number: issueNumber
});
let newLabels = [];
if (issue.data.labels.length > 0) {
newLabels = issue.data.labels.map(({ name }) => name).filter(name => !dealStringToArr(removeLables).includes(name));
}
if (duplicateLabels) {
newLabels = [...newLabels, ...dealStringToArr(duplicateLabels)];
}
if (labels) {
newLabels = dealStringToArr(labels);
}
if (newLabels.length > 0) {
await doSetLabels(owner, repo, issueNumber, newLabels.toString());
core.info(`Actions: [mark-duplicate-labels][${newLabels}] success!`);
}
if (closeIssue == 'true') {
await doCloseIssue(owner, repo, issueNumber);
if (closeIssue == 'true') {
await doCloseIssue(owner, repo, issueNumber);
}
} else {
core.info(`This comment body should start whith 'duplicate-command' or 'Duplicate of' and not include '?'`);
}
} else {
core.info(`This comment body should start whith 'duplicate-command'`);
core.info(`This actions only support on 'issue_comment' created or edited!`);
}
};
@@ -8732,7 +8732,7 @@ function matchKeyword (content, keywords) {
function testDuplicate(body) {
if (!body || !body.startsWith('Duplicate of')) {
return false
return false;
}
let arr = body.split(' ');

View File

@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check-inactive
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'check-inactive'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -73,7 +73,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check-issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'check-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -110,7 +110,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: close-issues
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'close-issues'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -142,7 +142,7 @@ Find the current warehouse issue No. 1, the creator is k and the content contain
```yml
- name: Find comments
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'find-comments'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -188,7 +188,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: lock-issues
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'lock-issues'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -232,7 +232,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: month-statistics
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'month-statistics'
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check-inactive
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'check-inactive'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -69,7 +69,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: check-issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'check-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -106,7 +106,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: close-issues
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'close-issues'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -138,7 +138,7 @@ jobs:
```yml
- name: Find comments
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'find-comments'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -184,7 +184,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: lock-issues
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'lock-issues'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -228,7 +228,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: month-statistics
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'month-statistics'
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Add assigness
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'add-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -62,7 +62,7 @@ jobs:
if: contains(github.event.issue.body, 'xxx') == false
steps:
- name: Add labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'add-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -85,7 +85,7 @@ Close the specified issue.
```yml
- name: Close issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'close-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -116,7 +116,7 @@ jobs:
if: github.event.label.name == 'xxx'
steps:
- name: Create comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -158,7 +158,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Create issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -189,7 +189,7 @@ According to [`comment-id`](/en-US/guide/ref#-comment-id) delete the specified c
```yml
- name: Delete comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'delete-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -219,7 +219,7 @@ jobs:
if: github.event.label.name == 'invalid'
steps:
- name: Lock issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'lock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -234,21 +234,21 @@ jobs:
## `mark-duplicate`
Quickly mark duplicate questions, only for issue new comments.
Quickly mark duplicate questions, only for issue new comments or edit comments.
```yml
name: Issue Mark Duplicate
on:
issue_comment:
types: [created]
types: [created, edited]
jobs:
mark-duplicate:
runs-on: ubuntu-latest
steps:
- name: mark-duplicate
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'mark-duplicate'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -265,7 +265,7 @@ jobs:
| contents | Add [reaction](/en-US/guide/ref#-reactions-type) for this comment | string | ✖ |
| close-issue | Whether to close the issue at the same time | string | ✖ |
- `duplicate-command`: When setting concise commands, while still supporting the original `Duplicate of`
- `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
@@ -281,7 +281,7 @@ Open the specified issue.
```yml
- name: Open issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'open-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -300,7 +300,7 @@ Remove the person designated by issue.
```yml
- name: Remove assignees
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'remove-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -321,7 +321,7 @@ Remove the specified labels.
```yml
- name: Remove labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -344,7 +344,7 @@ Replace the labels of issue.
```yml
- name: Set labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'set-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -365,7 +365,7 @@ Unlock the specified issue.
```yml
- name: Unlock issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'unlock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -396,7 +396,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Update comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -422,7 +422,7 @@ Update the specified issue according to the `issue-number`.
```yml
- name: Update issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -470,7 +470,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: welcome
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'welcome'
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Add assigness
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'add-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -62,7 +62,7 @@ jobs:
if: contains(github.event.issue.body, 'xxx') == false
steps:
- name: Add labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'add-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -85,7 +85,7 @@ jobs:
```yml
- name: Close issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'close-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -116,7 +116,7 @@ jobs:
if: github.event.label.name == 'xxx'
steps:
- name: Create comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -158,7 +158,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Create issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -189,7 +189,7 @@ jobs:
```yml
- name: Delete comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'delete-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -219,7 +219,7 @@ jobs:
if: github.event.label.name == 'invalid'
steps:
- name: Lock issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'lock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -234,21 +234,21 @@ jobs:
## `mark-duplicate`
快捷标记重复问题,仅作用于 issue 新增评论。
快捷标记重复问题,仅作用于 issue 新增编辑评论。
```yml
name: Issue Mark Duplicate
on:
issue_comment:
types: [created]
types: [created, edited]
jobs:
mark-duplicate:
runs-on: ubuntu-latest
steps:
- name: mark-duplicate
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'mark-duplicate'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -265,7 +265,7 @@ jobs:
| contents | 为该评论的增加 [reaction](/guide/ref#-reactions-类型) | string | ✖ |
| close-issue | 是否同时关闭该 issue | string | ✖ |
- `duplicate-command`:当设置简洁命令时,同时仍支持原有 `Duplicate of`
- `duplicate-command`:当设置简洁命令时,同时仍支持原有 `Duplicate of`。屏蔽内容包含 `?`
- `labels`:优先级最高
- `close-issue``true``'true'` 均可生效
@@ -281,7 +281,7 @@ jobs:
```yml
- name: Open issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'open-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -300,7 +300,7 @@ jobs:
```yml
- name: Remove assignees
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'remove-assignees'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -321,7 +321,7 @@ jobs:
```yml
- name: Remove labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'remove-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -344,7 +344,7 @@ jobs:
```yml
- name: Set labels
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'set-labels'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -365,7 +365,7 @@ jobs:
```yml
- name: Unlock issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'unlock-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -396,7 +396,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Update comment
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -422,7 +422,7 @@ jobs:
```yml
- name: Update issue
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'update-issue'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -469,7 +469,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: welcome
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'welcome'
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -8,16 +8,22 @@ toc: menu
- Use two-level semantic version, such as v1, v1.1, v2, v2.1
- v1 represents the initial version
- The fixes and additions to the v1 version will be released to the v1.1 version
- When the released v1.x runs stable for a certain period of time, release the advanced v2 version
- When the released v1.x runs stable for a certain period of time or undergoes refactoring, release the advanced v2 version
- Version selection
- It is recommended to use the latest releases version. It can be seen in [releases](https://github.com/actions-cool/issues-helper/releases)
- You can also refer to the update log below to select the version
- The latest v1.x release code will be merged into the 1.x branch
- It also supports the direct use of branch versions. Such as:
```yml
- name: Issues Helper
uses: actions-cool/issues-helper@main
# or
- name: Issues Helper
uses: actions-cool/issues-helper@1.x
```
<embed src="../CHANGELOG.md"></embed>

View File

@@ -8,16 +8,22 @@ toc: menu
- 采用两级语义化版本如v1、v1.1、v2、v2.1
- v1 表示初始版本
- 对 v1 版本的修复和新增会发布到 v1.1 版本
- 当发布的 v1.x 运行一定时间稳定,发布进阶 v2 版本
- 当发布的 v1.x 运行一定时间稳定或进行重构时,发布进阶 v2 版本
- 版本选择
- 建议采用最新 releases 版本。可在 [releases](https://github.com/actions-cool/issues-helper/releases) 看到
- 同时也可参照下面的更新日志来选择版本
- 也支持直接使用分支版本。如:
- 最新的 v1.x release 代码会合并到 1.x 分支中
- 支持直接使用分支版本。如:
```yml
- name: Issues Helper
uses: actions-cool/issues-helper@main
# or
- name: Issues Helper
uses: actions-cool/issues-helper@1.x
```
<embed src="../CHANGELOG.md"></embed>

View File

@@ -33,7 +33,7 @@ jobs:
steps:
- name: help wanted
if: github.event.label.name == 'help wanted'
uses: actions-cool/issues-helper@v1.2
uses: actions-cool/issues-helper@1.x
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}
@@ -50,7 +50,7 @@ jobs:
- `on`action 触发条件
- 参考 [工作流触发机制](https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows)
- `uses`:使用 actions 名称
- `uses: actions-cool/issues-helper@v1.2`。版本选择请 [参考](/changelog)
- `uses: actions-cool/issues-helper@1.x`。版本选择请 [参考](/changelog)
- `issues-hepler` 参数
- `actions`:使用功能的名称,**必填**。支持多个,需用逗号隔开,如 `create-comment,close-issue` 表示评论和关闭 issue
- `token`:需拥有 push 权限的人员 token

View File

@@ -38,7 +38,7 @@ jobs:
steps:
- name: help wanted
if: github.event.label.name == 'help wanted'
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -38,7 +38,7 @@ jobs:
steps:
- name: help wanted
if: github.event.label.name == 'help wanted'
uses: actions-cool/issues-helper@v1.10
uses: actions-cool/issues-helper@v1.11
with:
actions: 'create-comment'
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,6 +1,6 @@
{
"name": "issue-helper",
"version": "1.10.0",
"name": "issues-helper",
"version": "1.11.0",
"private": true,
"description": "Some operations on issue.",
"main": "src/main.js",
@@ -19,7 +19,7 @@
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/actions-cool/issue-helper.git",
"url": "https://github.com/actions-cool/issues-helper.git",
"branch": "main"
},
"keywords": [

View File

@@ -1,7 +1,7 @@
const { readFileSync, writeFileSync } = require('fs');
const last = /v1\.9/g;
const now = 'v1.10';
const last = /v1\.10/g;
const now = 'v1.11';
let readme = readFileSync('./README.md', 'utf-8');
readme = readme.replace(last, now);

View File

@@ -155,55 +155,55 @@ async function doMarkDuplicate (owner, repo, labels) {
core.info(`This actions only support on 'issue_comment'!`);
return false;
}
if (context.payload.action != 'created') {
core.info(`This actions only support on 'issue_comment' created!`);
return false;
}
const duplicateCommand = core.getInput("duplicate-command");
const duplicateLabels = core.getInput("duplicate-labels");
const removeLables = core.getInput("remove-labels");
const closeIssue = core.getInput("close-issue");
if (context.payload.action == 'created' || context.payload.action == 'edited') {
const duplicateCommand = core.getInput("duplicate-command");
const duplicateLabels = core.getInput("duplicate-labels");
const removeLables = core.getInput("remove-labels");
const closeIssue = core.getInput("close-issue");
const commentId = context.payload.comment.id;
const commentBody = context.payload.comment.body;
const issueNumber = context.payload.issue.number;
const commentId = context.payload.comment.id;
const commentBody = context.payload.comment.body;
const issueNumber = context.payload.issue.number;
const ifCommandInput = !!duplicateCommand;
const ifCommandInput = !!duplicateCommand;
if ((ifCommandInput && commentBody.startsWith(duplicateCommand) && commentBody.split(' ')[0] == duplicateCommand) || testDuplicate(commentBody)) {
if (ifCommandInput) {
const nextBody = commentBody.replace(duplicateCommand, 'Duplicate of');
await doUpdateComment(owner, repo, commentId, nextBody, 'replace', true);
} else if (contents) {
await doCreateCommentContent(owner, repo, commentId, dealStringToArr(contents));
}
if (!commentBody.includes('?') && ((ifCommandInput && commentBody.startsWith(duplicateCommand) && commentBody.split(' ')[0] == duplicateCommand) || testDuplicate(commentBody))) {
if (ifCommandInput) {
const nextBody = commentBody.replace(duplicateCommand, 'Duplicate of');
await doUpdateComment(owner, repo, commentId, nextBody, 'replace', true);
} else if (contents) {
await doCreateCommentContent(owner, repo, commentId, dealStringToArr(contents));
}
const issue = await octokit.issues.get({
owner,
repo,
issue_number: issueNumber
});
let newLabels = [];
if (issue.data.labels.length > 0) {
newLabels = issue.data.labels.map(({ name }) => name).filter(name => !dealStringToArr(removeLables).includes(name));
}
if (duplicateLabels) {
newLabels = [...newLabels, ...dealStringToArr(duplicateLabels)];
}
if (labels) {
newLabels = dealStringToArr(labels);
}
if (newLabels.length > 0) {
await doSetLabels(owner, repo, issueNumber, newLabels.toString());
core.info(`Actions: [mark-duplicate-labels][${newLabels}] success!`);
}
const issue = await octokit.issues.get({
owner,
repo,
issue_number: issueNumber
});
let newLabels = [];
if (issue.data.labels.length > 0) {
newLabels = issue.data.labels.map(({ name }) => name).filter(name => !dealStringToArr(removeLables).includes(name));
}
if (duplicateLabels) {
newLabels = [...newLabels, ...dealStringToArr(duplicateLabels)];
}
if (labels) {
newLabels = dealStringToArr(labels);
}
if (newLabels.length > 0) {
await doSetLabels(owner, repo, issueNumber, newLabels.toString());
core.info(`Actions: [mark-duplicate-labels][${newLabels}] success!`);
}
if (closeIssue == 'true') {
await doCloseIssue(owner, repo, issueNumber);
if (closeIssue == 'true') {
await doCloseIssue(owner, repo, issueNumber);
}
} else {
core.info(`This comment body should start whith 'duplicate-command' or 'Duplicate of' and not include '?'`);
}
} else {
core.info(`This comment body should start whith 'duplicate-command'`);
core.info(`This actions only support on 'issue_comment' created or edited!`);
}
};

View File

@@ -104,3 +104,9 @@
background: #fafafa;
}
}
.__dumi-default-alert {
box-shadow: 0 6px 16px 2px rgba(0,0,0,.06) !important;
border-radius: 2px !important;
border: 1px solid #0000000f;
}

View File

@@ -31,7 +31,7 @@ function matchKeyword (content, keywords) {
function testDuplicate(body) {
if (!body || !body.startsWith('Duplicate of')) {
return false
return false;
}
let arr = body.split(' ');