mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 02:12:49 +00:00 
			
		
		
		
	Create close_issue_in_dev.yaml (#3042)
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						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
 | 
				
			||||||
		Reference in New Issue
	
	Block a user