GitHub provides cloud-based version control and collaboration features for software development. The GitHub App in Tempest enables comprehensive management of repositories and related resources, powering core functionality for project orchestration and preview environments.

For detailed information about each resource, see the Resources section below.

Authentication

These are the supported authentication methods for GitHub in Tempest:

The GitHub App provides the most streamlined experience with automated permissions management and full webhook integration support.

OAuth 2.0

OAuth2 authentication provides a scoped access token with repository permissions.

Personal Access Token

Personal Access Tokens do not support webhook integration, limiting GitHub functionality in Tempest.

Tempest supports both fine-grained and classic tokens.

Resources

Repository

Parent resource for managing GitHub repositories.

Configuration options:

  • Name (required): Alphanumeric with hyphens and underscores
  • Visibility: Public or private
  • Dependabot: Enable/disable security updates
  • Template options: Create from template or as template

Properties:

  • HTML, HTTPS, and SSH URLs
  • Repository metadata
  • Default branch configuration

Repository File

Manage files within repositories.

Configuration options:

  • File path and content
  • Pull request creation options

Properties:

  • File location and metadata
  • Git SHA tracking
  • Browser URLs

Workflow

Configure GitHub Actions workflows.

Configuration options:

  • Built-in templates or custom workflows
  • File naming and content
  • Pull request automation

Properties:

  • Workflow identification
  • State tracking
  • Web interface access

Deploy Key

Manage SSH deploy keys for repositories.

Configuration options:

  • Key title and content
  • Public key configuration

Properties:

  • Key identification
  • Access URLs
  • Public key data

Deployment

Handle GitHub deployments.

Configuration options:

  • Target branch
  • Environment specification
  • Deployment description

Properties:

  • Deployment identification
  • Git reference tracking
  • Environment status