Skip to content

Commit d64e086

Browse files
committed
feat(workflow): Fixes #1 - Ajout github actions pour projet
1 parent 58441bd commit d64e086

1 file changed

Lines changed: 29 additions & 7 deletions

File tree

.github/workflows/ticket.yml

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@ jobs:
1616
env:
1717
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1818
run: |
19+
set -e
20+
1921
BRANCHE="${{ github.head_ref }}"
2022
TITRE="${{ github.event.pull_request.title }}"
2123
REPO="${{ github.repository }}"
24+
PROJECT_NUMBER=19
2225
2326
echo "Nom de branche : $BRANCHE"
2427
echo "Titre de PR : $TITRE"
@@ -31,21 +34,40 @@ jobs:
3134
3235
if [ -z "$ISSUE_NUMBER" ]; then
3336
echo "❌ Aucune référence à une issue détectée"
37+
echo "💡 Ajouter #<numéro> dans le titre ou le nom de la branche"
3438
exit 1
3539
fi
3640
3741
echo "Numéro d'issue détecté : $ISSUE_NUMBER"
3842
39-
# Vérifier si l'issue est associée au projet GitHub Projects v2
40-
PROJECT_NUMBER=19
43+
# Vérifier si l'issue existe
44+
if ! gh api repos/$REPO/issues/$ISSUE_NUMBER >/dev/null 2>&1; then
45+
echo "❌ L'issue #$ISSUE_NUMBER n'existe pas dans le repo $REPO"
46+
exit 1
47+
fi
48+
49+
# Vérifier association au projet GitHub (Projects v2)
4150
ISSUE_URL="https://github.com/${REPO}/issues/${ISSUE_NUMBER}"
4251
43-
ITEMS=$(gh project view $PROJECT_NUMBER --json items --jq '.items[].content.url')
52+
# Récupérer les colonnes du projet
53+
COLUMNS=$(gh api projects/$PROJECT_NUMBER/columns \
54+
-H "Accept: application/vnd.github.inertia-preview+json" \
55+
-q '.[].id')
56+
57+
ISSUE_FOUND=false
58+
for col_id in $COLUMNS; do
59+
CARDS=$(gh api projects/columns/$col_id/cards \
60+
-H "Accept: application/vnd.github.inertia-preview+json")
61+
if echo "$CARDS" | jq -r '.[].content_url' | grep -q "$ISSUE_URL"; then
62+
ISSUE_FOUND=true
63+
break
64+
fi
65+
done
4466
45-
if echo "$ITEMS" | grep -q "$ISSUE_URL"; then
46-
echo "✅ L'issue #$ISSUE_NUMBER est associée au projet $PROJECT_NUMBER"
67+
if [ "$ISSUE_FOUND" = true ]; then
68+
echo "✅ L'issue #$ISSUE_NUMBER est associée au projet GitHub $PROJECT_NUMBER"
4769
else
48-
echo "❌ L'issue #$ISSUE_NUMBER n'est pas associée au projet $PROJECT_NUMBER"
49-
echo "💡 Associez l’issue au projet GitHub : https://github.com/users/RustyRory/projects/19"
70+
echo "❌ L'issue #$ISSUE_NUMBER n'est pas associée au projet GitHub $PROJECT_NUMBER"
71+
echo "💡 Associez l’issue au projet : https://github.com/users/RustyRory/projects/19"
5072
exit 1
5173
fi

0 commit comments

Comments
 (0)