Skip to main content
This page is for Portal admins. The setup steps below require admin access to your Portal instance and your SCM provider.
Fleetshift automates large-scale code changes across your repositories through both agentic and deterministic workflows. You can describe the change you want in natural language for an AI agent to implement, or execute predefined, repeatable transformations for deterministic use cases. Fleetshift applies the changes across your target repositories and opens pull requests for your team to review, making large-scale migrations safe, consistent, and easy to manage. This page covers the base setup that all Fleetshift features depend on. Once complete, continue to Enable AI Shifts to connect an AI provider. You can also run deterministic shifts through OpenRewrite Shifts or npm package Shifts.

Supported features

SCM providers

AI providers and models

Coming soon

Prerequisites

  • A Portal instance with the Fleetshift feature enabled
  • Admin access to your GitHub organization or Azure DevOps project, or the repositories you want to target
  • Permission to update Portal plugin settings

Connect events

Fleetshift relies on webhooks so Portal can track pull request and push activity after agent jobs run. Set this up before your team starts running shifts. Choose your SCM provider below and follow the steps.
We recommend org-level webhooks because new repositories are automatically covered. If your organization does not allow org-level webhooks, you can create the same webhook on each repository that Fleetshift will target.

Create the GitHub webhook

  1. In GitHub, open your organization settings.
  2. Go to Settings > Webhooks > Add webhook.
  3. Fill in the webhook form:
Replace <your-organization> with your Portal subdomain.

Add the webhook secret to Portal

  1. In Portal, go to Plugin Settings > Events Plugin.
  2. Paste the same webhook secret into the github:webhookSecret field.
  3. Save the configuration.
  4. Start the GitHub events module and events plugin if they are not already running.
Plugin Settings page showing the GitHub events module with
github:webhookSecret field

Configure permissions (optional)

Fleetshift includes four permissions that you can assign to roles through your RBAC policy. If you want to control who can create, edit, and run shifts, assign these permissions to the appropriate roles. At minimum, users need fleetshift.shift.trigger to run shifts and fleetshift.shift.create to define new shifts.

Next steps

Enable AI Shifts

Connect an AI provider and enable Claude models so agents can run.

Create and Run a Shift

Define your first shift and run it against target repositories.

Guides

Walkthroughs for Soundcheck remediation, bulk fixes, and AI-assisted workflows.

MCP Actions

Drive Fleetshift from AiKA or any MCP-compatible AI agent.

Troubleshooting

Common errors and how to fix them.

npm Package Shifts

Write a deterministic shift as an npm package and publish it to your Portal registry.

OpenRewrite Shifts

Run OpenRewrite recipes across your fleet for dependency upgrades, type renames, and framework migrations.