GitHub v3 REST API

Add a repository to an app installation

Add a single repository to an installation. The authenticated user must have admin access to the repository.

You must use a personal access token (which you can create via the command line or Basic Authentication) to access this endpoint.

put
{protocol}://{hostname}/api/v3/user/installations/{installation_id}/repositories/{repository_id}

Path Parameters

installation_idintegerrequired

installation_id parameter

repository_idintegerrequired

Response

Response

put/user/installations/{installation_id}/repositories/{repository_id}
 

Remove a repository from an app installation

Remove a single repository from an installation. The authenticated user must have admin access to the repository.

You must use a personal access token (which you can create via the command line or Basic Authentication) to access this endpoint.

delete
{protocol}://{hostname}/api/v3/user/installations/{installation_id}/repositories/{repository_id}

Path Parameters

installation_idintegerrequired

installation_id parameter

repository_idintegerrequired

Response

Response

delete/user/installations/{installation_id}/repositories/{repository_id}
 

Get a user installation for the authenticated app

Enables an authenticated GitHub App to find the user’s installation information.

You must use a JWT to access this endpoint.

get
{protocol}://{hostname}/api/v3/users/{username}/installation

Path Parameters

usernamestringrequired

Response

200 application/json

Response

Installation

Installation

idintegerrequired

The ID of the installation.

Example:1

accountAny Of
required
Simple Userobject

Simple User

Show Child Parameters
repository_selectionstringrequired

Describe whether all repositories have been selected or there’s a selection involved

Allowed values:allselected

access_tokens_urlstring(uri)required

Example:https://api.github.com/installations/1/access_tokens

repositories_urlstring(uri)required

Example:https://api.github.com/installation/repositories

html_urlstring(uri)required

Example:https://github.com/organizations/github/settings/installations/1

app_idintegerrequired

Example:1

target_idintegerrequired

The ID of the user or organization this token is being scoped to.

target_typestringrequired

Example:Organization

permissionsobjectrequired

The permissions granted to the user-to-server access token.

Example:{"contents":"read","issues":"read","deployments":"write","single_file":"read"}

Show Child Parameters
eventsarray[string]required
created_atstring(date-time)required
updated_atstring(date-time)required
single_file_namestring | nullrequired

Example:config.yaml

has_multiple_single_filesboolean

Example:true

single_file_pathsarray[string]

Example:["config.yml",".github/issue_TEMPLATE.md"]

app_slugstringrequired

Example:github-actions

suspended_byobject | nullrequired

Simple User

Show Child Parameters
suspended_atstring | null(date-time)required
contact_emailstring | null

Example:"test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com"

get/users/{username}/installation
 
200 application/json

Create a check run

Note: The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

Creates a new check run for a specific commit in a repository. Your GitHub App must have the checks:write permission to create check runs.

In a check suite, GitHub limits the number of check runs with the same name to 1000. Once these check runs exceed 1000, GitHub will start to automatically delete older check runs.

post
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/check-runs

Path Parameters

ownerstringrequired
repostringrequired

Body

application/json
One Of
statusrequired

Allowed values:completed

Response

201 application/json

Response

CheckRun

A check performed on the code of a given code change

idintegerrequired

The id of the check.

Example:21

head_shastringrequired

The SHA of the commit that is being checked.

Example:009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d

node_idstringrequired

Example:MDg6Q2hlY2tSdW40

external_idstring | nullrequired

Example:42

urlstringrequired

Example:https://api.github.com/repos/github/hello-world/check-runs/4

html_urlstring | nullrequired

Example:https://github.com/github/hello-world/runs/4

details_urlstring | nullrequired

Example:https://example.com

statusstringrequired

The phase of the lifecycle that the check is currently in.

Allowed values:queuedin_progresscompleted

Example:queued

conclusionstring | nullrequired

Allowed values:successfailureneutralcancelledskippedtimed_outaction_required

Example:neutral

started_atstring | null(date-time)required

Example:2018-05-04T01:14:52Z

completed_atstring | null(date-time)required

Example:2018-05-04T01:14:52Z

outputobjectrequired
Show Child Parameters
namestringrequired

The name of the check.

Example:test-coverage

check_suiteobject | nullrequired
Show Child Parameters
appobject | nullrequired

GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.

Show Child Parameters
pull_requestsarray[object]required
Show Child Parameters
deploymentobject

A deployment created as the result of an Actions check run from a workflow that references an environment

Show Child Parameters
post/repos/{owner}/{repo}/check-runs

Body

{ "name": "mighty_readme", "head_sha": "ce587453ced02b1526dfb4cb910479d431683101", "status": "in_progress", "external_id": "42", "started_at": "2018-05-04T01:14:52Z", "output": { "title": "Mighty Readme report", "summary": "", "text": "" } }
 
201 application/json

Get a check run

Note: The Checks API only looks for pushes in the repository where the check suite or check run were created. Pushes to a branch in a forked repository are not detected and return an empty pull_requests array.

Gets a single check run using its id. GitHub Apps must have the checks:read permission on a private repository or pull access to a public repository to get check runs. OAuth Apps and authenticated users must have the repo scope to get check runs in a private repository.

get
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/check-runs/{check_run_id}

Path Parameters

ownerstringrequired
repostringrequired
check_run_idintegerrequired

check_run_id parameter

Response

200 application/json

Response

CheckRun

A check performed on the code of a given code change

idintegerrequired

The id of the check.

Example:21

head_shastringrequired

The SHA of the commit that is being checked.

Example:009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d

node_idstringrequired

Example:MDg6Q2hlY2tSdW40

external_idstring | nullrequired

Example:42

urlstringrequired

Example:https://api.github.com/repos/github/hello-world/check-runs/4

html_urlstring | nullrequired

Example:https://github.com/github/hello-world/runs/4

details_urlstring | nullrequired

Example:https://example.com

statusstringrequired

The phase of the lifecycle that the check is currently in.

Allowed values:queuedin_progresscompleted

Example:queued

conclusionstring | nullrequired

Allowed values:successfailureneutralcancelledskippedtimed_outaction_required

Example:neutral

started_atstring | null(date-time)required

Example:2018-05-04T01:14:52Z

completed_atstring | null(date-time)required

Example:2018-05-04T01:14:52Z

outputobjectrequired
Show Child Parameters
namestringrequired

The name of the check.

Example:test-coverage

check_suiteobject | nullrequired
Show Child Parameters
appobject | nullrequired

GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.

Show Child Parameters
pull_requestsarray[object]required
Show Child Parameters
deploymentobject

A deployment created as the result of an Actions check run from a workflow that references an environment

Show Child Parameters
get/repos/{owner}/{repo}/check-runs/{check_run_id}
 
200 application/json