-
Notifications
You must be signed in to change notification settings - Fork 0
39 lines (33 loc) · 1.21 KB
/
main.yml
File metadata and controls
39 lines (33 loc) · 1.21 KB
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
name: Enforce Issue Templates
on:
issues:
types:
- opened
jobs:
validate-issue:
runs-on: ubuntu-latest
steps:
- name: Check Issue Type
run: |
# Extract the issue type from the issue body
issue_type=$(echo "${{ github.event.issue.body }}" | grep -oE 'Issue Type: (.*)' | sed 's/Issue Type: //')
# Define the expected issue types
expected_types=("bug" "feature" "improvement")
# Check if the issue type is valid
if [[ " ${expected_types[*]} " == *" $issue_type "* ]]; then
echo "Issue type is valid: $issue_type"
exit 0
else
echo "Invalid issue type: $issue_type"
echo "Please select one of the following issue types: bug, feature, improvement"
exit 1
fi
shell: bash
- name: Comment on Invalid Issue
if: failure()
run: |
# Comment on the issue if the issue type is invalid
body="Invalid issue type. Please select one of the following issue types: bug, feature, improvement"
gh issue comment ${{ github.event.issue.number }} --body "$body"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}