Skip to content

Instantly share code, notes, and snippets.

@fruch
Created March 23, 2020 17:15
Show Gist options
  • Save fruch/2b24dd85454c806bef336d97451896bc to your computer and use it in GitHub Desktop.
Save fruch/2b24dd85454c806bef336d97451896bc to your computer and use it in GitHub Desktop.
import jenkins
import sys
server = jenkins.Jenkins('https://jenkins.scylladb.com', username='[your user]', password='[your token]')
user = server.get_whoami()
version = server.get_version()
print('Hello %s from Jenkins %s' % (user['fullName'], version))
#job = server.get_job_config('scylla-staging/empty')
#print job
#sys.exit(0)
base_job_dir = 'enterprise-2019.1'
job_template = open('template.xml').read()
dir_template = open('folder-template.xml').read()
import glob
import os.path
for group_name, group_desc in [
('longevity', 'SCT Longevity Tests'),
('rolling-upgrade', 'SCT Rolling Upgrades'),
('gemini-', 'SCT Gemini Tests'),
('features-', 'SCT Feature Tests')]:
try:
dir_xml_data = dir_template % dict(sct_display_name=group_desc)
job = server.create_job('{}/{}'.format(base_job_dir, group_name), dir_xml_data)
except jenkins.JenkinsException as ex:
print ex
for jenkins_file in glob.glob('/home/fruch/Projects/scylla-cluster-tests/jenkins-pipelines/{}*.jenkinsfile'.format(group_name)):
base_name = os.path.splitext(os.path.basename(jenkins_file))[0]
sct_jenkinsfile = 'jenkins-pipelines/{}'.format(os.path.basename(jenkins_file))
xml_data = job_template % dict(sct_display_name="{}-test".format(base_name),
sct_description=sct_jenkinsfile,
sct_repo='git@github.com:scylladb/scylla-cluster-tests.git',
sct_branch_name='branch-3.1-staging',
sct_jenkinsfile=sct_jenkinsfile)
job = server.create_job('{}/{}/{}'.format(base_job_dir, group_name, base_name), xml_data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment