The API documentation of repository is updated and now contains infos to status codes. Code documentation is also adjusted for `GET /projects/:id/repository/commits` and includes infos to pagination attributes. Tests are updated.
6.8 KiB
List repository branches
Get a list of repository branches from a project, sorted by name alphabetically.
GET /projects/:id/repository/branches
Parameters:
id
(required) - The ID of a project
[
{
"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"
},
"protected": true
}
]
Return values:
200 Ok
on success and a list of repository branches for the project401 Unauthorized
if user is not authenticated404 Not Found
if project with ID not found
Get single repository branch
Get a single project repository branch.
GET /projects/:id/repository/branches/:branch
Parameters:
id
(required) - The ID of a projectbranch
(required) - The name of the branch
{
"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"
},
"protected": true
}
Return values:
200 Ok
on success and the repository branch401 Unauthorized
if user is not authenticated404 Not Found
if the project ID or branch not found
Protect repository branch
Protects a single project repository branch. This is an idempotent function, protecting an already
protected repository branch still returns a 200 Ok
status code.
PUT /projects/:id/repository/branches/:branch/protect
Parameters:
id
(required) - The ID of a projectbranch
(required) - The name of the branch
{
"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"
},
"protected": true
}
Return values:
200 Ok
on success and the updated repository branch401 Unauthorized
if user is not authenticated404 Not Found
if the the project ID or branch not found
Unprotect repository branch
Unprotects a single project repository branch. This is an idempotent function, unprotecting an already
unprotected repository branch still returns a 200 Ok
status code.
PUT /projects/:id/repository/branches/:branch/unprotect
Parameters:
id
(required) - The ID of a projectbranch
(required) - The name of the branch
{
"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"
},
"protected": false
}
Return values:
200 Ok
on success and the updated repository branch401 Unauthorized
if user is not authenticated404 Not Found
if the project ID or the branch not found
List project repository tags
Get a list of repository tags from a project, sorted by name in reverse alphabetical order.
GET /projects/:id/repository/tags
Parameters:
id
(required) - The ID of a project
[
{
"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"
},
"protected": null
}
]
Return values:
200 Ok
on success and the list of repository tags401 Unauthorized
if user is not authenticated404 Not Found
if the project ID not found
List repository commits
Get a list of repository commits in a project.
GET /projects/:id/repository/commits
Parameters:
id
(required) - The ID of a projectref_name
(optional) - The name of a repository branch or tag or if not given the default branchpage
(optional) - The page with the commits (pagination)per_page
(optional) - The number of commits per page (pagination)
[
{
"id": "ed899a2f4b50b4370feeea94676502b42383c746",
"short_id": "ed899a2f4b5",
"title": "Replace sanitize with escape once",
"author_name": "Dmitriy Zaporozhets",
"author_email": "dzaporozhets@sphereconsultinginc.com",
"created_at": "2012-09-20T11:50:22+03:00"
},
{
"id": "6104942438c14ec7bd21c6cd5bd995272b3faff6",
"short_id": "6104942438c",
"title": "Sanitize for network graph",
"author_name": "randx",
"author_email": "dmitriy.zaporozhets@gmail.com",
"created_at": "2012-09-20T09:06:12+03:00"
}
]
Return values:
200 Ok
on success and a list of commits401 Unauthorized
if the user is not authenticated404 Not Found
if the project ID not found
Raw blob content
Get the raw file contents for a file.
GET /projects/:id/repository/commits/:sha/blob
Parameters:
id
(required) - The ID of a projectsha
(required) - The commit or branch namefilepath
(required) - The path the file
Return values:
200 Ok
on success and the raw content of the file400 Bad Request
if required attribute filepath is not given401 Unauthorized
if user is not authenticated404 Not Found
if project ID or sha commit or branch name not found