Created
September 22, 2021 07:46
-
-
Save toabctl/1f636b5f3e22c4f42bdcc35f14426eb0 to your computer and use it in GitHub Desktop.
Delete jenkins jobs with python-jenkins
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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