pipeline: add symfony app generic integration pipeline
This commit is contained in:
40
vars/gitea.groovy
Normal file
40
vars/gitea.groovy
Normal file
@ -0,0 +1,40 @@
|
||||
def commentPullRequest(String repo, String issueId, String comment, Integer commentIndex = 0) {
|
||||
comment = comment.replaceAll('"', '\\"')
|
||||
withCredentials([
|
||||
string(credentialsId: 'GITEA_JENKINS_PERSONAL_TOKEN', variable: 'GITEA_TOKEN'),
|
||||
]) {
|
||||
writeFile(file: ".prComment", text: comment)
|
||||
sh """#!/bin/bash
|
||||
set -xeo pipefail
|
||||
|
||||
# Récupération si il existe du commentaire existant
|
||||
previous_comment_id=\$(curl -v --fail \
|
||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
https://forge.cadoles.com/api/v1/repos/${repo}/issues/${issueId}/comments \
|
||||
| jq -c '[ .[] | select(.user.login=="jenkins") ] | .[${commentIndex}] | .id' \
|
||||
)
|
||||
|
||||
# Génération du payload pour l'API Gitea
|
||||
echo '{}' | jq -c --rawfile body .prComment '.body = \$body' > payload.json
|
||||
|
||||
if [[ "\$previous_comment_id" == "null" ]]; then
|
||||
# Création du commentaire via l'API Gitea
|
||||
curl -v --fail \
|
||||
-XPOST \
|
||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d @payload.json \
|
||||
https://forge.cadoles.com/api/v1/repos/${repo}/issues/${issueId}/comments
|
||||
else
|
||||
# Modification du commentaire existant
|
||||
curl -v --fail \
|
||||
-XPATCH \
|
||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d @payload.json \
|
||||
https://forge.cadoles.com/api/v1/repos/${repo}/issues/comments/\$previous_comment_id
|
||||
fi
|
||||
"""
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user