Create a commit
POST
/repos/{owner}/{repo}/git/commits
git
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. |
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. |
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.github.com/repos///git/commits' \
--header 'Content-Type: application/json' \
--data-raw '{
"author": {
"date": "2008-07-09T16:13:30+12:00",
"email": "octocat@github.com",
"name": "Mona Octocat"
},
"message": "my commit message",
"parents": [
"7d1b31e74ee336d15cbd21741bc88a537ed063a0"
],
"signature": "-----BEGIN PGP SIGNATURE-----\n\niQIzBAABAQAdFiEESn/54jMNIrGSE6Tp6cQjvhfv7nAFAlnT71cACgkQ6cQjvhfv\n7nCWwA//XVqBKWO0zF+bZl6pggvky3Oc2j1pNFuRWZ29LXpNuD5WUGXGG209B0hI\nDkmcGk19ZKUTnEUJV2Xd0R7AW01S/YSub7OYcgBkI7qUE13FVHN5ln1KvH2all2n\n2+JCV1HcJLEoTjqIFZSSu/sMdhkLQ9/NsmMAzpf/iIM0nQOyU4YRex9eD1bYj6nA\nOQPIDdAuaTQj1gFPHYLzM4zJnCqGdRlg0sOM/zC5apBNzIwlgREatOYQSCfCKV7k\nnrU34X8b9BzQaUx48Qa+Dmfn5KQ8dl27RNeWAqlkuWyv3pUauH9UeYW+KyuJeMkU\n+NyHgAsWFaCFl23kCHThbLStMZOYEnGagrd0hnm1TPS4GJkV4wfYMwnI4KuSlHKB\njHl3Js9vNzEUQipQJbgCgTiWvRJoK3ENwBTMVkKHaqT4x9U4Jk/XZB6Q8MA09ezJ\n3QgiTjTAGcum9E9QiJqMYdWQPWkaBIRRz5cET6HPB48YNXAAUsfmuYsGrnVLYbG+\nUpC6I97VybYHTy2O9XSGoaLeMI9CsFn38ycAxxbWagk5mhclNTP5mezIq6wKSwmr\nX11FW3n1J23fWZn5HJMBsRnUCgzqzX3871IqLYHqRJ/bpZ4h20RhTyPj5c/z7QXp\neSakNQMfbbMcljkha+ZMuVQX1K9aRlVqbmv3ZMWh+OijLYVU2bc=\n=5Io4\n-----END PGP SIGNATURE-----\n",
"tree": "827efc6d56897b048c772eb4087f854f46256132"
}'
响应示例响应示例
201 - 示例 1
{
"author": {
"date": "2014-08-09T08:02:04+12:00",
"email": "monalisa.octocat@example.com",
"name": "Monalisa Octocat"
},
"committer": {
"date": "2014-08-09T08:02:04+12:00",
"email": "monalisa.octocat@example.com",
"name": "Monalisa Octocat"
},
"html_url": "http://example.com",
"message": "Fix #42",
"node_id": "string",
"parents": [
{
"html_url": "http://example.com",
"sha": "7638417db6d59f3c431d3e1f261cc637155684cd",
"url": "http://example.com"
}
],
"sha": "7638417db6d59f3c431d3e1f261cc637155684cd",
"tree": {
"sha": "7638417db6d59f3c431d3e1f261cc637155684cd",
"url": "http://example.com"
},
"url": "http://example.com",
"verification": {
"payload": "string",
"reason": "string",
"signature": "string",
"verified": true
}
}
请求参数
Path 参数
owner
string
必需
repo
string
必需
Body 参数application/json