mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 22:55:52 -06:00
Update close-discussion.yml
This commit is contained in:
parent
b4bf321e66
commit
3929459106
39
.github/workflows/close-discussion.yml
vendored
39
.github/workflows/close-discussion.yml
vendored
@ -8,31 +8,36 @@ jobs:
|
|||||||
closeDiscussion:
|
closeDiscussion:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Check if PR was merged
|
- name: Check if PR was merged
|
||||||
if: github.event.pull_request.merged == true
|
if: github.event.pull_request.merged == true
|
||||||
run: echo "PR was merged"
|
run: echo "PR was merged"
|
||||||
|
|
||||||
- name: Extract Discussion Number & Close If any Where Found
|
- name: Extract Discussion Number & Close If any Were Found
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
if: github.event.pull_request.merged == true
|
if: github.event.pull_request.merged == true
|
||||||
id: extract-discussion
|
id: extract-discussion
|
||||||
run: |
|
run: |
|
||||||
echo '${{ github.event.pull_request.body }}' > pr_body.txt
|
pr_body="${{ github.event.pull_request.body }}"
|
||||||
|
discussion_ids=$(echo "$pr_body" | jq -r 'scan("(?i)(resolve|fix|close)[s|d]? #[0-9]+")' | grep -o '#[0-9]*' | tr -d '#')
|
||||||
|
|
||||||
|
if [ -z "$discussion_ids" ]; then
|
||||||
|
echo "No discussion IDs found."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
discussion_ids_arr=()
|
for discussion_id in $discussion_ids; do
|
||||||
cat pr_body.txt | grep -i -Po '^\s*(-|\d+\.)?\s*(Resolve(s|d)?)\s*#\d+\s*$|^\s*(-|\d+\.)?\s*(Fix(es|ed)?)\s*#\d+\s*$|^\s*(-|\d+\.)?\s*(Close(s|d)?)\s*#\d+\s*$' | awk -F '#' '{print $2}' > discussion_ids_list.txt
|
echo "Closing discussion #$discussion_id"
|
||||||
while read -r line; do
|
response=$(curl -s -o /dev/null -w "%{http_code}" -X PATCH -H "Authorization: token $GITHUB_TOKEN" \
|
||||||
discussion_ids_arr+=("$line")
|
|
||||||
done < discussion_ids_list.txt
|
|
||||||
|
|
||||||
number_of_ids=${#discussion_ids_arr[@]}
|
|
||||||
for (( i=0; i<${number_of_ids}; i++ ));
|
|
||||||
do
|
|
||||||
discussion_id=${discussion_ids_arr[$i]}
|
|
||||||
echo "$discussion_id"
|
|
||||||
curl -X PATCH -H "Authorization: token $GITHUB_TOKEN" \
|
|
||||||
-d '{"state": "closed"}' \
|
-d '{"state": "closed"}' \
|
||||||
'https://api.github.com/repos/${{ github.repository }}/discussions/$discussion_id'
|
"https://api.github.com/repos/${{ github.repository }}/discussions/$discussion_id")
|
||||||
|
|
||||||
|
if [ "$response" -ne 200 ]; then
|
||||||
|
echo "Failed to close discussion #$discussion_id. HTTP status code: $response"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
shell: bash
|
shell: bash
|
Loading…
Reference in New Issue
Block a user