Skip to content
Snippets Groups Projects
Commit d398e78e authored by Tomasz Maczukin's avatar Tomasz Maczukin
Browse files

Add endpoint for getting builds for a specific commit

parent f4cff4dc
No related branches found
No related tags found
1 merge request!2207Add builds API
Loading
Loading
@@ -4,7 +4,7 @@ module API
before { authenticate! }
 
resource :projects do
# Get a project repository commits
# Get a project builds
#
# Parameters:
# id (required) - The ID of a project
Loading
Loading
@@ -14,18 +14,21 @@ module API
# Example Request:
# GET /projects/:id/builds
get ':id/builds' do
all_builds = user_project.builds
builds = all_builds.order('id DESC')
builds =
case params[:scope]
when 'finished'
builds.finished
when 'running'
builds.running
else
builds
end
builds = user_project.builds.order('id DESC')
builds = filter_builds(builds, params[:scope])
present paginate(builds), with: Entities::Build
end
 
# GET builds for a specific commit of a project
#
# Parameters:
# id (required) - The ID of a project
# sha (required) - The SHA id of a commit
# Example Request:
# GET /projects/:id/builds/commit/:sha
get ':id/builds/commit/:sha' do
builds = user_project.ci_commits.find_by_sha(params[:sha]).builds.order('id DESC')
builds = filter_builds(builds, params[:scope])
present paginate(builds), with: Entities::Build
end
 
Loading
Loading
@@ -63,6 +66,17 @@ module API
def get_build(id)
user_project.builds.where(id: id).first
end
def filter_builds(builds, scope)
case scope
when 'finished'
builds.finished
when 'running'
builds.running
else
builds
end
end
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment