Integrations

GitHub Integration

Connect a GitHub repository to a Skytells project using OAuth to enable automatic deployments, CI/CD workflows, branch-based releases, and webhook-driven pipelines.

The GitHub integration is the recommended way to connect source control to a Skytells project when your code is hosted on GitHub. It uses GitHub's OAuth flow for authorization, supports webhook-based auto-deployments, and provides a rich repository browsing experience directly in the Console.

What the GitHub Integration Enables

Automatic Deployments

Every push to a tracked branch triggers a new deployment automatically. No manual redeploy button — your CI/CD pipeline starts the moment code lands on the branch.

Branch-Based Deployment Strategies

Configure each app to track a specific branch. Use main for production, develop for staging, and feature branches for isolated preview environments.

Webhook Management

Skytells registers a webhook with your GitHub repository automatically. You do not need to configure webhooks manually. Push events flow from GitHub to Skytells without additional setup.

Repository Browsing

Browse your GitHub organizations and repositories from inside the Console when configuring an app. No need to copy-paste repository URLs or SSH keys.

How OAuth Authorization Works

The GitHub integration uses OAuth — the same standard authorization flow used by every major developer tool that connects to GitHub. Here is what happens when you enable it:

Select GitHub integration Redirect to GitHub OAuth Request permission grant Authorize Skytells access Return OAuth token Store token, mark integration active Repository selector unlocked Developer Skytells Console GitHub

Skytells requests only the permissions it needs:

  • Read access to repository contents (for builds).
  • Webhook management on repositories you connect (for push-triggered deployments).
  • Repository list access to display repos in the Console browser.

Skytells does not request write access to your code and does not push back to your repository.

Connecting GitHub to a Project

Open Project Integrations

Open the project in the Console and navigate to Project > Integrations.

Select the GitHub Integration

Select the GitHub integration.

Authorize with GitHub

Select Authorize with GitHub. You are redirected to GitHub.

Grant Permissions

Review the requested permissions and select Authorize. You are returned to the Skytells Console automatically.

Integration Active

GitHub is now connected to the project. You can browse your repositories when creating or reconfiguring apps.

If your repository is inside a GitHub organization, you may need to grant Skytells access to that organization during the OAuth flow. Look for the organization access section on the GitHub authorization screen.

Configuring Auto-Deployments on an App

Once GitHub is connected at the project level, configure each app independently:

Open the App's Deployment Settings

Open the app from Project > Apps and navigate to the app's Deployment settings.

Select the GitHub Integration as Source

Select the connected GitHub integration as the deployment source.

Choose the Repository

Choose the repository from the dropdown (populated from your GitHub account).

Choose the Branch to Track

Choose the branch to track — for example, main for production.

Enable Auto-Deploy on Push

Enable auto-deploy on push. Skytells registers a webhook with GitHub for this repository and branch.

Save and Deploy

Save. The next push to the tracked branch triggers the first automatic deployment.

What Is CI/CD?

CI/CD stands for Continuous Integration and Continuous Deployment. It is the practice of automatically building, testing, and deploying software every time a change is merged:

  • Continuous Integration (CI) — whenever developers push code or open a pull request, an automated process builds the code and runs tests. This catches problems before they reach production.
  • Continuous Deployment (CD) — after CI passes, the verified code is automatically deployed to the target environment. No human has to press a deploy button.

With the Skytells GitHub integration, CD is built in: a push to the tracked branch triggers a new build and deployment. If your repository has a CI system (GitHub Actions, for example), configure it to run before the push that triggers Skytells — or rely on Skytells' own build pipeline to catch configuration errors.

git push to main Run CI workflow (tests, lint) All checks pass Webhook: push event Pull code, build image, deploy Deployment complete Developer GitHub GitHub Actions (optional) Skytells

Branch Strategies

BranchRecommended Purpose
mainProduction — track this on your production app. Deploys after every merge.
develop or stagingStaging environment — track this on a staging app in the same or a separate project.
Feature branchesPreview deployments — create short-lived apps to review changes before merging.

This pattern lets you promote changes through environments: feature branch → staging → production, each driven automatically by git events.

Managing the OAuth Token

The GitHub integration stores an OAuth token on your behalf. Tokens can become invalid if:

  • You revoke Skytells' access from your GitHub authorized apps page.
  • Your GitHub account password or security settings change and sessions are reset.
  • You transfer or rename a connected repository.

When the token is invalid, the Integrations page in the Console shows the integration as disconnected. Auto-deployments will stop. To fix this:

  1. Open Project > Integrations.
  2. Select the GitHub integration.
  3. Select Re-authorize and complete the OAuth flow again.
  4. Auto-deployments resume immediately after re-authorization.

If auto-deployments stop unexpectedly, check the integration status first. An expired or revoked OAuth token is the most common cause.

Troubleshooting

Deployments are not triggering on push

  • Verify the integration is authorized (no disconnected state in Project > Integrations).
  • Confirm the app is configured to track the correct repository and branch.
  • Check that the webhook is registered: go to your GitHub repository's Settings > Webhooks and look for a Skytells webhook. If it is absent or showing errors, re-save the app's deployment configuration.

Organization repositories are not appearing

  • During OAuth, you must explicitly grant Skytells access to your organization. Go to GitHub Settings > Applications > Authorized OAuth Apps, find Skytells, and grant organization access.

Build fails after connecting GitHub

  • Verify your build command and build output directory are correct in the app settings.
  • Check build logs in the app's Deployments section.

How is this guide?

On this page