Skip to content
Snippets Groups Projects
Commit cea2a8f7 authored by Robert Schilling's avatar Robert Schilling
Browse files

Basic ref fetching for commits

parent 7534f7a8
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -156,6 +156,31 @@ module API
end
end
 
desc 'Get all reference a commit is pushed to' do
detail 'This feature was introduced in GitLab 10.6'
success Entities::SimpleRef
end
params do
requires :sha, type: String, desc: 'A commit sha'
optional :type, type: String, values: %w(branches tags all), default: 'all', desc: 'Scope'
end
get ':id/repository/commits/:sha/refs', requirements: API::COMMIT_ENDPOINT_REQUIREMENTS do
commit = user_project.commit(params[:sha])
not_found!('Commit') unless commit
case params[:type]
when 'branches'
refs = user_project.repository.branch_names_contains(commit.id)
when 'tags'
refs = user_project.repository.tag_names_contains(commit.id)
else
refs = user_project.repository.branch_names_contains(commit.id)
refs.push(*user_project.repository.tag_names_contains(commit.id))
end
present refs, with: Entities::SimpleRef
end
desc 'Post comment to commit' do
success Entities::CommitNote
end
Loading
Loading
Loading
Loading
@@ -276,7 +276,17 @@ module API
expose :last_pipeline, using: 'API::Entities::PipelineBasic'
end
 
class Branch < Grape::Entity
class BasicRef < Grape::Entity
expose :name
end
class SimpleRef < Grape::Entity
expose :name do |ref, options|
ref
end
end
class Branch < BasicRef
expose :name
 
expose :commit, using: Entities::Commit do |repo_branch, options|
Loading
Loading
@@ -845,8 +855,8 @@ module API
expose :description
end
 
class Tag < Grape::Entity
expose :name, :message
class Tag < BasicRef
expose :message
 
expose :commit, using: Entities::Commit do |repo_tag, options|
options[:project].repository.commit(repo_tag.dereferenced_target)
Loading
Loading
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