From d47e40929d7892e7469a11016f927412ed283791 Mon Sep 17 00:00:00 2001 From: Nihad Abbasov Date: Mon, 8 Oct 2012 01:52:08 -0700 Subject: [PATCH 1/3] add API changelog --- CHANGELOG | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 3fec2d86dfc..3a283aa5a45 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +master + - [API] allow to authorize using private token in HTTP header + - [API] add user creation + v 2.9.1 - Fixed resque custom config init @@ -9,7 +13,7 @@ v 2.9.0 - restyled projects list on dashboard - ssh keys validation to prevent gitolite crash - send notifications if changed premission in project - - scss refactoring. gitlab_bootstrap/ dir + - scss refactoring. gitlab_bootstrap/ dir - fix git push http body bigger than 112k problem - list of labels page under issues tab - API for milestones, keys @@ -113,7 +117,7 @@ v 2.1.0 v 2.0.0 - gitolite as main git host system - merge requests - - project/repo access + - project/repo access - link to commit/issue feed - design tab - improved email notifications @@ -147,7 +151,7 @@ v 1.1.0 - bugfix & code cleaning v 1.0.2 - - fixed bug with empty project + - fixed bug with empty project - added adv validation for project path & code - feature: issues can be sortable - bugfix -- GitLab From ad5b5d1e51abb02496458989fbff351f57f7fb29 Mon Sep 17 00:00:00 2001 From: Nihad Abbasov Date: Mon, 8 Oct 2012 01:54:36 -0700 Subject: [PATCH 2/3] projects API should return info about deleted hook --- lib/api/projects.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/api/projects.rb b/lib/api/projects.rb index c3dc3da6fac..5a1b1779ad5 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -176,7 +176,6 @@ module Gitlab authorize! :admin_project, user_project @hook = user_project.hooks.find(params[:hook_id]) @hook.destroy - nil end # Get a project repository branches -- GitLab From 61f12da3a5b84670a0fc8cb5dbb962a365895097 Mon Sep 17 00:00:00 2001 From: Nihad Abbasov Date: Mon, 8 Oct 2012 02:13:53 -0700 Subject: [PATCH 3/3] API: add project snippets listing --- CHANGELOG | 1 + doc/api/snippets.md | 10 +++++++++- lib/api/projects.rb | 10 ++++++++++ spec/requests/api/projects_spec.rb | 9 +++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 3a283aa5a45..1c9f3bbac40 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,5 @@ master + - [API] add project snippets list - [API] allow to authorize using private token in HTTP header - [API] add user creation diff --git a/doc/api/snippets.md b/doc/api/snippets.md index 0cd29ce530b..288fd5296f6 100644 --- a/doc/api/snippets.md +++ b/doc/api/snippets.md @@ -1,6 +1,14 @@ ## List snippets -Not implemented. +Get a list of project snippets. + +``` +GET /projects/:id/snippets +``` + +Parameters: + ++ `id` (required) - The ID or code name of a project ## Single snippet diff --git a/lib/api/projects.rb b/lib/api/projects.rb index 5a1b1779ad5..0f013883c81 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -228,6 +228,16 @@ module Gitlab present CommitDecorator.decorate(commits), with: Entities::RepoCommit end + # Get a project snippets + # + # Parameters: + # id (required) - The ID or code name of a project + # Example Request: + # GET /projects/:id/snippets + get ":id/snippets" do + present paginate(user_project.snippets), with: Entities::ProjectSnippet + end + # Get a project snippet # # Parameters: diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index 498bbad6179..94c9abb35e4 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -220,6 +220,15 @@ describe Gitlab::API do end end + describe "GET /projects/:id/snippets" do + it "should return a project snippet" do + get api("/projects/#{project.code}/snippets", user) + response.status.should == 200 + json_response.should be_an Array + json_response.first['title'].should == snippet.title + end + end + describe "GET /projects/:id/snippets/:snippet_id" do it "should return a project snippet" do get api("/projects/#{project.code}/snippets/#{snippet.id}", user) -- GitLab