BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
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
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
389 additions
and
0 deletions
+389
-0
README.md
doc/api/README.md
+29
-0
projects.md
doc/api/projects.md
+270
-0
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