GitHub v3 REST API

Create a commit status

Users with push access in a repository can create commit statuses for a given SHA.

Note: there is a limit of 1000 statuses per sha and context within a repository. Attempts to create more than 1000 statuses will result in a validation error.

post
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/statuses/{sha}

Path Parameters

ownerstringrequired
repostringrequired
shastringrequired

Body

application/json
statestringrequired

The state of the status. Can be one of error, failure, pending, or success.

Allowed values:errorfailurependingsuccess

target_urlstring

The target URL to associate with this status. This URL will be linked from the GitHub UI to allow users to easily see the source of the status.
For example, if your continuous integration system is posting build status, you would want to provide the deep link for the build output for this specific SHA:
http://ci.example.com/user/repo/build/sha

descriptionstring

A short description of the status.

contextstring

A string label to differentiate this status from the status of other systems. This field is case-insensitive.

Default:default

Response

201 application/json

Response

Status

The status of a commit.

urlstringrequired
avatar_urlstring | nullrequired
idintegerrequired
node_idstringrequired
statestringrequired
descriptionstringrequired
target_urlstringrequired
contextstringrequired
created_atstringrequired
updated_atstringrequired
creatorobject | nullrequired

Simple User

Show Child Parameters
post/repos/{owner}/{repo}/statuses/{sha}

Body

{ "state": "success", "target_url": "https://example.com/build/status", "description": "The build succeeded!", "context": "continuous-integration/jenkins" }
 
201 application/json

List repository tags

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/tags

Query Parameters

per_pageinteger

Results per page (max 100)

Default:30

pageinteger

Page number of the results to fetch.

Default:1

Path Parameters

ownerstringrequired
repostringrequired

Response

200 application/json

Response

Tag

namestringrequired

Example:v0.1

commitobjectrequired
Show Child Parameters
zipball_urlstring(uri)required

Example:https://github.com/octocat/Hello-World/zipball/v0.1

tarball_urlstring(uri)required

Example:https://github.com/octocat/Hello-World/tarball/v0.1

node_idstringrequired
get/repos/{owner}/{repo}/tags
 
200 application/json

Download a repository archive (tar)

Gets a redirect URL to download a tar archive for a repository. If you omit :ref, the repository’s default branch (usually
master) will be used. Please make sure your HTTP framework is configured to follow redirects or you will need to use
the Location header to make a second GET request.
Note: For private repositories, these links are temporary and expire after five minutes.

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/tarball/{ref}

Path Parameters

ownerstringrequired
repostringrequired
refstringrequired

Response

302

Response

get/repos/{owner}/{repo}/tarball/{ref}
 
302

List repository teams

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/teams

Query Parameters

per_pageinteger

Results per page (max 100)

Default:30

pageinteger

Page number of the results to fetch.

Default:1

Path Parameters

ownerstringrequired
repostringrequired

Response

200 application/json

Response

Groups of organization members that gives permissions on specified repositories.

idintegerrequired
node_idstringrequired
namestringrequired
slugstringrequired
descriptionstring | nullrequired
privacystring
permissionstringrequired
permissionsobject
Show Child Parameters
urlstring(uri)required
html_urlstring(uri)required

Example:https://github.com/orgs/rails/teams/core

members_urlstringrequired
repositories_urlstring(uri)required
parentobject | nullrequired

Groups of organization members that gives permissions on specified repositories.

Show Child Parameters
get/repos/{owner}/{repo}/teams
 
200 application/json

Get all repository topics

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/topics

Query Parameters

pageinteger

Page number of the results to fetch.

Default:1

per_pageinteger

Results per page (max 100)

Default:30

Path Parameters

ownerstringrequired
repostringrequired

Response

application/json

Response

Topic

A topic aggregates entities that are related to a subject.

namesarray[string]required
get/repos/{owner}/{repo}/topics
 
application/json