1- name : Vérification de la présence d'une issue
1+ name : Vérification de la présence d'une issue et association au projet
22
33on :
44 pull_request :
88 check-ticket :
99 runs-on : ubuntu-latest
1010 steps :
11- - name : Installer GitHub CLI
11+ - name : Installer GitHub CLI et jq
1212 run : sudo apt-get update && sudo apt-get install gh jq -y
1313
1414 - name : Vérifier la référence à une issue et l'association au projet
@@ -31,24 +31,21 @@ jobs:
3131
3232 if [ -z "$ISSUE_NUMBER" ]; then
3333 echo "❌ Aucune référence à une issue détectée"
34- echo "💡 Ajouter #<numéro> dans le titre ou le nom de la branche"
3534 exit 1
3635 fi
3736
3837 echo "Numéro d'issue détecté : $ISSUE_NUMBER"
3938
40- # Vérifier si l'issue est associée au projet GitHub (ID du projet)
41- TARGET_PROJECT_ID=19
39+ # Vérifier si l'issue est associée au projet GitHub Projects v2
40+ PROJECT_NUMBER=19
41+ ISSUE_URL="https://github.com/${REPO}/issues/${ISSUE_NUMBER}"
4242
43- # Récupérer les projets liés à l'issue via l'API GitHub
44- ISSUE_PROJECTS=$(gh api repos/$REPO/issues/$ISSUE_NUMBER/projects \
45- -H "Accept: application/vnd.github.inertia-preview+json" \
46- -q '.[].id')
43+ ITEMS=$(gh project view $PROJECT_NUMBER --json items --jq '.items[].content.url')
4744
48- if echo "$ISSUE_PROJECTS " | grep -q "$TARGET_PROJECT_ID "; then
49- echo "✅ L'issue #$ISSUE_NUMBER est associée au projet $TARGET_PROJECT_ID "
45+ if echo "$ITEMS " | grep -q "$ISSUE_URL "; then
46+ echo "✅ L'issue #$ISSUE_NUMBER est associée au projet $PROJECT_NUMBER "
5047 else
51- echo "❌ L'issue #$ISSUE_NUMBER n'est pas associée au projet $TARGET_PROJECT_ID "
48+ echo "❌ L'issue #$ISSUE_NUMBER n'est pas associée au projet $PROJECT_NUMBER "
5249 echo "💡 Associez l’issue au projet GitHub : https://github.com/users/RustyRory/projects/19"
5350 exit 1
5451 fi
0 commit comments