chore(ci): basic ChatOps

This commit is contained in:
Neko Ayaka
2026-03-29 16:07:42 +08:00
parent fbf6a05f1e
commit 94c69c0bd6
4 changed files with 91 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
[
{
"command": "hold",
"permission": "write",
"issue_type": "pull-request"
},
{
"command": "unhold",
"permission": "write",
"issue_type": "pull-request"
},
{
"command": "lgtm",
"permission": "write",
"issue_type": "pull-request"
}
]
@@ -0,0 +1,32 @@
name: Slash Command Dispatch
on:
issue_comment:
# Type "edited" added here for test purposes. Where possible, avoid
# using to prevent processing unnecessary events.
types: [created, edited]
jobs:
slashCommandDispatch:
runs-on: ubuntu-latest
permissions:
pull-requests: read
issues: read
steps:
# Advanced JSON configuration from file
# (These commands do not do anything and are just a reference example)
- name: Slash Command Dispatch (JSON file)
uses: peter-evans/slash-command-dispatch@v5
id: scd
with:
token: ${{ secrets.PAT_SLASH_COMMAND_DISPATCH }}
reactions: false
config-from-file: .github/slash-command-dispatch.json
- name: Edit comment with error message
if: steps.scd.outputs.error-message
uses: peter-evans/create-or-update-comment@v5
with:
comment-id: ${{ github.event.comment.id }}
body: |
> ${{ steps.scd.outputs.error-message }}
@@ -0,0 +1,21 @@
name: Handle /hold command
on:
repository_dispatch:
types: [hold-command]
jobs:
handle:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/github-script@v8
with:
script: |
github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: ['pr-reviews/hold']
})
@@ -0,0 +1,21 @@
name: Handle /unhold command
on:
repository_dispatch:
types: [unhold-command]
jobs:
handle:
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/github-script@v8
with:
script: |
github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
name: 'pr-reviews/hold'
})