forked from PCL-Community/PCL2-CE
-
Notifications
You must be signed in to change notification settings - Fork 0
56 lines (50 loc) · 2.54 KB
/
issues.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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
- name: Handle closed issues
if: github.event.action == 'closed'
run: |
existing_labels=$(curl -s -H "Authorization: token ${{ secrets.SHEEP }}" -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/${{ github.repository }}/issues/${{ github.event.issue.number }} | jq -r '.labels | map(.name) | join(", ")')
if [[ "${{ github.event.issue.state_reason }}" == "duplicate" ]]; then
new_labels="[$existing_labels, \"❌ 重复\"]"
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 '{"labels": '$new_labels'}'
elif [[ "${{ github.event.issue.state_reason }}" == "completed" ]]; then
new_labels="[$existing_labels, \"👌 完成\"]"
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 '{"labels": '$new_labels'}'
fi