Commit f73d83db authored by Luis HGO's avatar Luis HGO Committed by Rémy Coutable

Added path parameter to Commits API

Signed-off-by: default avatarRémy Coutable <remy@rymai.me>
parent 4a0e8f59
...@@ -4,6 +4,7 @@ Please view this file on the master branch, on stable branches it's out of date. ...@@ -4,6 +4,7 @@ Please view this file on the master branch, on stable branches it's out of date.
- Adds user project membership expired event to clarify why user was removed (Callum Dryden) - Adds user project membership expired event to clarify why user was removed (Callum Dryden)
- Trim leading and trailing whitespace on project_path (Linus Thiel) - Trim leading and trailing whitespace on project_path (Linus Thiel)
- Prevent award emoji via notes for issues/MRs authored by user (barthc) - Prevent award emoji via notes for issues/MRs authored by user (barthc)
- Adds an optional path parameter to the Commits API to filter commits by path (Luis HGO)
- Fix HipChat notifications rendering (airatshigapov, eisnerd) - Fix HipChat notifications rendering (airatshigapov, eisnerd)
- Add hover to trash icon in notes !7008 (blackst0ne) - Add hover to trash icon in notes !7008 (blackst0ne)
- Simpler arguments passed to named_route on toggle_award_url helper method - Simpler arguments passed to named_route on toggle_award_url helper method
......
...@@ -19,6 +19,7 @@ module API ...@@ -19,6 +19,7 @@ module API
optional :until, type: String, desc: 'Only commits before or in this date will be returned' optional :until, type: String, desc: 'Only commits before or in this date will be returned'
optional :page, type: Integer, default: 0, desc: 'The page for pagination' optional :page, type: Integer, default: 0, desc: 'The page for pagination'
optional :per_page, type: Integer, default: 20, desc: 'The number of results per page' optional :per_page, type: Integer, default: 20, desc: 'The number of results per page'
optional :path, type: String, desc: 'The file path'
end end
get ":id/repository/commits" do get ":id/repository/commits" do
# TODO remove the next line for 9.0, use DateTime type in the params block # TODO remove the next line for 9.0, use DateTime type in the params block
...@@ -28,6 +29,7 @@ module API ...@@ -28,6 +29,7 @@ module API
offset = params[:page] * params[:per_page] offset = params[:page] * params[:per_page]
commits = user_project.repository.commits(ref, commits = user_project.repository.commits(ref,
path: params[:path],
limit: params[:per_page], limit: params[:per_page],
offset: offset, offset: offset,
after: params[:since], after: params[:since],
......
...@@ -72,6 +72,17 @@ describe API::API, api: true do ...@@ -72,6 +72,17 @@ describe API::API, api: true do
expect(json_response['message']).to include "\"since\" must be a timestamp in ISO 8601 format" expect(json_response['message']).to include "\"since\" must be a timestamp in ISO 8601 format"
end end
end end
context "path optional parameter" do
it "returns project commits matching provided path parameter" do
path = 'files/ruby/popen.rb'
get api("/projects/#{project.id}/repository/commits?path=#{path}", user)
expect(json_response.size).to eq(3)
expect(json_response.first["id"]).to eq("570e7b2abdd848b95f2f578043fc23bd6f6fd24d")
end
end
end end
describe "Create a commit with multiple files and actions" do describe "Create a commit with multiple files and actions" 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