diff --git a/Jenkinsfile b/Jenkinsfile index faf30c5..0c223d5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -21,10 +21,20 @@ pipeline { // Obtain an authentication token from Portainer withCredentials([usernamePassword(credentialsId: 'portainer-credentials', usernameVariable: 'PORTAINER_USERNAME', passwordVariable: 'PORTAINER_PASSWORD')]) { script { - def response = httpRequest httpMode: 'POST', + // Create a JSON object for the authentication request + def authRequestBody = groovy.json.JsonOutput.toJson([ + Username: PORTAINER_USERNAME, + Password: PORTAINER_PASSWORD + ]) + + // Send the authentication request without logging sensitive data + def response = httpRequest( + httpMode: 'POST', contentType: 'APPLICATION_JSON', url: "http://portainer.canguidev.fr/api/auth", - requestBody: "{\"Username\":\"${PORTAINER_USERNAME}\",\"Password\":\"${PORTAINER_PASSWORD}\"}" + requestBody: authRequestBody, + consoleLogResponseBody: false // Prevent logging the response body + ) def json = readJSON text: response.content env.PORTAINER_TOKEN = json.jwt @@ -32,11 +42,14 @@ pipeline { } // Deploy the stack on Portainer using the obtained token - httpRequest httpMode: 'PUT', + httpRequest( + httpMode: 'PUT', customHeaders: [[name: 'Authorization', value: "Bearer ${env.PORTAINER_TOKEN}"]], url: "http://portainer.canguidev.fr/api/stacks/canguidev/deploy", contentType: 'APPLICATION_JSON', - requestBody: '{"Prune": true}' + requestBody: '{"Prune": true}', + consoleLogResponseBody: false // Prevent logging the response body + ) echo 'Déploiement terminé.' }