Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kazuhiko Shiozaki
gitlab-ce
Commits
f086676b
Commit
f086676b
authored
Jul 05, 2012
by
Nihad Abbasov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add docs for existing API
parent
5f38f672
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
389 additions
and
0 deletions
+389
-0
doc/api/README.md
doc/api/README.md
+29
-0
doc/api/projects.md
doc/api/projects.md
+270
-0
doc/api/users.md
doc/api/users.md
+90
-0
No files found.
doc/api/README.md
0 → 100644
View file @
f086676b
# Gitlab API
All API requests require authentication. You need to pass
`private_token`
parameter to authenticate.
To get or reset your token visit your profile.
If no or invalid
`private_token`
provided error message will be returned with status code 401:
```
json
{
"message"
:
"401 Unauthorized"
}
```
API requests should be prefixed with
`api`
and the API version.
API version is equal to Gitlab major version number and defined in
`lib/api.rb`
.
Example of valid API request:
```
GET http://example.com/api/v2/projects?private_token=QVy1PB7sTxfy4pqfZM1U
```
The API uses JSON to serialize data. You don't need to specify
`.json`
at the end of API URL.
## Contents
+
[
Users
](
https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/users.md
)
+
[
Projects
](
https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/projects.md
)
doc/api/projects.md
0 → 100644
View file @
f086676b
## List projects
Get a list of authenticated users' projects.
```
GET /projects
```
```
json
[
{
"id"
:
3
,
"code"
:
"rails"
,
"name"
:
"rails"
,
"description"
:
null
,
"path"
:
"rails"
,
"default_branch"
:
"master"
,
"owner"
:
{
"id"
:
1
,
"email"
:
"john@example.com"
,
"name"
:
"John Smith"
,
"blocked"
:
false
,
"created_at"
:
"2012-05-23T08:00:58Z"
},
"private"
:
true
,
"issues_enabled"
:
false
,
"merge_requests_enabled"
:
false
,
"wall_enabled"
:
true
,
"wiki_enabled"
:
true
,
"created_at"
:
"2012-05-23T08:05:02Z"
},
{
"id"
:
5
,
"code"
:
"gitlab"
,
"name"
:
"gitlab"
,
"description"
:
null
,
"path"
:
"gitlab"
,
"default_branch"
:
"api"
,
"owner"
:
{
"id"
:
1
,
"email"
:
"john@example.com"
,
"name"
:
"John Smith"
,
"blocked"
:
false
,
"created_at"
:
"2012-05-23T08:00:58Z"
},
"private"
:
true
,
"issues_enabled"
:
true
,
"merge_requests_enabled"
:
true
,
"wall_enabled"
:
true
,
"wiki_enabled"
:
true
,
"created_at"
:
"2012-05-30T12:49:20Z"
}
]
```
## Single project
Get an authenticated user's project.
```
GET /projects/:id
```
Parameters:
+
`id`
(required) - The code name of a project
```
json
{
"id"
:
5
,
"code"
:
"gitlab"
,
"name"
:
"gitlab"
,
"description"
:
null
,
"path"
:
"gitlab"
,
"default_branch"
:
"api"
,
"owner"
:
{
"id"
:
1
,
"email"
:
"john@example.com"
,
"name"
:
"John Smith"
,
"blocked"
:
false
,
"created_at"
:
"2012-05-23T08:00:58Z"
},
"private"
:
true
,
"issues_enabled"
:
true
,
"merge_requests_enabled"
:
true
,
"wall_enabled"
:
true
,
"wiki_enabled"
:
true
,
"created_at"
:
"2012-05-30T12:49:20Z"
}
```
## Project repository branches
Get a list of project repository branches.
```
GET /projects/:id/repository/branches
```
Parameters:
+
`id`
(required) - The code name of a project
```
json
[
{
"name"
:
"master"
,
"commit"
:
{
"id"
:
"7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
,
"parents"
:
[
{
"id"
:
"4ad91d3c1144c406e50c7b33bae684bd6837faf8"
}
],
"tree"
:
"46e82de44b1061621357f24c05515327f2795a95"
,
"message"
:
"add projects API"
,
"author"
:
{
"name"
:
"John Smith"
,
"email"
:
"john@example.com"
},
"committer"
:
{
"name"
:
"John Smith"
,
"email"
:
"john@example.com"
},
"authored_date"
:
"2012-06-27T05:51:39-07:00"
,
"committed_date"
:
"2012-06-28T03:44:20-07:00"
}
}
]
```
## Project repository tags
Get a list of project repository tags.
```
GET /projects/:id/repository/tags
```
Parameters:
+
`id`
(required) - The code name of a project
```
json
[
{
"name"
:
"v1.0.0"
,
"commit"
:
{
"id"
:
"2695effb5807a22ff3d138d593fd856244e155e7"
,
"parents"
:
[
],
"tree"
:
"38017f2f189336fe4497e9d230c5bb1bf873f08d"
,
"message"
:
"Initial commit"
,
"author"
:
{
"name"
:
"John Smith"
,
"email"
:
"john@example.com"
},
"committer"
:
{
"name"
:
"Jack Smith"
,
"email"
:
"jack@example.com"
},
"authored_date"
:
"2012-05-28T04:42:42-07:00"
,
"committed_date"
:
"2012-05-28T04:42:42-07:00"
}
}
]
```
# Project Snippets
## List snippets
Not implemented.
## Single snippet
Get a project snippet.
```
GET /projects/:id/snippets/:snippet_id
```
Parameters:
+
`id`
(required) - The code name of a project
+
`snippet_id`
(required) - The ID of a project's snippet
```
json
{
"id"
:
1
,
"title"
:
"test"
,
"file_name"
:
"add.rb"
,
"author"
:
{
"id"
:
1
,
"email"
:
"john@example.com"
,
"name"
:
"John Smith"
,
"blocked"
:
false
,
"created_at"
:
"2012-05-23T08:00:58Z"
},
"expires_at"
:
null
,
"updated_at"
:
"2012-06-28T10:52:04Z"
,
"created_at"
:
"2012-06-28T10:52:04Z"
}
```
## Snippet content
Get a raw project snippet.
```
GET /projects/:id/snippets/:snippet_id/raw
```
Parameters:
+
`id`
(required) - The code name of a project
+
`snippet_id`
(required) - The ID of a project's snippet
## New snippet
Create a new project snippet.
```
POST /projects/:id/snippets
```
Parameters:
+
`id`
(required) - The code name of a project
+
`title`
(required) - The title of a snippet
+
`file_name`
(required) - The name of a snippet file
+
`lifetime`
(optional) - The expiration date of a snippet
+
`code`
(required) - The content of a snippet
Will return created snippet with status
`201 Created`
on success, or
`404 Not found`
on fail.
## Edit snippet
Update an existing project snippet.
```
PUT /projects/:id/snippets/:snippet_id
```
Parameters:
+
`id`
(required) - The code name of a project
+
`snippet_id`
(required) - The ID of a project's snippet
+
`title`
(optional) - The title of a snippet
+
`file_name`
(optional) - The name of a snippet file
+
`lifetime`
(optional) - The expiration date of a snippet
+
`code`
(optional) - The content of a snippet
Will return updated snippet with status
`200 OK`
on success, or
`404 Not found`
on fail.
## Delete snippet
Update an existing project snippet.
```
DELETE /projects/:id/snippets/:snippet_id
```
Parameters:
+
`id`
(required) - The code name of a project
+
`snippet_id`
(required) - The ID of a project's snippet
Status code
`200`
will be returned on success.
doc/api/users.md
0 → 100644
View file @
f086676b
## List users
Get a list of users.
```
GET /users
```
```
json
[
{
"id"
:
1
,
"email"
:
"john@example.com"
,
"name"
:
"John Smith"
,
"blocked"
:
false
,
"created_at"
:
"2012-05-23T08:00:58Z"
,
"bio"
:
null
,
"skype"
:
""
,
"linkedin"
:
""
,
"twitter"
:
""
,
"dark_scheme"
:
false
,
"theme_id"
:
1
},
{
"id"
:
2
,
"email"
:
"jack@example.com"
,
"name"
:
"Jack Smith"
,
"blocked"
:
false
,
"created_at"
:
"2012-05-23T08:01:01Z"
,
"bio"
:
null
,
"skype"
:
""
,
"linkedin"
:
""
,
"twitter"
:
""
,
"dark_scheme"
:
true
,
"theme_id"
:
1
}
]
```
## Single user
Get a single user.
```
GET /users/:id
```
Parameters:
+
`id`
(required) - The ID of a user
```
json
{
"id"
:
1
,
"email"
:
"john@example.com"
,
"name"
:
"John Smith"
,
"blocked"
:
false
,
"created_at"
:
"2012-05-23T08:00:58Z"
,
"bio"
:
null
,
"skype"
:
""
,
"linkedin"
:
""
,
"twitter"
:
""
,
"dark_scheme"
:
false
,
"theme_id"
:
1
}
```
## Current user
Get currently authenticated user.
```
GET /user
```
```
json
{
"id"
:
1
,
"email"
:
"john@example.com"
,
"name"
:
"John Smith"
,
"blocked"
:
false
,
"created_at"
:
"2012-05-23T08:00:58Z"
,
"bio"
:
null
,
"skype"
:
""
,
"linkedin"
:
""
,
"twitter"
:
""
,
"dark_scheme"
:
false
,
"theme_id"
:
1
}
```
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment