import groovy.json.JsonSlurper def call(String jobName) { def jobURL = "http://jenkins-server.default.svc.cluster.local:8080/job/${jobName}/api/json" def jenkinsUser = "admin" def jenkinsToken = "Knd6GttfuDRZI0r7EkCiPQ" // Fetch JSON response from Jenkins API def response = sh(script: "curl -s -u '${jenkinsUser}:${jenkinsToken}' ${jobURL}", returnStdout: true).trim() // Parse JSON def jsonSlurper = new JsonSlurper() def jobData = jsonSlurper.parseText(response) // Extract last successful build number def lastSuccessfulBuildNumber = jobData.lastSuccessfulBuild?.number if (lastSuccessfulBuildNumber == null || lastSuccessfulBuildNumber < 1) { echo "Pipeline '${jobName}' has **never successfully completed**! 🚨 Stopping execution." build job: "${jobName}" error("Wait for dependend build to complete") } echo "Pipeline '${jobName}' has **executed successfully at least once** ✅ Last successful build number: ${lastSuccessfulBuildNumber}" return lastSuccessfulBuildNumber }