GitHub v3 REST API

checks

Rich interactions with checks run by your integrations.

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
http://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
http://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
http://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
http://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