add job checker
This commit is contained in:
24
vars/getJobStatus.groovy
Normal file
24
vars/getJobStatus.groovy
Normal file
@@ -0,0 +1,24 @@
|
||||
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 first build number
|
||||
def firstBuildNumber = jobData.firstBuild?.number
|
||||
|
||||
if (firstBuildNumber == null) {
|
||||
error("Pipeline '${jobName}' has **never** run! 🚨 Stopping execution.")
|
||||
}
|
||||
|
||||
echo "Pipeline '${jobName}' has **run at least once** ✅ First build number: ${firstBuildNumber}"
|
||||
return firstBuildNumber
|
||||
}
|
||||
Reference in New Issue
Block a user