Jenkins et API asqatasun

Bonjours

Dans notre utilisation je me rend compte que pour paramétré Jenkins avec les API et avoir un résultat
nous devons faire 2 appels une pour lance l’analyse et une pour le résultat

avec une duré d’analyse non connue

Serai t’il possible d’avoir le résultat juste après avoir lancé l’analyse et attendre la fin d’analyse pour une réponse d’api ?

merci d’avance

voici un exemple de Script Shell pour jenkins

ASQA_USER=“admin%40asqatasun.org
ASQA_PASSWORD=“myAsqaPassword”
API_PREFIX_URL=“http://${ASQA_USER}:${ASQA_PASSWORD}@192.168.31.14:8081
API_URL="${API_PREFIX_URL}/api/v1/audit/run"

PROJECT_ID=“2”
REFERENTIAL=“RGAA_4_0”
LEVEL=“AA”
URL_TO_AUDIT=“https:// revue.esii-orion .com /orion-reservation/purposes?account=TJANAF&config=INTERNET&usemode=app”

AUDIT_ID=$(curl -o -X POST “${API_URL}” -H “accept: /” -H “Content-Type: application/json” -d “{ “urls”: [”${URL_TO_AUDIT}"], “referential”: “${REFERENTIAL}”, “level”: “${LEVEL}”, “contractId”: ${PROJECT_ID}, “tags”: []}")

echo “number audit : $AUDIT_ID”
sleep 1m

API_URL_RESULTAT="${API_PREFIX_URL}/api/v1/audit/${AUDIT_ID}"

curl -X GET “${API_URL_RESULTAT}” -H “accept: /” | jq ‘.’

Bonjour @jonathan et bienvenue sur le forum :slight_smile:

Effectivement le principe de l’appel par API est de récupérer l’id de l’audit et ensuite de faire du polling dessus pour obtenir le résultat.

Le truc c’est que le temps d’audit est imprévisible. Dans la webapp, nous avons mis un timeout à 30 secondes, mais même avec ça bon nombre d’audits (d’une page simple) dépasse le timing : obésité des pages, réseau fluctuant, chargement différé par JS sur les pages… Bref les raisons sont nombreuses. Cerise sur le gateau, j’ai l’impression que cela empire avec le temps (mais la qualité des sites web est un autre sujet :slight_smile: ).

Quand on passe à un scénario ou un audit de site, c’est encore plus long.

Bref nous n’avons pas trouvé de meilleure manière de faire. Ceci dit, si tu as des idées, nous sommes intéressés !