1 changed files with 48 additions and 0 deletions
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
name: Check Issue for Keywords |
||||
|
||||
on: |
||||
issues: |
||||
types: [opened] # Triggers when an issue is opened |
||||
|
||||
jobs: |
||||
check_keywords: |
||||
runs-on: ubuntu-latest # You can use any runner; Ubuntu is the most common |
||||
steps: |
||||
- name: Checkout repository |
||||
uses: actions/checkout@v3 |
||||
|
||||
- name: Check for keywords in issue title and body |
||||
id: check_keywords |
||||
run: | |
||||
# Define the list of keywords |
||||
keywords=("Virus" "Malware" "Windows Defender" "Antivirus") |
||||
|
||||
# Get the issue title and body from the event context |
||||
ISSUE_TITLE="${{ github.event.issue.title }}" |
||||
ISSUE_BODY="${{ github.event.issue.body }}" |
||||
|
||||
# Check if any of the keywords are present in the title or body |
||||
for keyword in "${keywords[@]}"; do |
||||
if [[ "$ISSUE_TITLE" == *"$keyword"* ]] || [[ "$ISSUE_BODY" == *"$keyword"* ]]; then |
||||
echo "Keyword '$keyword' found in the issue" |
||||
echo "contains_keyword=true" >> $GITHUB_ENV |
||||
break |
||||
fi |
||||
done |
||||
|
||||
- name: Comment and close issue if keyword found |
||||
if: env.contains_keyword == 'true' # Only run if a keyword was found |
||||
run: | |
||||
ISSUE_NUMBER="${{ github.event.issue.number }}" |
||||
|
||||
# Post a comment on the issue |
||||
curl -X POST \ |
||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ |
||||
-d '{"body": "Bum behavior. Closed"}' \ |
||||
"https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER/comments" |
||||
|
||||
# Close the issue |
||||
curl -X PATCH \ |
||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ |
||||
-d '{"state": "closed"}' \ |
||||
"https://api.github.com/repos/${{ github.repository }}/issues/$ISSUE_NUMBER" |
||||
Loading…
Reference in new issue