diff --git a/jenkins-modules/jenkins-jobs/zombie-job/pipeline-zombie-job b/jenkins-modules/jenkins-jobs/zombie-job/pipeline-zombie-job new file mode 100644 index 0000000000..8c21ada8c6 --- /dev/null +++ b/jenkins-modules/jenkins-jobs/zombie-job/pipeline-zombie-job @@ -0,0 +1,15 @@ +pipeline { + agent any + stages { + stage('Infinite Loop') { + steps { + script { + while (true) { + println 'This is an infinite loop!' + Thread.sleep(10000) + } + } + } + } + } +} diff --git a/jenkins-modules/jenkins-jobs/zombie-job/zombie-finish-script b/jenkins-modules/jenkins-jobs/zombie-job/zombie-finish-script new file mode 100644 index 0000000000..41090599ee --- /dev/null +++ b/jenkins-modules/jenkins-jobs/zombie-job/zombie-finish-script @@ -0,0 +1,3 @@ +Jenkins.instance.getItemByFullName("sampleZombieJob") + .getBuildByNumber(17) + .finish(hudson.model.Result.ABORTED, new java.io.IOException("Aborting build")); diff --git a/jenkins-modules/jenkins-jobs/zombie-job/zombie-interrupt-script b/jenkins-modules/jenkins-jobs/zombie-job/zombie-interrupt-script new file mode 100644 index 0000000000..bf79f50ab9 --- /dev/null +++ b/jenkins-modules/jenkins-jobs/zombie-job/zombie-interrupt-script @@ -0,0 +1,6 @@ +Thread.getAllStackTraces().keySet().each() { + if (it.name.contains('sampleZombieJob')) { + println "Stopping $it.name" + it.interrupt() + } +} diff --git a/jenkins-modules/jenkins-jobs/zombie-job/zombie-stop-script b/jenkins-modules/jenkins-jobs/zombie-job/zombie-stop-script new file mode 100644 index 0000000000..40edcf3ff6 --- /dev/null +++ b/jenkins-modules/jenkins-jobs/zombie-job/zombie-stop-script @@ -0,0 +1,6 @@ +Thread.getAllStackTraces().keySet().each() { + if (it.name.contains('sampleZombieJob')) { + println "Stopping $it.name" + it.stop() + } +}