summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-28 12:22:31 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-28 12:22:31 +0200
commitb9b95a9f19a2699470636cdac874d32556e48f26 (patch)
tree53299df34d24f5c16b7e33b5a52cd1f402c34210 /lib
parent8e66618749613333c9201a6ffaf7fc67633cc055 (diff)
downloadgitlab-ce-b9b95a9f19a2699470636cdac874d32556e48f26.tar.gz
Improve commit builds API endpoint RESTful behavior
1. Return 404 if commit is not found (RESTful resource not found) 2. Return an empty array if pipeline is not found (resource present, no associated builds found) 3. Return an empty array if pipeline found but no builds there (resource present, no associated builds)
Diffstat (limited to 'lib')
-rw-r--r--lib/api/builds.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/api/builds.rb b/lib/api/builds.rb
index 33aa86999f5..b7987461fd1 100644
--- a/lib/api/builds.rb
+++ b/lib/api/builds.rb
@@ -33,8 +33,10 @@ module API
get ':id/repository/commits/:sha/builds' do
authorize_read_builds!
+ return not_found! unless user_project.commit(params[:sha])
+
pipelines = user_project.pipelines.where(sha: params[:sha])
- return not_found! if pipelines.empty?
+ return [] if pipelines.empty?
builds = user_project.builds.where(pipeline: pipelines).order('id DESC')
builds = filter_builds(builds, params[:scope])