Commit e57b93927e3af0897c27bf50b068daad90079834
Exists in
staging
and in
7 other branches
Merge branches 'rails3_AI3033-serpro_integration' and 'rails3_stable' into rails3_stable
Showing
4 changed files
with
15 additions
and
15 deletions
Show diff stats
plugins/serpro_integration/lib/ext/community.rb
... | ... | @@ -24,8 +24,9 @@ class Community |
24 | 24 | |
25 | 25 | if allow_jenkins_integration |
26 | 26 | jenkins_integration = SerproIntegrationPlugin::JenkinsIntegration.new(jenkins_host, jenkins_private_token, jenkins_user) |
27 | + | |
27 | 28 | jenkins_integration.create_jenkis_project(self, gitlab_project.path_with_namespace, gitlab_project.web_url, gitlab_project.http_url_to_repo) |
28 | - gitlab_integration.create_jenkins_hook(jenkins_integration.project_url) | |
29 | + gitlab_integration.create_jenkins_hook(jenkins_integration.host) | |
29 | 30 | end |
30 | 31 | |
31 | 32 | end | ... | ... |
plugins/serpro_integration/lib/ext/profile.rb
... | ... | @@ -1,9 +0,0 @@ |
1 | -require_dependency 'profile' | |
2 | - | |
3 | -class Profile | |
4 | - settings_items :allow_sonar_integration, :type => :boolean, :default => false | |
5 | - settings_items :allow_gitlab_integration, :type => :boolean, :default => false | |
6 | - | |
7 | - #FIXME make test for default option | |
8 | - settings_items :serpro_integration_plugin, :type => Hash, :default => {} | |
9 | -end |
plugins/serpro_integration/lib/serpro_integration_plugin/gitlab_integration.rb
... | ... | @@ -63,8 +63,8 @@ class SerproIntegrationPlugin::GitlabIntegration |
63 | 63 | end |
64 | 64 | |
65 | 65 | |
66 | - def create_jenkins_hook(jenkins_project_url) | |
67 | - @client.add_project_hook(@project.id, "#{jenkins_project_url}/gitlab/build_now") | |
66 | + def create_jenkins_hook(jenkins_host) | |
67 | + @client.add_project_hook(@project.id, "#{jenkins_host}/gitlab/build_now") | |
68 | 68 | end |
69 | 69 | |
70 | 70 | end | ... | ... |
plugins/serpro_integration/lib/serpro_integration_plugin/jenkins_integration.rb
... | ... | @@ -3,21 +3,29 @@ require 'jenkins_api_client' |
3 | 3 | |
4 | 4 | class SerproIntegrationPlugin::JenkinsIntegration |
5 | 5 | |
6 | + attr_accessor :profile | |
7 | + | |
6 | 8 | def initialize(host, private_token, user) |
7 | 9 | @client = JenkinsApi::Client.new(:server_url => host, :password => private_token, :username => user) |
8 | 10 | @profile = nil |
9 | - | |
11 | + @private_token = private_token | |
10 | 12 | end |
11 | 13 | |
12 | 14 | def project_url |
13 | - "#{jenkins_host}/#{jenkins_project_name}" | |
15 | + "#{host}/#{project_name}" | |
14 | 16 | end |
15 | 17 | |
18 | + def host | |
19 | + @profile.jenkins_host | |
20 | + end | |
21 | + | |
22 | + def project_name | |
23 | + @profile.jenkins_project_name | |
24 | + end | |
16 | 25 | #FIXME make jenkins integration works |
17 | 26 | def create_jenkis_project(profile, repository_path, web_url, git_url) |
18 | 27 | @profile = profile |
19 | 28 | #begin |
20 | - project_name = repository_path.split('/').last | |
21 | 29 | if @client.job.list(project_name).blank? |
22 | 30 | @client.job.create(profile.jenkins_project_name, xml_jenkins(repository_path, web_url, git_url)) |
23 | 31 | end | ... | ... |