Skip to main content

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/repos/{owner}/{repo}/check-runs
Source
github-v3-rest.json
Revision
f5f067c1e6f6
Active snapshot
85e53e3d0d65

Request

Path Parameters
owner string
required
repo string
required
Body Params
required
application/jsonobject
actions array[object]
optional

Displays a button on GitHub that can be clicked to alert your app to do additional tasks. For example, a code linting app can display a button that automatically fixes detected errors. The button created in this object is displayed after the check run completes. When a user clicks the button, GitHub sends the [`check_run.requested_action` webhook](https://docs.github.com/[email protected]/webhooks/event-payloads/#check_run) to your app. Each action includes a `label`, `identifier` and `description`. A maximum of three actions are accepted. See the [`actions` object](https://docs.github.com/[email protected]/rest/reference/checks#actions-object) description. To learn more about check runs and requested actions, see "[Check runs and requested actions](https://docs.github.com/[email protected]/rest/reference/checks#check-runs-and-requested-actions)."

items object
description string
required

A short explanation of what this action would do. The maximum size is 40 characters.

identifier string
required

A reference for the action on the integrator's system. The maximum size is 20 characters.

label string
required

The text to be displayed on a button in the web UI. The maximum size is 20 characters.

completed_at string<date-time>
optional

The time the check completed. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.

conclusion string
optional

**Required if you provide `completed_at` or a `status` of `completed`**. The final conclusion of the check. Can be one of `action_required`, `cancelled`, `failure`, `neutral`, `success`, `skipped`, `stale`, or `timed_out`. When the conclusion is `action_required`, additional details should be provided on the site specified by `details_url`. **Note:** Providing `conclusion` will automatically set the `status` parameter to `completed`. You cannot change a check run conclusion to `stale`, only GitHub can set this.

details_url string
optional

The URL of the integrator's site that has the full details of the check. If the integrator does not provide this, then the homepage of the GitHub app is used.

external_id string
optional

A reference for the run on the integrator's system.

head_sha string
required

The SHA of the commit.

name string
required

The name of the check. For example, "code-coverage".

output object
optional

Check runs can accept a variety of data in the `output` object, including a `title` and `summary` and can optionally provide descriptive details about the run. See the [`output` object](https://docs.github.com/[email protected]/rest/reference/checks#output-object) description.

annotations array[object]
optional

Adds information from your analysis to specific lines of code. Annotations are visible on GitHub in the **Checks** and **Files changed** tab of the pull request. The Checks API limits the number of annotations to a maximum of 50 per API request. To create more than 50 annotations, you have to make multiple requests to the [Update a check run](https://docs.github.com/[email protected]/rest/reference/checks#update-a-check-run) endpoint. Each time you update the check run, annotations are appended to the list of annotations that already exist for the check run. For details about how you can view annotations on GitHub, see "[About status checks](https://docs.github.com/articles/about-status-checks#checks)". See the [`annotations` object](https://docs.github.com/[email protected]/rest/reference/checks#annotations-object) description for details about how to use this parameter.

items object
annotation_level string
required

The level of the annotation. Can be one of `notice`, `warning`, or `failure`.

end_column integer
optional

The end column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values.

end_line integer
required

The end line of the annotation.

message string
required

A short description of the feedback for these lines of code. The maximum size is 64 KB.

path string
required

The path of the file to add an annotation to. For example, `assets/css/main.css`.

raw_details string
optional

Details about this annotation. The maximum size is 64 KB.

start_column integer
optional

The start column of the annotation. Annotations only support `start_column` and `end_column` on the same line. Omit this parameter if `start_line` and `end_line` have different values.

start_line integer
required

The start line of the annotation.

title string
optional

The title that represents the annotation. The maximum size is 255 characters.

images array[object]
optional

Adds images to the output displayed in the GitHub pull request UI. See the [`images` object](https://docs.github.com/[email protected]/rest/reference/checks#images-object) description for details.

items object
alt string
required

The alternative text for the image.

caption string
optional

A short image description.

image_url string
required

The full URL of the image.

summary string
required

The summary of the check run. This parameter supports Markdown.

text string
optional

The details of the check run. This parameter supports Markdown.

title string
required

The title of the check run.

started_at string<date-time>
optional

The time that the check run began. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.

status string
optional

The current status. Can be one of `queued`, `in_progress`, or `completed`.

Responses

application/json CheckRun object

Response

app GitHub app object
requirednullable

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.

client_id string
optional

Example: "Iv1.25b5d1e65ffc4022"

client_secret string
optional

Example: "1d4b2097ac622ba702d19de498f005747a8b21d3"

created_at string<date-time>
required

Example: 2017-07-08T16:18:44-04:00

description string
requirednullable

Example: The description of the app.

events array[string]
required

The list of events for the GitHub app

Example:
[
  "label",
  "deployment"
]
external_url string<uri>
required

Example: https://example.com

html_url string<uri>
required

Example: https://github.com/apps/super-ci

id integer
required

Unique identifier of the GitHub app

Example: 37

installations_count integer
optional

The number of installations associated with the GitHub app

Example: 5

name string
required

The name of the GitHub app

Example: Probot Owners

node_id string
required

Example: MDExOkludGVncmF0aW9uMQ==

owner Simple User object
requirednullable

Simple User

avatar_url string<uri>
required

Example: https://github.com/images/error/octocat_happy.gif

email string
optionalnullable
events_url string
required

Example: https://api.github.com/users/octocat/events{/privacy}

followers_url string<uri>
required

Example: https://api.github.com/users/octocat/followers

following_url string
required

Example: https://api.github.com/users/octocat/following{/other_user}

gists_url string
required

Example: https://api.github.com/users/octocat/gists{/gist_id}

gravatar_id string
requirednullable

Example: 41d064eb2195891e12d0413f63227ea7

html_url string<uri>
required

Example: https://github.com/octocat

id integer
required

Example: 1

login string
required

Example: octocat

name string
optionalnullable
node_id string
required

Example: MDQ6VXNlcjE=

organizations_url string<uri>
required

Example: https://api.github.com/users/octocat/orgs

received_events_url string<uri>
required

Example: https://api.github.com/users/octocat/received_events

repos_url string<uri>
required

Example: https://api.github.com/users/octocat/repos

site_admin boolean
required
starred_at string
optional

Example: "2020-07-09T00:17:55Z"

starred_url string
required

Example: https://api.github.com/users/octocat/starred{/owner}{/repo}

subscriptions_url string<uri>
required

Example: https://api.github.com/users/octocat/subscriptions

type string
required

Example: User

url string<uri>
required

Example: https://api.github.com/users/octocat

pem string
optional
Example:
"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n"
permissions object
required

The set of permissions for the GitHub app

Example:
{
  "deployments": "write",
  "issues": "read"
}
checks string
optional
contents string
optional
deployments string
optional
issues string
optional
metadata string
optional
slug string
optional

The slug name of the GitHub app

Example: probot-owners

updated_at string<date-time>
required

Example: 2017-07-08T16:18:44-04:00

webhook_secret string
optionalnullable

Example: "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b"

check_suite object
requirednullable
id integer
required
completed_at string<date-time>
requirednullable

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

conclusion string
requirednullable

Example: neutral

deployment Deployment object
optional

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

created_at string<date-time>
required

Example: 2012-07-20T01:19:13Z

description string
requirednullable

Example: Deploy request from hubot

environment string
required

Name for the target deployment environment.

Example: production

id integer
required

Unique identifier of the deployment

Example: 42

node_id string
required

Example: MDEwOkRlcGxveW1lbnQx

original_environment string
optional

Example: staging

performed_via_github_app GitHub app object
optionalnullable

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.

client_id string
optional

Example: "Iv1.25b5d1e65ffc4022"

client_secret string
optional

Example: "1d4b2097ac622ba702d19de498f005747a8b21d3"

created_at string<date-time>
required

Example: 2017-07-08T16:18:44-04:00

description string
requirednullable

Example: The description of the app.

events array[string]
required

The list of events for the GitHub app

Example:
[
  "label",
  "deployment"
]
external_url string<uri>
required

Example: https://example.com

html_url string<uri>
required

Example: https://github.com/apps/super-ci

id integer
required

Unique identifier of the GitHub app

Example: 37

installations_count integer
optional

The number of installations associated with the GitHub app

Example: 5

name string
required

The name of the GitHub app

Example: Probot Owners

node_id string
required

Example: MDExOkludGVncmF0aW9uMQ==

owner Simple User object
requirednullable

Simple User

avatar_url string<uri>
required

Example: https://github.com/images/error/octocat_happy.gif

email string
optionalnullable
events_url string
required

Example: https://api.github.com/users/octocat/events{/privacy}

followers_url string<uri>
required

Example: https://api.github.com/users/octocat/followers

following_url string
required

Example: https://api.github.com/users/octocat/following{/other_user}

gists_url string
required

Example: https://api.github.com/users/octocat/gists{/gist_id}

gravatar_id string
requirednullable

Example: 41d064eb2195891e12d0413f63227ea7

html_url string<uri>
required

Example: https://github.com/octocat

id integer
required

Example: 1

login string
required

Example: octocat

name string
optionalnullable
node_id string
required

Example: MDQ6VXNlcjE=

organizations_url string<uri>
required

Example: https://api.github.com/users/octocat/orgs

received_events_url string<uri>
required

Example: https://api.github.com/users/octocat/received_events

repos_url string<uri>
required

Example: https://api.github.com/users/octocat/repos

site_admin boolean
required
starred_at string
optional

Example: "2020-07-09T00:17:55Z"

starred_url string
required

Example: https://api.github.com/users/octocat/starred{/owner}{/repo}

subscriptions_url string<uri>
required

Example: https://api.github.com/users/octocat/subscriptions

type string
required

Example: User

url string<uri>
required

Example: https://api.github.com/users/octocat

pem string
optional
Example:
"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n"
permissions object
required

The set of permissions for the GitHub app

Example:
{
  "deployments": "write",
  "issues": "read"
}
checks string
optional
contents string
optional
deployments string
optional
issues string
optional
metadata string
optional
slug string
optional

The slug name of the GitHub app

Example: probot-owners

updated_at string<date-time>
required

Example: 2017-07-08T16:18:44-04:00

webhook_secret string
optionalnullable

Example: "6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b"

production_environment boolean
optional

Specifies if the given environment is one that end-users directly interact with. Default: false.

Example: true

repository_url string<uri>
required

Example: https://api.github.com/repos/octocat/example

statuses_url string<uri>
required

Example: https://api.github.com/repos/octocat/example/deployments/1/statuses

task string
required

Parameter to specify a task to execute

Example: deploy

transient_environment boolean
optional

Specifies if the given environment is will no longer exist at some point in the future. Default: false.

Example: true

updated_at string<date-time>
required

Example: 2012-07-20T01:19:13Z

url string<uri>
required

Example: https://api.github.com/repos/octocat/example/deployments/1

details_url string
requirednullable

Example: https://example.com

external_id string
requirednullable

Example: 42

head_sha string
required

The SHA of the commit that is being checked.

Example: 009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d

html_url string
requirednullable

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

id integer
required

The id of the check.

Example: 21

name string
required

The name of the check.

Example: test-coverage

node_id string
required

Example: MDg6Q2hlY2tSdW40

output object
required
annotations_count integer
required
annotations_url string<uri>
required
summary string
requirednullable
text string
requirednullable
title string
requirednullable
pull_requests array[Pull Request Minimal object]
required
items Pull Request Minimal object
base object
required
ref string
required
repo object
required
sha string
required
head object
required
ref string
required
repo object
required
sha string
required
id integer
required
number integer
required
url string
required
started_at string<date-time>
requirednullable

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

status string
required

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

Example: queued

url string
required

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