mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-04-29 13:23:07 +00:00
Create close_issue_in_dev.yaml (#3042)
This commit is contained in:
parent
c895fb7809
commit
4646e10382
58
.github/workflows/close_issue_in_dev.yaml
vendored
Normal file
58
.github/workflows/close_issue_in_dev.yaml
vendored
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
name: Close Matching Issue on PR Merge
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- closed
|
||||||
|
jobs:
|
||||||
|
close_issue:
|
||||||
|
if: github.event.pull_request.merged == true
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Extract and Process PR Title
|
||||||
|
id: extract_title
|
||||||
|
run: |
|
||||||
|
title=$(echo "${{ github.event.pull_request.title }}" | sed 's/^New Script://g' | tr '[:upper:]' '[:lower:]' | sed 's/ //g' | sed 's/-//g')
|
||||||
|
echo "Processed Title: $title"
|
||||||
|
echo "title=$title" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Search for Issues with Similar Titles
|
||||||
|
id: find_issue
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
issues=$(gh issue list --repo community-scripts/ProxmoxVED --json number,title --jq '.[] | {number, title}')
|
||||||
|
|
||||||
|
best_match_score=0
|
||||||
|
best_match_number=0
|
||||||
|
|
||||||
|
for issue in $(echo "$issues" | jq -r '. | @base64'); do
|
||||||
|
_jq() {
|
||||||
|
echo ${issue} | base64 --decode | jq -r ${1}
|
||||||
|
}
|
||||||
|
|
||||||
|
issue_title=$(_jq '.title' | tr '[:upper:]' '[:lower:]' | sed 's/ //g' | sed 's/-//g')
|
||||||
|
issue_number=$(_jq '.number')
|
||||||
|
|
||||||
|
match_score=$(echo "$title" | grep -o "$issue_title" | wc -l)
|
||||||
|
|
||||||
|
if [ "$match_score" -gt "$best_match_score" ]; then
|
||||||
|
best_match_score=$match_score
|
||||||
|
best_match_number=$issue_number
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$best_match_number" != "0" ]; then
|
||||||
|
echo "issue_number=$best_match_number" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "No matching issue found."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Comment on the Best-Matching Issue and Close It
|
||||||
|
if: env.issue_number != ''
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.PAT_MICHEL }}
|
||||||
|
run: |
|
||||||
|
gh issue comment $issue_number --repo community-scripts/ProxmoxVED --body "Merged with #${{ github.event.pull_request.number }} in ProxmoxVE"
|
||||||
|
gh issue close $issue_number --repo community-scripts/ProxmoxVED
|
Loading…
x
Reference in New Issue
Block a user