diff --git a/plugins/serpro_integration/lib/ext/community.rb b/plugins/serpro_integration/lib/ext/community.rb index fa9422d..6932df5 100644 --- a/plugins/serpro_integration/lib/ext/community.rb +++ b/plugins/serpro_integration/lib/ext/community.rb @@ -24,8 +24,9 @@ class Community if allow_jenkins_integration jenkins_integration = SerproIntegrationPlugin::JenkinsIntegration.new(jenkins_host, jenkins_private_token, jenkins_user) + jenkins_integration.create_jenkis_project(self, gitlab_project.path_with_namespace, gitlab_project.web_url, gitlab_project.http_url_to_repo) - gitlab_integration.create_jenkins_hook(jenkins_integration.project_url) + gitlab_integration.create_jenkins_hook(jenkins_integration.host) end end diff --git a/plugins/serpro_integration/lib/serpro_integration_plugin/gitlab_integration.rb b/plugins/serpro_integration/lib/serpro_integration_plugin/gitlab_integration.rb index 45107f2..fc602fb 100644 --- a/plugins/serpro_integration/lib/serpro_integration_plugin/gitlab_integration.rb +++ b/plugins/serpro_integration/lib/serpro_integration_plugin/gitlab_integration.rb @@ -63,8 +63,8 @@ class SerproIntegrationPlugin::GitlabIntegration end - def create_jenkins_hook(jenkins_project_url) - @client.add_project_hook(@project.id, "#{jenkins_project_url}/gitlab/build_now") + def create_jenkins_hook(jenkins_host) + @client.add_project_hook(@project.id, "#{jenkins_host}/gitlab/build_now") end end diff --git a/plugins/serpro_integration/lib/serpro_integration_plugin/jenkins_integration.rb b/plugins/serpro_integration/lib/serpro_integration_plugin/jenkins_integration.rb index 7654ee6..37add49 100644 --- a/plugins/serpro_integration/lib/serpro_integration_plugin/jenkins_integration.rb +++ b/plugins/serpro_integration/lib/serpro_integration_plugin/jenkins_integration.rb @@ -3,21 +3,25 @@ require 'jenkins_api_client' class SerproIntegrationPlugin::JenkinsIntegration + attr_accessor :host, :project_name, :user, :private_token, :profile + def initialize(host, private_token, user) @client = JenkinsApi::Client.new(:server_url => host, :password => private_token, :username => user) @profile = nil - + @host = host + @user = user + @private_token = private_token end def project_url - "#{jenkins_host}/#{jenkins_project_name}" + "#{host}/#{project_name}" end #FIXME make jenkins integration works def create_jenkis_project(profile, repository_path, web_url, git_url) @profile = profile #begin - project_name = repository_path.split('/').last + @project_name = repository_path.split('/').last if @client.job.list(project_name).blank? @client.job.create(profile.jenkins_project_name, xml_jenkins(repository_path, web_url, git_url)) end -- libgit2 0.21.2