diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-09-18 18:57:17 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-09-18 18:57:17 +0300 |
commit | bdfe6b9603a7a6947644929c4ea966018f98c840 (patch) | |
tree | 869d902a84f829f33fc18c8471ca86b43a6dfb5f /app/models/project_services/gitlab_ci_service.rb | |
parent | ac571623d88314c89773ecdb484fc1c4ea92de1a (diff) | |
parent | 600d6eeff326fe42e4074b4bb963fc10e401c6f5 (diff) |
Merge branch 'merge_request_error' into 'master'
Fix CI status in the MR page
https://gitlab.com/gitlab-org/gitlab-ce/issues/2587
See merge request !1347
Diffstat (limited to 'app/models/project_services/gitlab_ci_service.rb')
-rw-r--r-- | app/models/project_services/gitlab_ci_service.rb | 39 |
1 files changed, 8 insertions, 31 deletions
diff --git a/app/models/project_services/gitlab_ci_service.rb b/app/models/project_services/gitlab_ci_service.rb index acbbc9935b6..1bba6326949 100644 --- a/app/models/project_services/gitlab_ci_service.rb +++ b/app/models/project_services/gitlab_ci_service.rb @@ -58,24 +58,13 @@ class GitlabCiService < CiService service_hook.execute(data) end - def commit_status_path(sha, ref) - URI::encode(project_url + "/refs/#{ref}/commits/#{sha}/status.json?token=#{token}") - end - - def get_ci_build(sha, ref) - @ci_builds ||= {} - @ci_builds[sha] ||= HTTParty.get(commit_status_path(sha, ref), verify: false) + def get_ci_commit(sha, ref) + Ci::Project.find(project.gitlab_ci_project).commits.find_by_sha_and_ref!(sha, ref) end def commit_status(sha, ref) - response = get_ci_build(sha, ref) - - if response.code == 200 and response["status"] - response["status"] - else - :error - end - rescue Errno::ECONNREFUSED + get_ci_commit(sha, ref).status + rescue ActiveRecord::RecordNotFound :error end @@ -101,25 +90,13 @@ class GitlabCiService < CiService end def commit_coverage(sha, ref) - response = get_ci_build(sha, ref) - - if response.code == 200 and response["coverage"] - response["coverage"] - end - rescue Errno::ECONNREFUSED - nil + get_ci_commit(sha, ref).coverage + rescue ActiveRecord::RecordNotFound + :error end def build_page(sha, ref) - URI::encode(project_url + "/refs/#{ref}/commits/#{sha}") - end - - def builds_path - project_url + "?ref=" + project.default_branch - end - - def status_img_path - project_url + "/status.png?ref=" + project.default_branch + Ci::RoutesHelper.ci_project_ref_commits_path(project.gitlab_ci_project, ref, sha) end def title |