Skip to content

Instantly share code, notes, and snippets.

@toabctl
Created September 22, 2021 07:46
Show Gist options
  • Save toabctl/1f636b5f3e22c4f42bdcc35f14426eb0 to your computer and use it in GitHub Desktop.
Save toabctl/1f636b5f3e22c4f42bdcc35f14426eb0 to your computer and use it in GitHub Desktop.
Delete jenkins jobs with python-jenkins
#!/usr/bin/python3
import argparse
import configparser
import re
import jenkins
def _config(args):
config = configparser.ConfigParser()
config.read(args.conf)
return config
def _jenkins(args):
conf = _config(args)
j = jenkins.Jenkins(conf['jenkins']['url'],
conf['jenkins']['user'],
conf['jenkins']['password'])
return j
def _parser():
parser = argparse.ArgumentParser(
description='Delete Jenkins jobs')
parser.add_argument('--conf', default='/etc/jenkins_jobs/jenkins_jobs.ini',
help='The configuration path')
parser.add_argument('job_name', metavar='job-name', help='the Jenkins job name (regex)')
return parser
def main():
parser = _parser()
args = parser.parse_args()
jenkins = _jenkins(args)
regex = re.compile(args.job_name)
for job in jenkins.get_jobs():
if regex.match(job['fullname']):
print(f"Deleting job {job['fullname']}")
jenkins.delete_job(job['fullname'])
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment