Results per page (max 100)
Default:30
Page number of the results to fetch.
Default:1
Lists the merged pull request that introduced the commit to the repository. If the commit is not present in the default branch, additionally returns open pull requests associated with the commit. The results may include open and closed pull requests. Additional preview headers may be required to see certain details for associated pull requests, such as whether a pull request is in a draft state. For more information about previews that might affect this endpoint, see the List pull requests endpoint.
Results per page (max 100)
Default:30
Page number of the results to fetch.
Default:1
commit_sha parameter
Response
Pull Request Simple
Example:https://api.github.com/repos/octocat/Hello-World/pulls/1347
Example:1
Example:MDExOlB1bGxSZXF1ZXN0MQ==
Example:https://github.com/octocat/Hello-World/pull/1347
Example:https://github.com/octocat/Hello-World/pull/1347.diff
Example:https://github.com/octocat/Hello-World/pull/1347.patch
Example:https://api.github.com/repos/octocat/Hello-World/issues/1347
Example:https://api.github.com/repos/octocat/Hello-World/pulls/1347/commits
Example:https://api.github.com/repos/octocat/Hello-World/pulls/1347/comments
Example:https://api.github.com/repos/octocat/Hello-World/pulls/comments{/number}
Example:https://api.github.com/repos/octocat/Hello-World/issues/1347/comments
Example:https://api.github.com/repos/octocat/Hello-World/statuses/6dcb09b5b57875f334f61aebed695e2e4193db5e
Example:1347
Example:open
Example:true
Example:new-feature
Simple User
Example:Please pull these awesome changes
A collection of related issues and pull requests.
Example:too heated
Example:2011-01-26T19:01:12Z
Example:2011-01-26T19:01:12Z
Example:2011-01-26T19:01:12Z
Example:2011-01-26T19:01:12Z
Example:e5bd3914e2e596debea16f433f57875b5b90bcd6
Simple User
Simple User
Simple User
Groups of organization members that gives permissions on specified repositories.
How the author is associated with the repository.
Allowed values:COLLABORATORCONTRIBUTORFIRST_TIMERFIRST_TIME_CONTRIBUTORMANNEQUINMEMBERNONEOWNER
Example:OWNER
Indicates whether or not the pull request is a draft.
Example:false
Returns the contents of a single commit reference. You must have read
access for the repository to use this endpoint.
Note: If there are more than 300 files in the commit diff, the response will include pagination link headers for the remaining files, up to a limit of 3000 files. Each page contains the static commit information, and the only changes are to the file listing.
You can pass the appropriate media type to fetch diff
and patch
formats. Diffs with binary data will have no patch
property.
To return only the SHA-1 hash of the commit reference, you can provide the sha
custom media type in the Accept
header. You can use this endpoint to check if a remote reference’s SHA-1 hash is the same as your local reference’s SHA-1 hash by providing the local SHA-1 reference as the ETag.
Signature verification object
The response will include a verification
object that describes the result of verifying the commit’s signature. The following fields are included in the verification
object:
Name | Type | Description |
---|---|---|
verified |
boolean |
Indicates whether GitHub considers the signature in this commit to be verified. |
reason |
string |
The reason for verified value. Possible values and their meanings are enumerated in table below. |
signature |
string |
The signature that was extracted from the commit. |
payload |
string |
The value that was signed. |
These are the possible values for reason
in the verification
object:
Value | Description |
---|---|
expired_key |
The key that made the signature is expired. |
not_signing_key |
The “signing” flag is not among the usage flags in the GPG key that made the signature. |
gpgverify_error |
There was an error communicating with the signature verification service. |
gpgverify_unavailable |
The signature verification service is currently unavailable. |
unsigned |
The object does not include a signature. |
unknown_signature_type |
A non-PGP signature was found in the commit. |
no_user |
No user was associated with the committer email address in the commit. |
unverified_email |
The committer email address in the commit was associated with a user, but the email address is not verified on her/his account. |
bad_email |
The committer email address in the commit is not included in the identities of the PGP key that made the signature. |
unknown_key |
The key that made the signature has not been registered with any user’s account. |
malformed_signature |
There was an error parsing the signature. |
invalid |
The signature could not be cryptographically verified using the key whose key-id was found in the signature. |
valid |
None of the above errors applied, so the signature is considered to be verified. |
Page number of the results to fetch.
Default:1
Results per page (max 100)
Default:30
ref parameter
Response
Commit
Example:https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e
Example:6dcb09b5b57875f334f61aebed695e2e4193db5e
Example:MDY6Q29tbWl0NmRjYjA5YjViNTc4NzVmMzM0ZjYxYWViZWQ2OTVlMmU0MTkzZGI1ZQ==
Example:https://github.com/octocat/Hello-World/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e
Example:https://api.github.com/repos/octocat/Hello-World/commits/6dcb09b5b57875f334f61aebed695e2e4193db5e/comments
Simple User
Simple User
Diff Entry
Users with pull access in a repository can access a combined view of commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name.
Additionally, a combined state
is returned. The state
is one of:
error
or failure
pending
success
Results per page (max 100)
Default:30
Page number of the results to fetch.
Default:1
ref parameter
Response
Combined Commit Status
Minimal Repository
Users with pull access in a repository can view commit statuses for a given ref. The ref can be a SHA, a branch name, or a tag name. Statuses are returned in reverse chronological order. The first status in the list will be the latest one.
This resource is also available via a legacy route: GET /repos/:owner/:repo/statuses/:ref
.
Results per page (max 100)
Default:30
Page number of the results to fetch.
Default:1
ref parameter
Response
The status of a commit.
Simple User
The basehead
param is comprised of two parts: base
and head
. Both must be branch names in repo
. To compare branches across other repositories in the same network as repo
, use the format <USERNAME>:branch
.
The response from the API is equivalent to running the git log base..head
command; however, commits are returned in chronological order. Pass the appropriate media type to fetch diff and patch formats.
The response also includes details on the files that were changed between the two commits. This includes the status of the change (for example, if a file was added, removed, modified, or renamed), and details of the change itself. For example, files with a renamed
status have a previous_filename
field showing the previous filename of the file, and files with a modified
status have a patch
field showing the changes made to the file.
Working with large comparisons
The response will include a comparison of up to 250 commits. If you are working with a larger commit range, you can use the List commits to enumerate all commits in the range.
For comparisons with extremely large diffs, you may receive an error response indicating that the diff took too long
to generate. You can typically resolve this error by using a smaller commit range.
Signature verification object
The response will include a verification
object that describes the result of verifying the commit’s signature. The following fields are included in the verification
object:
Name | Type | Description |
---|---|---|
verified |
boolean |
Indicates whether GitHub considers the signature in this commit to be verified. |
reason |
string |
The reason for verified value. Possible values and their meanings are enumerated in table below. |
signature |
string |
The signature that was extracted from the commit. |
payload |
string |
The value that was signed. |
These are the possible values for reason
in the verification
object:
Value | Description |
---|---|
expired_key |
The key that made the signature is expired. |
not_signing_key |
The “signing” flag is not among the usage flags in the GPG key that made the signature. |
gpgverify_error |
There was an error communicating with the signature verification service. |
gpgverify_unavailable |
The signature verification service is currently unavailable. |
unsigned |
The object does not include a signature. |
unknown_signature_type |
A non-PGP signature was found in the commit. |
no_user |
No user was associated with the committer email address in the commit. |
unverified_email |
The committer email address in the commit was associated with a user, but the email address is not verified on her/his account. |
bad_email |
The committer email address in the commit is not included in the identities of the PGP key that made the signature. |
unknown_key |
The key that made the signature has not been registered with any user’s account. |
malformed_signature |
There was an error parsing the signature. |
invalid |
The signature could not be cryptographically verified using the key whose key-id was found in the signature. |
valid |
None of the above errors applied, so the signature is considered to be verified. |
The base branch and head branch to compare. This parameter expects the format {base}...{head}
.
Response
Commit Comparison
Example:https://api.github.com/repos/octocat/Hello-World/compare/master...topic
Example:https://github.com/octocat/Hello-World/compare/master...topic
Example:https://github.com/octocat/Hello-World/compare/octocat:bbcd538c8e72b8c175046e27cc8f907076331401...octocat:0328041d1152db8ae77652d1618a02e57f745f17
Example:https://github.com/octocat/Hello-World/compare/master...topic.diff
Example:https://github.com/octocat/Hello-World/compare/master...topic.patch
Commit
Commit
Allowed values:divergedaheadbehindidentical
Example:ahead
Example:4
Example:5
Example:6
Commit
Diff Entry