Skip to content

Workflow file for this run

name: Issue Management
on:
issues:
types:
- labeled
- closed
jobs:
manage_issues:
runs-on: ubuntu-latest
steps:
- name: Set up authentication
run: echo "GITHUB_TOKEN=${{ secrets.SHEEP }}" >> $GITHUB_ENV
- name: Install jq
run: sudo apt-get update && sudo apt-get install -y jq
- name: Handle labeled issues
if: github.event.action == 'labeled'
run: |
if [[ "${{ github.event.label.name }}" == "❌ 拒绝" || "${{ github.event.label.name }}" == "😂 移交上游" ]]; then
curl -X PATCH \
-H "Authorization: token ${{ secrets.SHEEP }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }} \
-d '{"state": "closed", "state_reason": "not_planned"}'
elif [[ "${{ github.event.label.name }}" == "👌 完成" ]]; then
curl -X PATCH \
-H "Authorization: token ${{ secrets.SHEEP }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }} \
-d '{"state": "closed", "state_reason": "completed"}'
fi
add-labels:
runs-on: ubuntu-latest
steps:
- name: Check if the issue was closed as completed and add label
uses: actions/github-script@v6
with:
github-token: ${{ secrets.SHEEP }}
script: |
if (context.payload.issue.state_reason === 'completed') {
await github.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
labels: ['👌 完成']
});
}
- name: Check if the issue was closed as duplicate and add label
uses: actions/github-script@v6
with:
github-token: ${{ secrets.SHEEP }}
script: |
if (context.payload.issue.state_reason === 'duplicate') {
await github.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
labels: ['❌ 重复']
});
}