summaryrefslogtreecommitdiff
path: root/lib/api/builds.rb
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/api/builds.rb
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/api/builds.rb')
-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])