mirror of https://github.com/layui/layui
贤心
11 months ago
7 changed files with 105 additions and 10 deletions
@ -0,0 +1,34 @@
|
||||
name: Issue Closed |
||||
|
||||
on: |
||||
issues: |
||||
types: [closed] |
||||
|
||||
jobs: |
||||
issue-closed: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
# 追加标签 |
||||
- name: Add labels |
||||
id: label-check |
||||
uses: actions/github-script@v7 |
||||
with: |
||||
github-token: ${{secrets.GITHUB_TOKEN}} |
||||
script: | |
||||
const config = { |
||||
owner: context.repo.owner, |
||||
repo: context.repo.repo, |
||||
issue_number: context.issue.number, |
||||
}; |
||||
const issue = await github.rest.issues.get(config); |
||||
|
||||
// 是否带有 `bug` 标签 |
||||
const hasBugLabel = issue.data.labels.some(label => label.name === 'bug'); |
||||
|
||||
// 对带有 `bug` 标签的 issue 追加 `resolved` 标签,表示 bug 已解决。 |
||||
if (hasBugLabel) { |
||||
github.rest.issues.addLabels({ |
||||
...config, |
||||
labels: ['resolved'] |
||||
}); |
||||
} |
@ -0,0 +1,60 @@
|
||||
name: Issue opened |
||||
|
||||
on: |
||||
issues: |
||||
types: [opened, edited] |
||||
|
||||
permissions: |
||||
contents: read |
||||
|
||||
jobs: |
||||
issue-opened: |
||||
permissions: |
||||
issues: write |
||||
pull-requests: write |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- name: content template |
||||
id: template |
||||
run: | |
||||
contribute="详见:🍀 [Layui Issue 贡献指南](https://github.com/layui/layui/blob/main/CONTRIBUTING.md)" |
||||
echo "CONTRIBUTING=$contribute" >> $GITHUB_ENV |
||||
|
||||
- name: check invalid |
||||
uses: actions/github-script@v7 |
||||
with: |
||||
github-token: ${{ secrets.GITHUB_TOKEN }} |
||||
script: | |
||||
const config = { |
||||
owner: context.repo.owner, |
||||
repo: context.repo.repo, |
||||
issue_number: context.issue.number, |
||||
}; |
||||
|
||||
const issue = context.payload.issue; |
||||
const issueBody = issue.body; |
||||
const requiredString = "layui-issue-template"; |
||||
const isCreatedByBot = context.payload.sender.type === 'Bot'; |
||||
const isValid = issueBody.includes(requiredString); |
||||
|
||||
// 跳过 closed 状态的 issues |
||||
if (issue.state === 'closed') { |
||||
return console.log('Issue is closed.'); |
||||
} |
||||
|
||||
// 不符合规则或由机器人创建 |
||||
if (!isValid || isCreatedByBot) { |
||||
github.rest.issues.createComment({ |
||||
...config, |
||||
body: `@${context.payload.sender.login} 你好,为了提升沟通效率,我们对 Issue 制定了严格的要求,你的 Issue 因不符合规定而被自动关闭。 |
||||
建议您在下次创建 Issue 时,遵循相应规范和社区行为准则。谢谢。\n > ${process.env.CONTRIBUTING}` |
||||
}); |
||||
github.rest.issues.addLabels({ |
||||
...config, |
||||
labels: ['invalid'] |
||||
}); |
||||
github.rest.issues.update({ |
||||
...config, |
||||
state: 'closed' |
||||
}); |
||||
} |
Loading…
Reference in new issue