Skip to content

GitHub integration

Cloudflare supports connecting your GitHub repository to your Cloudflare Worker, and will automatically deploy your code every time you push a change to a selected branch.

Features

Beyond automatic builds and deployments, the Cloudflare GitHub integration lets you monitor builds directly in GitHub, keeping you informed without leaving your workflow.

Check run

If you have one or multiple Workers connected to a repository (i.e. a monorepo), you can check on the status of each build within GitHub via GitHub check runs.

You can see the checks by selecting on the status icon next to a commit within your GitHub repository. In the example below, you can select the green check mark to see the results of the check run.

GitHub status

Check runs will appear like the following in your repository. You can select Details to view the build (Build ID) and project (Script) associated with each check.

GitHub check runs

Note that when using build watch paths, only projects that trigger a build will generate a check run.

Manage access

You can deploy projects to Cloudflare Workers from your company or side project on GitHub using the Cloudflare Workers & Pages GitHub App.

Organizational access

When authorizing Cloudflare Workers to access a GitHub account, you can specify access to your individual account or an organization that you belong to on GitHub.

To add Cloudflare Workers installation to an organization, your user account must be an owner or have the appropriate role within the organization (i.e. the GitHub Apps Manager role). More information on these roles can be seen on GitHub's documentation.

Remove access

You can remove Cloudflare Workers' access to your GitHub repository or account by going to the Applications page on GitHub (if you are in an organization, select Switch settings context to access your GitHub organization settings). The GitHub App is named Cloudflare Workers and Pages, and it is shared between Workers and Pages projects.

Remove Cloudflare access to a GitHub repository

To remove access to an individual GitHub repository, you can navigate to Repository access. Select the Only select repositories option, and configure which repositories you would like Cloudflare to have access to.

GitHub Repository Access

Remove Cloudflare access to the entire GitHub account

To remove Cloudflare Workers and Pages access to your entire Git account, you can navigate to Uninstall "Cloudflare Workers and Pages", then select Uninstall. Removing access to the Cloudflare Workers and Pages app will revoke Cloudflare's access to all repositories from that GitHub account. If you want to only disable automatic builds and deployments, follow the Disable Build instructions.

Note that removing access to GitHub will disable new builds for Workers and Pages project that were connected to those repositories, though your previous deployments will continue to be hosted by Cloudflare Workers.

Reinstall the Cloudflare GitHub App

When encountering Git integration related issues, one potential troubleshooting step is attempting to uninstall and reinstall the GitHub or GitLab application associated with the Cloudflare Pages installation. The process for each Git provider is provided below.

  1. Go to the installation settings page on GitHub:
    • Navigate to Settings > Builds for the Workers or Pages project and select Manage under Git Repository.
    • Alternatively, visit these links to find the Cloudflare Workers and Pages installation and select Configure:
Individualhttps://github.com/settings/installations
Organizationhttps://github.com/organizations/<YOUR_ORGANIZATION_NAME>/settings/installations
  1. In the Cloudflare Workers and Pages GitHub App settings page, navigate to Uninstall "Cloudflare Workers and Pages" and select Uninstall.
  2. Go back to the Workers & Pages overview page. Select Create application > Pages > Connect to Git.
  3. Select the + Add account button, select the GitHub account you want to add, and then select Install & Authorize.
  4. You should be redirected to the create project page with your GitHub account or organization in the account list.
  5. Attempt to make a new deployment with your project which was previously broken.