builddel.py (1266B)
1 #!/usr/bin/env python3 2 # See LICENSE file for copyright and license details. 3 4 """ 5 Module to delete Jenkins build jobs 6 """ 7 8 import sys 9 from os import environ as env 10 from os.path import basename, dirname 11 import jenkins 12 13 from config import (jenkins_user, jenkins_pass, jenkins_host, jobtypes, 14 dryrun) 15 16 17 def main(): 18 """ 19 Main function 20 """ 21 print('* Requested job deletion') 22 23 print('- Connecting to Jenkins...') 24 jenk = jenkins.Jenkins(jenkins_host, jenkins_user, jenkins_pass) 25 26 try: 27 jenk.get_whoami() 28 except jenkins.JenkinsException: 29 print('Error in request. Possible authentication fail.') 30 sys.exit(1) 31 32 # the -4 cuts off '.git' from the path 33 pkgname = basename(env['SCORSH_REPO'])[:-4] 34 for jobt in jobtypes: 35 jobname = '-'.join([pkgname, jobt]) 36 37 print('* Trying to delete %s job for %s' % (jobt, pkgname)) 38 39 if not jenk.job_exists(jobname): 40 print('* %s does not exist in Jenkins' % jobname) 41 continue 42 43 print('- Deleting job') 44 if not dryrun: 45 jenk.delete_job(jobname) 46 47 48 if __name__ == '__main__': 49 if len(sys.argv) > 1: 50 main() 51 else: 52 print('Error: not enough arguments') 53 sys.exit(1)