36 lines
877 B
Ruby
36 lines
877 B
Ruby
require 'jenkins_api_client'
|
|
|
|
|
|
class JenkinsClient
|
|
|
|
def initialize(config)
|
|
@url = config['url']
|
|
@user = config['user']
|
|
@pass = config['pass']
|
|
@email = config['email']
|
|
@job_name = config['jobName']
|
|
end
|
|
|
|
def create_new_jenkins_jobs(branch_name, wp_name)
|
|
jenkins = JenkinsApi::Client.new(
|
|
:server_url => @url,
|
|
:username => @user,
|
|
:password => @pass
|
|
)
|
|
|
|
job_params = {
|
|
:GIT_BRANCH => branch_name,
|
|
:WPRELEASE => wp_name.upcase + "compint",
|
|
:FEEDBACK_LOOPS => "short,nightly,weekly",
|
|
:EMAIL_DISTRIBUTION_LIST => @email,
|
|
:TSP_LOOPS => nil,
|
|
:INCLUDE_WPTESTS_JOB_TSP => true,
|
|
:CBA_LOOPS => "cba-git",
|
|
:INCLUDE_WPTESTS_JOB_CBA => true,
|
|
:ENABLE_ESM => false,
|
|
:AM_LOCAL_REPO => ""
|
|
}
|
|
jenkins.job.build(@job_name, job_params) < 400
|
|
end
|
|
end
|