Project in GitSwarm has be either private, internal or public. You can determine it by visibility_level
field in project.
Constants for project visibility levels are next:
Private. visibility_level
is 0
. Project access must be granted explicitly for each user.
Internal. visibility_level
is 10
. The project can be cloned by any logged in user.
Public. visibility_level
is 20
. The project can be cloned without any authentication.
Get a list of projects accessible by the authenticated user.
GET /projects
Parameters:
archived
(optional) - if passed, limit by archived statusvisibility
(optional) - if passed, limit by visibility public
, internal
, private
order_by
(optional) - Return requests ordered by id
, name
, path
, created_at
, updated_at
or last_activity_at
fields. Default is created_at
sort
(optional) - Return requests sorted in asc
or desc
order. Default is desc
search
(optional) - Return list of authorized projects according to a search criteria[
{
"id": 4,
"description": null,
"default_branch": "master",
"public": false,
"visibility_level": 0,
"ssh_url_to_repo": "[email protected]:diaspora/diaspora-client.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",
"web_url": "http://example.com/diaspora/diaspora-client",
"tag_list": [
"example",
"disapora client"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Client",
"name_with_namespace": "Diaspora / Diaspora Client",
"path": "diaspora-client",
"path_with_namespace": "diaspora/diaspora-client",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"builds_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"created_at": "2013-09-30T13:46:02Z",
"description": "",
"id": 3,
"name": "Diaspora",
"owner_id": 1,
"path": "diaspora",
"updated_at": "2013-09-30T13:46:02Z"
},
"archived": false,
"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8547b1dc37721d05889db52fa2f02",
"public_builds": true,
"shared_with_groups": []
},
{
"id": 6,
"description": null,
"default_branch": "master",
"public": false,
"visibility_level": 0,
"ssh_url_to_repo": "[email protected]:brightbox/puppet.git",
"http_url_to_repo": "http://example.com/brightbox/puppet.git",
"web_url": "http://example.com/brightbox/puppet",
"tag_list": [
"example",
"puppet"
],
"owner": {
"id": 4,
"name": "Brightbox",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Puppet",
"name_with_namespace": "Brightbox / Puppet",
"path": "puppet",
"path_with_namespace": "brightbox/puppet",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"builds_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"created_at": "2013-09-30T13:46:02Z",
"description": "",
"id": 4,
"name": "Brightbox",
"owner_id": 1,
"path": "brightbox",
"updated_at": "2013-09-30T13:46:02Z"
},
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": false,
"avatar_url": null,
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8547b1dc37721d05889db52fa2f02",
"public_builds": true,
"shared_with_groups": []
}
]
Get a list of projects which are owned by the authenticated user.
GET /projects/owned
Parameters:
archived
(optional) - if passed, limit by archived statusvisibility
(optional) - if passed, limit by visibility public
, internal
, private
order_by
(optional) - Return requests ordered by id
, name
, path
, created_at
, updated_at
or last_activity_at
fields. Default is created_at
sort
(optional) - Return requests sorted in asc
or desc
order. Default is desc
search
(optional) - Return list of authorized projects according to a search criteriaGet a list of projects which are starred by the authenticated user.
GET /projects/starred
Parameters:
archived
(optional) - if passed, limit by archived statusvisibility
(optional) - if passed, limit by visibility public
, internal
, private
order_by
(optional) - Return requests ordered by id
, name
, path
, created_at
, updated_at
or last_activity_at
fields. Default is created_at
sort
(optional) - Return requests sorted in asc
or desc
order. Default is desc
search
(optional) - Return list of authorized projects according to a search criteriaGet a list of all GitLab projects (admin only).
GET /projects/all
Parameters:
archived
(optional) - if passed, limit by archived statusvisibility
(optional) - if passed, limit by visibility public
, internal
, private
order_by
(optional) - Return requests ordered by id
, name
, path
, created_at
, updated_at
or last_activity_at
fields. Default is created_at
sort
(optional) - Return requests sorted in asc
or desc
order. Default is desc
search
(optional) - Return list of authorized projects according to a search criteriaGet a specific project, identified by project ID or NAMESPACE/PROJECT_NAME, which is owned by the authenticated user. If using namespaced projects call make sure that the NAMESPACE/PROJECT_NAME is URL-encoded, eg. /api/v3/projects/diaspora%2Fdiaspora
(where /
is represented by %2F
).
GET /projects/:id
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a project{
"id": 3,
"description": null,
"default_branch": "master",
"public": false,
"visibility_level": 0,
"ssh_url_to_repo": "[email protected]:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"tag_list": [
"example",
"disapora project"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"builds_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"created_at": "2013-09-30T13:46:02Z",
"description": "",
"id": 3,
"name": "Diaspora",
"owner_id": 1,
"path": "diaspora",
"updated_at": "2013-09-30T13:46:02Z"
},
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": false,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b",
"public_builds": true,
"shared_with_groups": [
{
"group_id": 4,
"group_name": "Twitter",
"group_access_level": 30
},
{
"group_id": 3,
"group_name": "Gitlab Org",
"group_access_level": 10
}
]
}
Get the events for the specified project. Sorted from newest to latest
GET /projects/:id/events
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a project[
{
"title": null,
"project_id": 15,
"action_name": "closed",
"target_id": 830,
"target_type": "Issue",
"author_id": 1,
"data": null,
"target_title": "Public project search field",
"author": {
"name": "Dmitriy Zaporozhets",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root"
},
"author_username": "root"
},
{
"title": null,
"project_id": 15,
"action_name": "opened",
"target_id": null,
"target_type": null,
"author_id": 1,
"author": {
"name": "Dmitriy Zaporozhets",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root"
},
"author_username": "john",
"data": {
"before": "50d4420237a9de7be1304607147aec22e4a14af7",
"after": "c5feabde2d8cd023215af4d2ceeb7a64839fc428",
"ref": "refs/heads/master",
"user_id": 1,
"user_name": "Dmitriy Zaporozhets",
"repository": {
"name": "gitlabhq",
"url": "[email protected]:gitlab/gitlabhq.git",
"description": "GitSwarm: self hosted Git management software. \r\nDistributed under the MIT License.",
"homepage": "https://dev.gitlab.org/gitlab/gitlabhq"
},
"commits": [
{
"id": "c5feabde2d8cd023215af4d2ceeb7a64839fc428",
"message": "Add simple search to projects in public area",
"timestamp": "2013-05-13T18:18:08+00:00",
"url": "https://dev.gitlab.org/gitlab/gitlabhq/commit/c5feabde2d8cd023215af4d2ceeb7a64839fc428",
"author": {
"name": "Dmitriy Zaporozhets",
"email": "[email protected]"
}
}
],
"total_commits_count": 1
},
"target_title": null
},
{
"title": null,
"project_id": 15,
"action_name": "closed",
"target_id": 840,
"target_type": "Issue",
"author_id": 1,
"data": null,
"target_title": "Finish & merge Code search PR",
"author": {
"name": "Dmitriy Zaporozhets",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root"
},
"author_username": "root"
},
{
"title": null,
"project_id": 15,
"action_name": "commented on",
"target_id": 1312,
"target_type": "Note",
"author_id": 1,
"data": null,
"target_title": null,
"created_at": "2015-12-04T10:33:58.089Z",
"note": {
"id": 1312,
"body": "What an awesome day!",
"attachment": null,
"author": {
"name": "Dmitriy Zaporozhets",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root"
},
"created_at": "2015-12-04T10:33:56.698Z",
"system": false,
"upvote": false,
"downvote": false,
"noteable_id": 377,
"noteable_type": "Issue"
},
"author": {
"name": "Dmitriy Zaporozhets",
"username": "root",
"id": 1,
"state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/fox_avatar.png",
"web_url": "http://localhost:3000/u/root"
},
"author_username": "root"
}
]
Creates a new project owned by the authenticated user.
POST /projects
Parameters:
name
(required) - new project namepath
(optional) - custom repository name for new project. By default generated based on namenamespace_id
(optional) - namespace for the new project (defaults to user)description
(optional) - short project descriptionissues_enabled
(optional)merge_requests_enabled
(optional)builds_enabled
(optional)wiki_enabled
(optional)snippets_enabled
(optional)container_registry_enabled
(optional)shared_runners_enabled
(optional)public
(optional) - if true
same as setting visibility_level = 20visibility_level
(optional)import_url
(optional)public_builds
(optional)Creates a new project owned by the specified user. Available only for admins.
POST /projects/user/:user_id
Parameters:
user_id
(required) - user_id of ownername
(required) - new project namedescription
(optional) - short project descriptionissues_enabled
(optional)merge_requests_enabled
(optional)builds_enabled
(optional)wiki_enabled
(optional)snippets_enabled
(optional)container_registry_enabled
(optional)shared_runners_enabled
(optional)public
(optional) - if true
same as setting visibility_level = 20visibility_level
(optional)import_url
(optional)public_builds
(optional)Updates an existing project
PUT /projects/:id
Parameters:
id
(required) - The ID of a projectname
(optional) - project namepath
(optional) - repository name for projectdescription
(optional) - short project descriptiondefault_branch
(optional)issues_enabled
(optional)merge_requests_enabled
(optional)builds_enabled
(optional)wiki_enabled
(optional)snippets_enabled
(optional)container_registry_enabled
(optional)shared_runners_enabled
(optional)public
(optional) - if true
same as setting visibility_level = 20visibility_level
(optional)public_builds
(optional)On success, method returns 200 with the updated project. If parameters are invalid, 400 is returned.
Forks a project into the user namespace of the authenticated user.
POST /projects/fork/:id
Parameters:
id
(required) - The ID of the project to be forkedStars a given project. Returns status code 201
and the project on success and 304
if the project is already starred.
POST /projects/:id/star
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | The ID of the project |
curl -X POST -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitswarm.example.com/api/v3/projects/5/star"
Example response:
{
"id": 3,
"description": null,
"default_branch": "master",
"public": false,
"visibility_level": 10,
"ssh_url_to_repo": "[email protected]:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"tag_list": [
"example",
"disapora project"
],
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"builds_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"created_at": "2013-09-30T13:46:02Z",
"description": "",
"id": 3,
"name": "Diaspora",
"owner_id": 1,
"path": "diaspora",
"updated_at": "2013-09-30T13:46:02Z"
},
"archived": true,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 1,
"public_builds": true,
"shared_with_groups": []
}
Unstars a given project. Returns status code 200
and the project on success and 304
if the project is not starred.
DELETE /projects/:id/star
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | The ID of the project |
curl -X DELETE -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitswarm.example.com/api/v3/projects/5/star"
Example response:
{
"id": 3,
"description": null,
"default_branch": "master",
"public": false,
"visibility_level": 10,
"ssh_url_to_repo": "[email protected]:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"tag_list": [
"example",
"disapora project"
],
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"builds_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"created_at": "2013-09-30T13:46:02Z",
"description": "",
"id": 3,
"name": "Diaspora",
"owner_id": 1,
"path": "diaspora",
"updated_at": "2013-09-30T13:46:02Z"
},
"archived": true,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"public_builds": true,
"shared_with_groups": []
}
Archives the project if the user is either admin or the project owner of this project. This action is idempotent, thus archiving an already archived project will not change the project.
Status code 201 with the project as body is given when successful, in case the user doesn't have the proper access rights, code 403 is returned. Status 404 is returned if the project doesn't exist, or is hidden to the user.
POST /projects/:id/archive
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | The ID of the project |
curl -X POST -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitswarm.example.com/api/v3/projects/archive"
Example response:
{
"id": 3,
"description": null,
"default_branch": "master",
"public": false,
"visibility_level": 0,
"ssh_url_to_repo": "[email protected]:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"tag_list": [
"example",
"disapora project"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"builds_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"created_at": "2013-09-30T13:46:02Z",
"description": "",
"id": 3,
"name": "Diaspora",
"owner_id": 1,
"path": "diaspora",
"updated_at": "2013-09-30T13:46:02Z"
},
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": true,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b",
"public_builds": true,
"shared_with_groups": []
}
Unarchives the project if the user is either admin or the project owner of this project. This action is idempotent, thus unarchiving an non-archived project will not change the project.
Status code 201 with the project as body is given when successful, in case the user doesn't have the proper access rights, code 403 is returned. Status 404 is returned if the project doesn't exist, or is hidden to the user.
POST /projects/:id/unarchive
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | yes | The ID of the project |
curl -X POST -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitswarm.example.com/api/v3/projects/unarchive"
Example response:
{
"id": 3,
"description": null,
"default_branch": "master",
"public": false,
"visibility_level": 0,
"ssh_url_to_repo": "[email protected]:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"tag_list": [
"example",
"disapora project"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"builds_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"created_at": "2013-09-30T13:46:02Z",
"description": "",
"id": 3,
"name": "Diaspora",
"owner_id": 1,
"path": "diaspora",
"updated_at": "2013-09-30T13:46:02Z"
},
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": false,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b",
"public_builds": true,
"shared_with_groups": []
}
Removes a project including all associated resources (issues, merge requests etc.)
DELETE /projects/:id
Parameters:
id
(required) - The ID of a projectUploads a file to the specified project to be used in an issue or merge request description, or a comment.
POST /projects/:id/uploads
Parameters:
id
(required) - The ID of the projectfile
(required) - The file to be uploaded{
"alt": "dk",
"url": "/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png",
"markdown": "!dk"
}
Note: The returned url
is relative to the project path. In Markdown contexts, the link is automatically expanded when the format in markdown
is used.
Get a list of a project's team members.
GET /projects/:id/members
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projectquery
(optional) - Query string to search for membersGets a project team member.
GET /projects/:id/members/:user_id
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projectuser_id
(required) - The ID of a user{
"id": 1,
"username": "john_smith",
"email": "[email protected]",
"name": "John Smith",
"state": "active",
"created_at": "2012-05-23T08:00:58Z",
"access_level": 40
}
Adds a user to a project team. This is an idempotent method and can be called multiple times with the same parameters. Adding team membership to a user that is already a member does not affect the existing membership.
POST /projects/:id/members
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projectuser_id
(required) - The ID of a user to addaccess_level
(required) - Project access levelUpdates a project team member to a specified access level.
PUT /projects/:id/members/:user_id
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projectuser_id
(required) - The ID of a team memberaccess_level
(required) - Project access levelRemoves a user from a project team.
DELETE /projects/:id/members/:user_id
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projectuser_id
(required) - The ID of a team memberThis method removes the project member if the user has the proper access rights to do so. It returns a status code 403 if the member does not have the proper rights to perform this action. In all other cases this method is idempotent and revoking team membership for a user who is not currently a team member is considered success. Please note that the returned JSON currently differs slightly. Thus you should not rely on the returned JSON structure.
Allow to share project with group.
POST /projects/:id/share
Parameters:
id
(required) - The ID of a projectgroup_id
(required) - The ID of a groupgroup_access
(required) - Level of permissions for sharingAlso called Project Hooks and Webhooks. These are different for System Hooks that are system wide.
Get a list of project hooks.
GET /projects/:id/hooks
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projectGet a specific hook for a project.
GET /projects/:id/hooks/:hook_id
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projecthook_id
(required) - The ID of a project hook{
"id": 1,
"url": "http://example.com/hook",
"project_id": 3,
"push_events": true,
"issues_events": true,
"merge_requests_events": true,
"note_events": true,
"enable_ssl_verification": true,
"created_at": "2012-10-12T17:04:47Z"
}
Adds a hook to a specified project.
POST /projects/:id/hooks
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projecturl
(required) - The hook URLpush_events
- Trigger hook on push eventsissues_events
- Trigger hook on issues eventsmerge_requests_events
- Trigger hook on merge_requests eventstag_push_events
- Trigger hook on push_tag eventsnote_events
- Trigger hook on note eventsenable_ssl_verification
- Do SSL verification when triggering the hookEdits a hook for a specified project.
PUT /projects/:id/hooks/:hook_id
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projecthook_id
(required) - The ID of a project hookurl
(required) - The hook URLpush_events
- Trigger hook on push eventsissues_events
- Trigger hook on issues eventsmerge_requests_events
- Trigger hook on merge_requests eventstag_push_events
- Trigger hook on push_tag eventsnote_events
- Trigger hook on note eventsenable_ssl_verification
- Do SSL verification when triggering the hookRemoves a hook from a project. This is an idempotent method and can be called multiple times. Either the hook is available or not.
DELETE /projects/:id/hooks/:hook_id
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projecthook_id
(required) - The ID of hook to deleteNote the JSON response differs if the hook is available or not. If the project hook is available before it is returned in the JSON response or an empty response is returned.
Lists all branches of a project.
GET /projects/:id/repository/branches
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a project[
{
"name": "async",
"commit": {
"id": "a2b702edecdf41f07b42653eb1abe30ce98b9fca",
"parents": [
{
"id": "3f94fc7c85061973edc9906ae170cc269b07ca55"
}
],
"tree": "c68537c6534a02cc2b176ca1549f4ffa190b58ee",
"message": "give Caolan credit where it's due (up top)",
"author": {
"name": "Jeremy Ashkenas",
"email": "[email protected]"
},
"committer": {
"name": "Jeremy Ashkenas",
"email": "[email protected]"
},
"authored_date": "2010-12-08T21:28:50+00:00",
"committed_date": "2010-12-08T21:28:50+00:00"
},
"protected": false
},
{
"name": "gh-pages",
"commit": {
"id": "101c10a60019fe870d21868835f65c25d64968fc",
"parents": [
{
"id": "9c15d2e26945a665131af5d7b6d30a06ba338aaa"
}
],
"tree": "fb5cc9d45da3014b17a876ad539976a0fb9b352a",
"message": "Underscore.js 1.5.2",
"author": {
"name": "Jeremy Ashkenas",
"email": "[email protected]"
},
"committer": {
"name": "Jeremy Ashkenas",
"email": "[email protected]"
},
"authored_date": "2013-09-07T12:58:21+00:00",
"committed_date": "2013-09-07T12:58:21+00:00"
},
"protected": false
}
]
Lists a specific branch of a project.
GET /projects/:id/repository/branches/:branch
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projectbranch
(required) - The name of the branch.Protects a single branch of a project.
PUT /projects/:id/repository/branches/:branch/protect
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projectbranch
(required) - The name of the branch.Unprotects a single branch of a project.
PUT /projects/:id/repository/branches/:branch/unprotect
Parameters:
id
(required) - The ID or NAMESPACE/PROJECT_NAME of a projectbranch
(required) - The name of the branch.Allows modification of the forked relationship between existing projects. Available only for admins.
POST /projects/:id/fork/:forked_from_id
Parameters:
id
(required) - The ID of the projectforked_from_id:
(required) - The ID of the project that was forked fromDELETE /projects/:id/fork
Parameter:
id
(required) - The ID of the projectSearch for projects by name which are accessible to the authenticated user.
GET /projects/search/:query
Parameters:
query
(required) - A string contained in the project nameper_page
(optional) - number of projects to return per pagepage
(optional) - the page to retrieveorder_by
(optional) - Return requests ordered by id
, name
, created_at
or last_activity_at
fieldssort
(optional) - Return requests sorted in asc
or desc
order