Squash merge de la branche develop dans master : un seul commit sur master pour regrouper la livraison liée au ticket #50 (affichage dynamique des CGU et de la politique de confidentialité à l'inscription) ainsi que la documentation et les ajustements associés. Frontend (P'titsPas) : modale de validation bloquante avec onglets CGU / confidentialité, chargement des PDF depuis l'API des documents légaux actifs, affichage via pdfx (PdfViewPinch et barre de progression latérale sur le web, repli PdfView sous Windows). Branchement dans le flux d'inscription (écran de présentation), enrichissement du UserService et correction des chemins média pour les URL absolues. Documentation: jeux de fichiers juridiques (markdown et PDF de référence), réorganisation (dossier docs/juridique, archives, renommage du briefing), mises à jour index, liste de tickets et décisions projet. Scripts et métadonnées mineures (Gitea, pubspec, index web). Made-with: Cursor
68 lines
2.3 KiB
Bash
68 lines
2.3 KiB
Bash
#!/usr/bin/env bash
|
|
# Poste un commentaire sur une issue Gitea puis la ferme.
|
|
# Usage: GITEA_TOKEN=xxx ./scripts/gitea-close-issue-with-comment.sh <numéro> "Commentaire"
|
|
# Ou: mettre le token dans .gitea-token à la racine du projet.
|
|
# Exemple: ./scripts/gitea-close-issue-with-comment.sh 15 "Livré : panneau Paramètres opérationnel."
|
|
|
|
set -e
|
|
ISSUE="${1:?Usage: $0 <numéro_issue> \"Commentaire\"}"
|
|
COMMENT="${2:?Usage: $0 <numéro_issue> \"Commentaire\"}"
|
|
BASE_URL="${GITEA_URL:-https://git.ptits-pas.fr/api/v1}"
|
|
REPO="jmartin/petitspas"
|
|
|
|
if [ -z "$GITEA_TOKEN" ]; then
|
|
if [ -f .gitea-token ]; then
|
|
GITEA_TOKEN=$(cat .gitea-token)
|
|
fi
|
|
fi
|
|
if [ -z "$GITEA_TOKEN" ] && [ -f ~/.bashrc ]; then
|
|
eval "$(grep '^export GITEA_TOKEN=' ~/.bashrc 2>/dev/null)" || true
|
|
fi
|
|
if [ -z "$GITEA_TOKEN" ] && [ -f docs/27_BRIEFING-FRONTEND.md ]; then
|
|
token_from_briefing=$(sed -n 's/.*Token: *\(giteabu_[a-f0-9]*\).*/\1/p' docs/27_BRIEFING-FRONTEND.md 2>/dev/null | head -1)
|
|
if [ -n "$token_from_briefing" ]; then
|
|
GITEA_TOKEN="$token_from_briefing"
|
|
fi
|
|
fi
|
|
|
|
if [ -z "$GITEA_TOKEN" ]; then
|
|
echo "Définir GITEA_TOKEN ou créer .gitea-token avec votre token Gitea (voir docs/26_GITEA-API.md)."
|
|
exit 1
|
|
fi
|
|
|
|
# 1) Poster le commentaire
|
|
echo "Ajout du commentaire sur l'issue #$ISSUE..."
|
|
# Échapper pour JSON (guillemets et backslash)
|
|
COMMENT_ESC=$(printf '%s' "$COMMENT" | sed 's/\\/\\\\/g; s/"/\\"/g; s/\r//g')
|
|
PAYLOAD="{\"body\":\"$COMMENT_ESC\"}"
|
|
RESP=$(curl -s -w "\n%{http_code}" -X POST \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-d "$PAYLOAD" \
|
|
"$BASE_URL/repos/$REPO/issues/$ISSUE/comments")
|
|
HTTP_CODE=$(echo "$RESP" | tail -1)
|
|
BODY=$(echo "$RESP" | sed '$d')
|
|
|
|
if [ "$HTTP_CODE" != "201" ]; then
|
|
echo "Erreur HTTP $HTTP_CODE lors du commentaire: $BODY"
|
|
exit 1
|
|
fi
|
|
echo "Commentaire ajouté."
|
|
|
|
# 2) Fermer l'issue
|
|
echo "Fermeture de l'issue #$ISSUE..."
|
|
RESP2=$(curl -s -w "\n%{http_code}" -X PATCH \
|
|
-H "Authorization: token $GITEA_TOKEN" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"state":"closed"}' \
|
|
"$BASE_URL/repos/$REPO/issues/$ISSUE")
|
|
HTTP_CODE2=$(echo "$RESP2" | tail -1)
|
|
BODY2=$(echo "$RESP2" | sed '$d')
|
|
|
|
if [ "$HTTP_CODE2" = "200" ] || [ "$HTTP_CODE2" = "201" ]; then
|
|
echo "Issue #$ISSUE fermée."
|
|
else
|
|
echo "Erreur HTTP $HTTP_CODE2: $BODY2"
|
|
exit 1
|
|
fi
|