• 
      

    Add the initial "Connect a service" wizard flow.

    Review Request #15140 — Created June 26, 2026 and updated — Latest diff uploaded

    Information

    Review Board
    release-9.x

    Reviewers

    This adds the first step of the new "Connect a service" flow on the
    Connected Services admin page. Clicking "Connect a service" now opens a
    wizard dialog with a searchable, sectioned list of available hosting
    services ("Popular", "Source Hosting", "Issue Tracking"). Choosing a
    service loads its connect UI as a server-rendered fragment and submits
    the authentication form over AJAX, creating the HostingServiceAccount.

    On the backend, this adds a ConnectServiceView that serves the
    per-service connect fragment (GET) and processes the auth form (POST),
    returning JSON with either a redirect on success or the re-rendered form
    with errors. Authorization, two-factor, and certificate errors are
    caught and surfaced inline, and unexpected errors are logged.

    BaseHostingService now has overridable methods so services can customize
    or replace the connect UI.

    The wizard view also includes back-navigation and deep-link hooks
    (initialConnectURL / data-connect-page) staged for the upcoming
    GitHub App connection flow.

    • Ran unit tests.
    • Used the wizard to connect new hosting service accounts, exercising
      the success case as well as form errors.

    Commits

    Files