|
|
|
@ -17,6 +17,7 @@ class QualityAnalysisController < ApplicationController
|
|
|
|
|
|
|
|
|
|
# params 说明:{identifier:版本库名}
|
|
|
|
|
def create
|
|
|
|
|
logger.info("11111111111111111111111111111")
|
|
|
|
|
begin
|
|
|
|
|
user_name = User.find(params[:user_id]).try(:login)
|
|
|
|
|
identifier = params[:identifier]
|
|
|
|
@ -32,15 +33,16 @@ class QualityAnalysisController < ApplicationController
|
|
|
|
|
projects_date = open(@sonar_address + "/api/projects/index").read
|
|
|
|
|
arr = JSON.parse(projects_date).map {|m| m["nm"]} # eg: ["Hjqreturn:cc_rep", "Hjqreturn:putong", "Hjqreturn:sonar_rep2", "shitou:sonar_rep"]
|
|
|
|
|
quality_an = QualityAnalysis.where(:sonar_name => sonar_name).first
|
|
|
|
|
logger.info("###########################6666666666666")
|
|
|
|
|
logger.info("job_name is ###########################{job_name}")
|
|
|
|
|
logger.info("@client_jenkins is ###########################{@client_jenkins}")
|
|
|
|
|
logger.info("@client_jenkins job is ###########################{@client_jenkins.job}")
|
|
|
|
|
logger.info("@client_jenkins result is ###########################{@client_jenkins.job.exists?(job_name)}")
|
|
|
|
|
if @client_jenkins.job.exists?(job_name) && QualityAnalysis.where(:sonar_name => sonar_name).select{|qa| arr.include?(qa.sonar_name)}.blank?
|
|
|
|
|
aa = @client_jenkins.job.delete("#{job_name}")
|
|
|
|
|
quality_an.delete unless quality_an.blank?
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if @client_jenkins
|
|
|
|
|
return connect_jenkins
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# Checks if the given job exists in Jenkins.
|
|
|
|
|
unless @client_jenkins.job.exists?(job_name)
|
|
|
|
|
@g = Gitlab.client
|
|
|
|
@ -290,9 +292,10 @@ class QualityAnalysisController < ApplicationController
|
|
|
|
|
@jenkins_address = Redmine::Configuration['jenkins_address']
|
|
|
|
|
jenkins_username = Redmine::Configuration['jenkins_username']
|
|
|
|
|
jenkins_password = Redmine::Configuration['jenkins_password']
|
|
|
|
|
|
|
|
|
|
logger.info("22222222222222222222222222222222")
|
|
|
|
|
# connect jenkins
|
|
|
|
|
@client_jenkins = JenkinsApi::Client.new(:server_url => @jenkins_address, :username => jenkins_username, :password => jenkins_password)
|
|
|
|
|
logger.info("333333333333333333333333333333")
|
|
|
|
|
rescue => e
|
|
|
|
|
logger.error("failed to connect Jenkins ==> #{e}")
|
|
|
|
|
end
|
|
|
|
|