What is GitHub Hookshot?
GitHub Hookshot is the delivery client behind GitHub webhooks. When a webhook subscribes to an event such as push or pull_request, GitHub sends an HTTP POST to its configured payload URL. X-GitHub-Event names the event, while the GUID in X-GitHub-Delivery identifies that delivery. The user agent always starts with GitHub-Hookshot/.
A webhook configured with a secret receives an X-Hub-Signature-256 header. GitHub calculates this value as an HMAC-SHA256 digest of the request body and prefixes it with sha256=. The receiver should calculate the digest from the unchanged body and compare the two values with a constant-time function. A matching user agent by itself does not authenticate the sender.
GitHub expects a 2xx response within 10 seconds. It closes a slower connection and marks that delivery as failed. Failed deliveries are not retried automatically, though an administrator or integration can request a redelivery through GitHub's interface or REST API. A requested redelivery keeps the original X-GitHub-Delivery value, so the receiver can avoid repeating work.
Hookshot does not browse public pages, build a search index, or collect a training corpus. It calls the one payload URL saved in a webhook configuration after a subscribed GitHub event occurs. A robots.txt file has no part in that exchange and cannot permit or stop delivery.
