GitHub v3 REST API

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

Update 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.

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

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

Path Parameters

ownerstringrequired
repostringrequired
check_run_idintegerrequired

check_run_id parameter

Body

application/json
Any Of
status

Allowed values:completed

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
patch/repos/{owner}/{repo}/check-runs/{check_run_id}

Body

{ "name": "mighty_readme", "started_at": "2018-05-04T01:14:52Z", "status": "completed", "conclusion": "success", "completed_at": "2018-05-04T01:14:52Z", "output": { "title": "Mighty Readme report", "summary": "There are 0 failures, 2 warnings, and 1 notices.", "text": "You may have some misspelled words on lines 2 and 4. You also may want to add a section in your README about how to install your app.", "annotations": [ { "path": "README.md", "annotation_level": "warning", "title": "Spell Checker", "message": "Check your spelling for 'banaas'.", "raw_details": "Do you mean 'bananas' or 'banana'?", "start_line": 2, "end_line": 2 }, { "path": "README.md", "annotation_level": "warning", "title": "Spell Checker", "message": "Check your spelling for 'aples'", "raw_details": "Do you mean 'apples' or 'Naples'", "start_line": 4, "end_line": 4 } ], "images": [ { "alt": "Super bananas", "image_url": "http://example.com/images/42" } ] } }
 
200 application/json

List check run annotations

Lists annotations for a check run using the annotation id. GitHub Apps must have the checks:read permission on a private repository or pull access to a public repository to get annotations for a check run. OAuth Apps and authenticated users must have the repo scope to get annotations for a check run in a private repository.

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

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
check_run_idintegerrequired

check_run_id parameter

Response

200 application/json

Response

Check Annotation

pathstringrequired

Example:README.md

start_lineintegerrequired

Example:2

end_lineintegerrequired

Example:2

start_columninteger | nullrequired

Example:5

end_columninteger | nullrequired

Example:10

annotation_levelstring | nullrequired

Example:warning

titlestring | nullrequired

Example:Spell Checker

messagestring | nullrequired

Example:Check your spelling for 'banaas'.

raw_detailsstring | nullrequired

Example:Do you mean 'bananas' or 'banana'?

blob_hrefstringrequired
get/repos/{owner}/{repo}/check-runs/{check_run_id}/annotations
 
200 application/json

Create a check suite

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 and a null value for head_branch.

By default, check suites are automatically created when you create a check run. You only need to use this endpoint for manually creating check suites when you’ve disabled automatic creation using “Update repository preferences for check suites”. Your GitHub App must have the checks:write permission to create check suites.

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

Path Parameters

ownerstringrequired
repostringrequired

Body

application/json
head_shastringrequired

The sha of the head commit.

Response

application/json

when the suite already existed

CheckSuite

A suite of checks performed on the code of a given code change

idintegerrequired

Example:5

node_idstringrequired

Example:MDEwOkNoZWNrU3VpdGU1

head_branchstring | nullrequired

Example:master

head_shastringrequired

The SHA of the head commit that is being checked.

Example:009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d

statusstring | nullrequired

Allowed values:queuedin_progresscompleted

Example:completed

conclusionstring | nullrequired

Allowed values:successfailureneutralcancelledskippedtimed_outaction_required

Example:neutral

urlstring | nullrequired

Example:https://api.github.com/repos/github/hello-world/check-suites/5

beforestring | nullrequired

Example:146e867f55c26428e5f9fade55a9bbf5e95a7912

afterstring | nullrequired

Example:d6fde92930d4715a2b49857d24b940956b26d2d3

pull_requestsarray | null[object]required
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
repositoryobjectrequired

Minimal Repository

Show Child Parameters
created_atstring | null(date-time)required
updated_atstring | null(date-time)required
head_commitobjectrequired

Simple Commit

Show Child Parameters
latest_check_runs_countintegerrequired
check_runs_urlstringrequired
rerequestableboolean
runs_rerequestableboolean
post/repos/{owner}/{repo}/check-suites

Body

{ "head_sha": "d6fde92930d4715a2b49857d24b940956b26d2d3" }
 
application/json

Update repository preferences for check suites

Changes the default automatic flow when creating check suites. By default, a check suite is automatically created each time code is pushed to a repository. When you disable the automatic creation of check suites, you can manually Create a check suite. You must have admin permissions in the repository to set preferences for check suites.

patch
{protocol}://{hostname}/api/v3/repos/{owner}/{repo}/check-suites/preferences

Path Parameters

ownerstringrequired
repostringrequired

Body

application/json
auto_trigger_checksarray[object]

Enables or disables automatic creation of CheckSuite events upon pushes to the repository. Enabled by default. See the auto_trigger_checks object description for details.

Show Child Parameters

Response

200 application/json

Response

Check Suite Preference

Check suite configuration preferences for a repository.

preferencesobjectrequired
Show Child Parameters
repositoryobjectrequired

Minimal Repository

Show Child Parameters
patch/repos/{owner}/{repo}/check-suites/preferences

Body

{ "auto_trigger_checks": [ { "app_id": 4, "setting": false } ] }
 
200 application/json