Skip to content

Instantly share code, notes, and snippets.

@hemanth22
Forked from prasvats/trigger_jenkins_job.py
Created January 15, 2023 10:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hemanth22/933117009a9904b7c05e8516948b6422 to your computer and use it in GitHub Desktop.
Save hemanth22/933117009a9904b7c05e8516948b6422 to your computer and use it in GitHub Desktop.
Python Script to trigger a Jenkins job remotely
import jenkins
import time
# It comes with pip module python-jenkins
# use pip to install python-jenkins
# Jenkins Authentication URL
JENKINS_URL = "https://xxxx"
JENKINS_USERNAME = "xxxxx"
JENKINS_PASSWORD = "xxxxxxx"
class DevOpsJenkins:
def __init__(self):
self.jenkins_server = jenkins.Jenkins(JENKINS_URL, username=JENKINS_USERNAME, password=JENKINS_PASSWORD)
user = self.jenkins_server.get_whoami()
version = self.jenkins_server.get_version()
print ("Jenkins Version: {}".format(version))
print ("Jenkins User: {}".format(user['id']))
def build_job(self, name, parameters=None, token=None):
next_build_number = self.jenkins_server.get_job_info(name)['nextBuildNumber']
self.jenkins_server.build_job(name, parameters=parameters, token=token)
time.sleep(10)
build_info = self.jenkins_server.get_build_info(name, next_build_number)
return build_info
if __name__ == "__main__":
NAME_OF_JOB = "<job_name>"
TOKEN_NAME = "<token>"
# Example Parameter
PARAMETERS = {'project': 'devops'}
jenkins_obj = DevOpsJenkins()
output = jenkins_obj.build_job(NAME_OF_JOB, PARAMETERS, TOKEN_NAME)
print ("Jenkins Build URL: {}".format(output['url']))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment