Commit bd674591 authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'api-expose-commiter-details' into 'master'

API: Expose committer details for a commit

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/22312

See merge request !7849
parents 0819d093 79d99d47
---
title: 'API: Expose committer details for commits'
merge_request:
author: Robert Schilling
...@@ -29,6 +29,8 @@ Example response: ...@@ -29,6 +29,8 @@ Example response:
"title": "Replace sanitize with escape once", "title": "Replace sanitize with escape once",
"author_name": "Dmitriy Zaporozhets", "author_name": "Dmitriy Zaporozhets",
"author_email": "dzaporozhets@sphereconsultinginc.com", "author_email": "dzaporozhets@sphereconsultinginc.com",
"committer_name": "Administrator",
"committer_email": "admin@example.com",
"created_at": "2012-09-20T11:50:22+03:00", "created_at": "2012-09-20T11:50:22+03:00",
"message": "Replace sanitize with escape once", "message": "Replace sanitize with escape once",
"allow_failure": false "allow_failure": false
...@@ -39,6 +41,8 @@ Example response: ...@@ -39,6 +41,8 @@ Example response:
"title": "Sanitize for network graph", "title": "Sanitize for network graph",
"author_name": "randx", "author_name": "randx",
"author_email": "dmitriy.zaporozhets@gmail.com", "author_email": "dmitriy.zaporozhets@gmail.com",
"committer_name": "Dmitriy",
"committer_email": "dmitriy.zaporozhets@gmail.com",
"created_at": "2012-09-20T09:06:12+03:00", "created_at": "2012-09-20T09:06:12+03:00",
"message": "Sanitize for network graph", "message": "Sanitize for network graph",
"allow_failure": false "allow_failure": false
...@@ -115,6 +119,8 @@ Example response: ...@@ -115,6 +119,8 @@ Example response:
"title": "some commit message", "title": "some commit message",
"author_name": "Dmitriy Zaporozhets", "author_name": "Dmitriy Zaporozhets",
"author_email": "dzaporozhets@sphereconsultinginc.com", "author_email": "dzaporozhets@sphereconsultinginc.com",
"committer_name": "Dmitriy Zaporozhets",
"committer_email": "dzaporozhets@sphereconsultinginc.com",
"created_at": "2016-09-20T09:26:24.000-07:00", "created_at": "2016-09-20T09:26:24.000-07:00",
"message": "some commit message", "message": "some commit message",
"parent_ids": [ "parent_ids": [
...@@ -159,6 +165,8 @@ Example response: ...@@ -159,6 +165,8 @@ Example response:
"title": "Sanitize for network graph", "title": "Sanitize for network graph",
"author_name": "randx", "author_name": "randx",
"author_email": "dmitriy.zaporozhets@gmail.com", "author_email": "dmitriy.zaporozhets@gmail.com",
"committer_name": "Dmitriy",
"committer_email": "dmitriy.zaporozhets@gmail.com",
"created_at": "2012-09-20T09:06:12+03:00", "created_at": "2012-09-20T09:06:12+03:00",
"message": "Sanitize for network graph", "message": "Sanitize for network graph",
"committed_date": "2012-09-20T09:06:12+03:00", "committed_date": "2012-09-20T09:06:12+03:00",
......
...@@ -174,6 +174,7 @@ module API ...@@ -174,6 +174,7 @@ module API
class RepoCommit < Grape::Entity class RepoCommit < Grape::Entity
expose :id, :short_id, :title, :author_name, :author_email, :created_at expose :id, :short_id, :title, :author_name, :author_email, :created_at
expose :committer_name, :committer_email
expose :safe_message, as: :message expose :safe_message, as: :message
end end
......
...@@ -18,11 +18,14 @@ describe API::Commits, api: true do ...@@ -18,11 +18,14 @@ describe API::Commits, api: true do
before { project.team << [user2, :reporter] } before { project.team << [user2, :reporter] }
it "returns project commits" do it "returns project commits" do
commit = project.repository.commit
get api("/projects/#{project.id}/repository/commits", user) get api("/projects/#{project.id}/repository/commits", user)
expect(response).to have_http_status(200)
expect(response).to have_http_status(200)
expect(json_response).to be_an Array expect(json_response).to be_an Array
expect(json_response.first['id']).to eq(project.repository.commit.id) expect(json_response.first['id']).to eq(commit.id)
expect(json_response.first['committer_name']).to eq(commit.committer_name)
expect(json_response.first['committer_email']).to eq(commit.committer_email)
end end
end end
...@@ -134,6 +137,8 @@ describe API::Commits, api: true do ...@@ -134,6 +137,8 @@ describe API::Commits, api: true do
expect(response).to have_http_status(201) expect(response).to have_http_status(201)
expect(json_response['title']).to eq(message) expect(json_response['title']).to eq(message)
expect(json_response['committer_name']).to eq(user.name)
expect(json_response['committer_email']).to eq(user.email)
end end
it 'returns a 400 bad request if file exists' do it 'returns a 400 bad request if file exists' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment