Skip to content

Instantly share code, notes, and snippets.

@dpapp-hortonworks
Created January 23, 2018 12:56
Show Gist options
  • Save dpapp-hortonworks/a35baa14fa2ceea0b9d9fe053edd430d to your computer and use it in GitHub Desktop.
Save dpapp-hortonworks/a35baa14fa2ceea0b9d9fe053edd430d to your computer and use it in GitHub Desktop.
Building a jenkins job from a python script using a parameters file
import requests
import json
import urllib
from optparse import OptionParser
URL_PATTERN="http://HOSTNAME:8080/job/{job_name}/buildWithParameters?{params}"
USER="XXXXXXXXXXXXXXXXXXXXXXXXXx"
TOKEN="XXXXXXXXXXXXXXXXXXXXX"
def format_params(params):
ret = []
for key, value in params.iteritems():
ret.append({
"name": key,
"value": value
})
return ret
def parse_args():
parser = OptionParser()
parser.add_option("-j", "--job_name", dest="job_name", help="Name of the job that we would like to build")
parser.add_option("-p", "--params_file", dest="params_file", help="Path to the parameters file")
return parser.parse_args()
def main(job_name, params_file, token=TOKEN):
with open(params_file, "r") as f:
params = json.load(f)
params["token"] = TOKEN
url = URL_PATTERN.format(job_name=job_name, params=urllib.urlencode(params))
resp = requests.post(url)
return resp
if __name__ == "__main__":
options, args = parse_args()
main(options.job_name, options.params_file)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment