summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorValery Sizov <vsv2711@gmail.com>2015-05-21 15:15:31 +0300
committerValery Sizov <vsv2711@gmail.com>2015-06-02 16:46:01 +0300
commitb931c11e1b7acef5044e9c6a44145dd967196b99 (patch)
treea8de5ada48c9eb64f24dc07fc3b4c383595a8a20 /app
parent1c328fa4d7c8c2c1e8717a6f35c5ae21272846e8 (diff)
downloadgitlab-ce-b931c11e1b7acef5044e9c6a44145dd967196b99.tar.gz
GitLab CI service sends gitlab-ci.yml fileci_yml_file
Diffstat (limited to 'app')
-rw-r--r--app/models/project_services/gitlab_ci_service.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/app/models/project_services/gitlab_ci_service.rb b/app/models/project_services/gitlab_ci_service.rb
index 949a4d7111b..a9354754686 100644
--- a/app/models/project_services/gitlab_ci_service.rb
+++ b/app/models/project_services/gitlab_ci_service.rb
@@ -40,6 +40,12 @@ class GitlabCiService < CiService
def execute(data)
return unless supported_events.include?(data[:object_kind])
+ ci_yaml_file = ci_yaml_file(data)
+
+ if ci_yaml_file
+ data.merge!(ci_yaml_file: ci_yaml_file)
+ end
+
service_hook.execute(data)
end
@@ -123,6 +129,14 @@ class GitlabCiService < CiService
private
+ def ci_yaml_file(data)
+ ref = data[:checkout_sha]
+ repo = project.repository
+ commit = repo.commit(ref)
+ blob = Gitlab::Git::Blob.find(repo, commit.id, ".gitlab-ci.yml")
+ blob && blob.data
+ end
+
def fork_registration_path
project_url.sub(/projects\/\d*/, "#{API_PREFIX}/forks")
end