- BitBucket
- GitHub
- GitLab
- JIRA
- Trac
- Phabricator
- BitBucket
- GitHub
- GitLab
- JIRA
- Trac
- Phaboulous
List all public users in the system
- Bitbucket
- No available API request
- GitHub
- GitLab
Create new user
- Bitbucket
- No available API request (must create users through the web interface)
- Web: https://bitbucket.org/account/signup/
- GitHub
- No available API request (must create users through the web interface)
- Web: https://github.com/join
- GitLab
POST /users- Web: https://gitlab.com/users/sign_in (calls
POST /users)
Retrieve info about a given user
- Bitbucket
GET /2.0/users/{username}- Web: https://bitbucket.org/:user
- GitHub
GET /users/:username(no authentication required)GET /user(currently authenticated user only)- Web: https://github.com/:user
- GitLab
GET /users/:id- Web: https://gitlab.com/:user
Update info about an existing user
- Bitbucket
- No available API request (must modify users through the web interface)
- Web: https://bitbucket.org/account/user/:user
- GitHub
PATCH /user(only for the currently logged in user)- Web: https://github.com/settings/profile
- GitLab
PUT /users/:id(administrators only)- Web: https://gitlab.com/profile
Delete existing user
- Bitbucket
- No available API request (must delete users through the web interface)
- Web: https://bitbucket.org/account/user/:user/delete/
- GitHub
- No available API request (must delete users through the web interface)
- Web: https://github.com/settings/admin
- GitLab
DELETE /users/:id- Web: https://gitlab.com/profile/account
Retrieve all public groups in the system
- Bitbucket
- No available API request (no way to list groups that you don't belong to)
- GitHub
GET /organizations
- GitLab
GET /groups(withall_availableparameter)- Web: https://gitlab.com/explore/groups
- "A group is a collection of several projects"
List all of the users in a given group
- Bitbucket
GET /2.0/teams/{username}/members- http://tinyurl.com/nakza55
- It's not clear if you have to be a member of the team in order to get a list of members for that team
- GitHub
GET /orgs/:org/members
- GitLab
GET /groups/:id/membersGET /projects/:id/members
Create new group
- Bitbucket
- No available API request (must create groups through the web interface)
- Web: https://bitbucket.org/account/create-team/
- GitHub
- No available API request (must create organizations through the web interface)
- Web: https://github.com/organizations/new
- GitLab
POST /groups(requires paramters such asname,path, etc)- Web: https://gitlab.com/groups/new
Retrieve info about a given group
- Bitbucket
- No available API request (must view group info through the web interface)
- GitHub
GET /orgs/:org
- GitLab
GET /groups/:id
Delete existing group
- Bitbucket
- No available API request (must view group info through the web interface)
- GitHub
- No available API request (must delete organizations through the web interface)
- GitLab
DELETE /groups/:id
Update existing group info
- Bitbucket
- No available API request (must update group info through the web interface)
- GitHub
PATCH /orgs/:org
- GitLab
PUT /groups/:id
Get a user(s) of a group
- Bitbucket
- No available API request (must get users of a group info through the web interface)
- GitHub
GET /orgs/:org/members
- GitLab
GET /groups/:id/members
Add user(s) to group
- Bitbucket
- No available API request (must add users to a group through the web interface)
- GitHub
PUT /teams/:id/memberships/:usernamePUT /orgs/:org/memberships/:username
- GitLab
POST /groups/:id/members
Remove user(s) from group
- Bitbucket
- No available API request (must delete users from a group through the web interface)
- GitHub
DELETE /orgs/:org/members/:username
- GitLab
DELETE /groups/:id/members/:user_id
List all public projects
- Bitbucket
- No available API request (no concept of projects)
- GitHub
- GitHub doesn't currently have the concept of a "project"
- GitLab
GET /projects/all(admin only)
List projects owned by a specific group
- Bitbucket
- No available API request (no concept of projects)
- GitHub
- GitHub doesn't currently have the concept of a "project"
- GitLab
GET /groups/:id/projects- http://docs.gitlab.com/ce/api/groups.html
List projects owned by a specific user
- Bitbucket
- No available API request (no concept of projects)
- GitHub
- GitHub doesn't currently have the concept of a "project"
- GitLab
GET /groups/:id/projects- http://docs.gitlab.com/ce/api/groups.html
Create new project
- Bitbucket
- No available API request (no concept of projects)
- GitHub
- GitLab
POST /projects(with projectname,path, etc.)
Retrieve info about a given project
- Bitbucket
- No available API request (no concept of projects)
- GitHub
- GitHub doesn't currently have the concept of a "project"
- GitLab
GET /projects/:id
Update info about an existing project
- Bitbucket
- No available API request (no concept of projects)
- GitHub
- GitHub doesn't currently have the concept of a "project"
- GitLab
PUT /projects/:id
Delete existing project
- Bitbucket
- No available API request (no concept of projects)
- GitHub
- GitHub doesn't currently have the concept of a "project"
- GitLab
DELETE /projects/:id
Retrieve all public repos
- Bitbucket
GET /repositories- http://tinyurl.com/ztw73yy Web: Bitbucket is horrible for exploring
- GitHub
GET /repositories- Web: https://github.com/explore
- GitLab
- In GitLab, a repository is part of a project, so there's no separate API call to list all of the repositories, you would make the API call to list projects instead
- Web: https://gitlab.com/explore
Retrieve all repos (public and private) for a given user/group
- Bitbucket
/2.0/repositories/:user_name- Web: https://bitbucket.org/:user
- GitHub
GET /user/repos(logged in user)GET /users/:user_name/repos(not logged in)GET /orgs/:org/repos(organization repos)- Web:
/:user_name?tab=repositories(private projects are only shown to authorized users)
- GitLab
- Repos are parts of projects, so there's no separate API for repos
- Web:
/u/:user_name/projects(user's projects)
Create new repo
- Bitbucket
POST /2.0/repositories/:user/:repo- http://tinyurl.com/hjvbq2h
- Repo parameters will be in the body of a JSON message
- Getting/creating/updating/deleting repos all shares the same API URL,
with the HTTP verb being different for each action
(
GET/POST/PUT/DELETE)
- Web: https://bitbucket.org/repo/create
- GitHub
POST /user/repos(for the specified user)- https://developer.github.com/v3/repos/#create
- Repo parameters (including repo name) will be in the body of a JSON message
- Web: https://github.com/new
POST /orgs/:org_name/repos(for the specified org)- https://developer.github.com/v3/repos/#create
- Repo parameters (including repo name) will be in the body of a JSON message
- Web: https://github.com/organizations/:org/repositories/new
- GitLab
- Repos are parts of projects, so there's no separate API for repos
POST /projects(for the authenticated user, with projectname,path, etc.)POST /projects/user/:user_name(for the specified user, with projectname,path, etc.; only available for admins)- Web: https://gitlab.com/projects/new
Retrieve info about a given repo
- Bitbucket
GET /2.0/repositories/:user/:repo- Getting/creating/updating/deleting repos all shares the same API URL, with
the HTTP verb being different for each action (
GET/POST/PUT/DELETE) - Web: https://bitbucket.org/:user/:repo
- GitHub
GET /repos/:owner/:repo- https://developer.github.com/v3/repos/#get
- Comes with
parentandsourceparameters if this repo is a fork of another repo;parentwould the the repo that this repo was forked from, andsourcewould be the ultimate parent of all forks that exist in the system
- Web: https://github.com/:user/:repo
- GitLab
- Repos are parts of projects, so there's no separate API for repos
GET /projects/:id- Web: https://gitlab.com/:user/:project
Update info about an existing repo
- Bitbucket
PUT /2.0/repositories/{username}/{repo_slug}- http://tinyurl.com/hjvbq2h
- Getting/creating/updating/deleting repos all shares the same API URL, with
the HTTP verb being different for each action (
GET/POST/PUT/DELETE) - Web: https://bitbucket.org/:user/:repo/admin
- GitHub
PATCH /repos/:owner/:repo- Web: https://github.com/user:/:repo/settings
- GitLab
- Repos are parts of projects, so there's no separate API for repos
PUT /projects/:id- Web: https://gitlab.com/:user/:project/edit
Delete existing repo
- Bitbucket
DELETE /2.0/repositories/:user/:repo- http://tinyurl.com/hjvbq2h
- Getting/creating/updating/deleting repos all shares the same API URL, with
the HTTP verb being different for each action (
GET/POST/PUT/DELETE) - Web: https://bitbucket.org/:user/:repo/admin
- GitHub
DELETE /repos/:owner/:repo- Web: https://github.com/:user/:repo/settings
- GitLab
DELETE /projects/:id- Web: https://gitlab.com/:user/:project/edit
Retrieve tracker list
- Bitbucket
- GitHub
- GitLab
Create new tracker
- Bitbucket
- GitHub
- GitLab
Get tracker metadata
- Bitbucket
- GitHub
- GitLab
Update tracker metadata
- Bitbucket
- GitHub
- GitLab
Delete tracker
- Bitbucket
- GitHub
- GitLab
Retrieve wiki list
- Bitbucket
- GitHub
- GitLab
Create new wiki
- Bitbucket
- GitHub
- GitLab
Get wiki metadata
- Bitbucket
- GitHub
- GitLab
Update wiki metadata
- Bitbucket
- GitHub
- GitLab
Delete wiki
- Bitbucket
- GitHub
- GitLab
Retrieve list of commits
- Bitbucket
- GitHub
- GitLab
Create new commit
- Bitbucket
- GitHub
- GitLab
Get a specific commmit
- Bitbucket
- GitHub
- GitLab
Update metadata about a specific commit
- Bitbucket
- GitHub
- GitLab
Delete commit
- Bitbucket
- GitHub
- GitLab
Retrieve total open/closed issues for this repo
- Bitbucket
- GitHub
- GitLab
Create new issue
- Bitbucket
- GitHub
- GitHub -
POST /repos/:owner/:repo/issues
- GitHub -
- GitLab
Retrieve existing issue
- Bitbucket
- GitHub
- GitLab
Update existing issue
- Bitbucket
- GitHub
- GitLab
Delete existing issue
- Bitbucket
- GitHub
- GitLab
Retrieve issue list
- Bitbucket
- GitHub
- GitLab
Retrieve list pages for a given wiki
- Bitbucket
- GitHub
- GitLab
Create new wiki page
- Bitbucket
- GitHub
- GitLab
Get a wiki page
- Bitbucket
- GitHub
- GitLab
Update metadata about a specific wiki page
- Bitbucket
- GitHub
- GitLab
Delete wiki page
- Bitbucket
- GitHub
- GitLab
Create new milestone
- Bitbucket
- GitHub
- GitLab
Retrieve all milestones
- Bitbucket
- GitHub
- GitLab
Retrieve all issues for a given milestone
- Bitbucket
- GitHub
- GitLab
Update existing milestone
- Bitbucket
- GitHub
- GitLab
Delete existing milestone
- Bitbucket
- GitHub
- GitLab
Attach a milestone to an issue
- Bitbucket
- GitHub
- GitLab
Detatch a milestone from an issue
- Bitbucket
- GitHub
- GitLab
Replace a milestone on an issue
- Bitbucket
- GitHub
- GitLab
vim: filetype=markdown shiftwidth=2 tabstop=2