This commit is contained in:
Ionel Andrei Cataon
2026-02-12 17:04:52 +02:00
parent e2fce3a281
commit 3d25479a5c

View File

@@ -18,7 +18,6 @@ pipeline {
steps {
script {
dir('project2') {
// Curățăm preventiv containerul dacă a rămas blocat de la un build anterior
sh "docker rm -f quotes-worker || true"
try {
sh "docker run --name quotes-worker --dns 8.8.8.8 quotes-app"
@@ -42,23 +41,29 @@ pipeline {
def quoteText = "Nu am putut citi fișierul."
if (fileExists('project2/quote.txt')) {
quoteText = readFile('project2/quote.txt').trim()
// CURĂȚARE TEXT: Prevenim stricarea JSON-ului manual
quoteText = quoteText.replace('\\', '\\\\').replace('"', '\\"').replace('\n', '\\n')
}
def resultStatus = currentBuild.result ?: 'SUCCESS'
def statusEmoji = (resultStatus == 'SUCCESS') ? "✅" : "⚠️"
def buildHeader = "${statusEmoji} **Pipeline Finalizat (Build #${env.BUILD_NUMBER})**"
echo "🚀 Trimitere notificare către Discord..."
echo "🚀 Generăm payload-ul și trimitem către Discord..."
// Creăm un fișier JSON temporar pentru a evita problemele de shell
def payload = [
content: "${statusEmoji} **Pipeline Finalizat (Build #${env.BUILD_NUMBER})**\n\n${quoteText}"
]
// MODIFICARE CRITICĂ: Înlocuim writeJSON cu 'cat' (Linux native)
sh """
cat << 'EOF' > discord_payload.json
{
"content": "${buildHeader}\\n\\n${quoteText}"
}
EOF
"""
// Scriem payload-ul într-un fișier discord_payload.json
writeJSON file: 'discord_payload.json', json: payload
// Trimitem fișierul folosind @ la curl - asta e metoda cea mai sigură!
sh "curl -X POST -H 'Content-Type: application/json' -d @discord_payload.json '${discordUrl}'"
// Trimitem fișierul JSON brut către Discord
// Folosim --data-binary pentru a păstra formatarea corectă
sh "curl -X POST -H 'Content-Type: application/json' --data-binary @discord_payload.json '${discordUrl}'"
}
}
}