• 
      

    Add a base class and registry for GitHub App webhook handlers.

    Review Request #15334 — Created Sept. 24, 2026 and updated — Latest diff uploaded

    Information

    Review Board
    release-9.x

    Reviewers

    A GitHub App has a single, app-wide webhook URL that receives events from
    every account the app is installed on. We have the GitHubAppWebhookView for
    this, which currently only handles app installation events. We should have an
    easy way for us and extension authors to handle GitHub webhook events too.

    This change introduces the BaseGitHubAppWebhookHandler, which can be
    subclassed to list the events the handler supports and the required GitHub App
    permissions. Events will be passed to handlers as a GitHubAppWebhookEvent,
    containing the event's raw payload, delivery ID, and the account(s) and
    repository it may apply to. The actual dispatching to handlers will come in
    a later change.

    This also adds a registry for the handlers. The registry has a helper for
    merging all the events and required pemissions of the registered handlers,
    so that they can all be shown and requested when creating a GitHub App. The
    hook for registering handlers will come in a later change.

    • Ran unit tests.
    • Used in the Pull Request integration work.

    Commits

    Files