Integrations

GitHub Integration

Connect Astrolabe to GitHub for repository management, releases, and workflow automation

GitHub Integration

Connect your GitHub account to Astrolabe for native desktop access to repositories, releases, organizations, and GitHub Actions workflows.

Features

  • OAuth Authentication: Secure one-click connection with scoped permissions
  • Repository Management: View and manage all your repositories and organizations
  • Release Creation: Create GitHub releases directly from the desktop app
  • Workflow Triggers: Trigger GitHub Actions workflows with one click
  • Organization Access: Manage repositories across multiple organizations
  • API Integration: Full GitHub REST API v3 support

Prerequisites

  • Astrolabe v0.1.12 or later
  • Active GitHub account
  • macOS 15.0 or later

Setup

Open Settings

Launch Astrolabe and navigate to Settings → Integrations.

Find the GitHub section (marked with 🔐 OAuth Ready badge) and click "Link your GitHub account".

Authorize in Browser

Your browser will open to GitHub's authorization page. Review the permissions and click "Authorize".

Scopes requested:

  • repo - Full control of private repositories
  • read:user - Read user profile data
  • read:org - Read organization and team membership

Return to Astrolabe

After authorizing, you'll be redirected to astrolabe://oauth/callback/github. Your token is securely saved.

Start Using GitHub

Access GitHub features from project detail pages and the quick actions panel.

Option 2: Personal Access Token

Generate Token

  1. Go to github.com/settings/tokens/new
  2. Give it a name like "Astrolabe Desktop"
  3. Select scopes:
    • repo (Full control of private repositories)
    • workflow (Update GitHub Action workflows)
  4. Click "Generate token" and copy it

Add to Astrolabe

  1. Open Settings → Integrations
  2. Find the GitHub section
  3. Paste your token in the Personal Access Token field
  4. Token is automatically saved and encrypted

Usage

Linking a Repository

Open Project

Navigate to your project in Astrolabe.

Click GitHub Button

In the Service Integrations section, click the GitHub button.

Select Repository

Choose the GitHub repository from your account or organizations.

Click "Link Project" to connect your local repository.

Creating Releases

Go to Project Details

Open the project linked to your GitHub repository.

Click the Releases tab or section.

Click "Create Release"

Fill in:

  • Tag version (e.g., v1.0.0)
  • Release title
  • Release notes (Markdown supported)
  • Pre-release checkbox (optional)

Publish

Click "Create Release" to publish to GitHub.

Viewing Release History

  • View all releases for a repository
  • See release dates, tag names, and notes
  • Access release assets and download links
  • View commit counts between releases

Triggering Workflows

Detect Workflows

Astrolabe automatically scans .github/workflows/ for workflow files.

View Available Workflows

In the project detail page, expand the GitHub Actions section.

Trigger Workflow

Click the "Run" button next to any workflow to trigger it via GitHub CLI (gh workflow run).

Organization Repositories

For organization repositories:

  1. Organizations are automatically detected during OAuth
  2. Organization repos appear in the repository selector
  3. You can manage repos based on your org permissions
  4. Organization membership is cached locally

API Capabilities

With the GitHub integration, Astrolabe can:

  • List all user repositories (public + private)
  • Get repository details (stars, forks, language, etc.)
  • List organizations you're a member of
  • List organization repositories
  • Get authenticated user info
  • Create releases with markdown notes
  • Trigger workflows (requires GitHub CLI)

Troubleshooting

OAuth Fails to Complete

Issue: Browser redirects but token isn't saved.

Solution:

  • Ensure Astrolabe is running when you authorize
  • Check the redirect URI is astrolabe://oauth/callback/github
  • Try restarting and re-authorizing

Repositories Not Loading

Issue: Repository selector is empty after authentication.

Solution:

  • Verify token has repo and read:user scopes
  • Check you have repositories in your GitHub account
  • Re-authenticate to refresh permissions

Release Creation Fails

Issue: "Not a GitHub repository" error.

Solution:

  • Ensure your local repository has a github.com remote origin
  • Run git remote -v to verify
  • Repository must be pushed to GitHub first

Workflow Trigger Fails

Issue: Can't trigger GitHub Actions workflows.

Solution:

  • Install GitHub CLI: brew install gh
  • Run gh auth login to authenticate
  • Ensure workflows have workflow_dispatch trigger

Security

  • OAuth tokens stored encrypted via Tauri plugin-store
  • Personal access tokens never leave your machine except in API calls to GitHub
  • Scopes are minimally required (repo, read:user, read:org)
  • Deep link callbacks use secure astrolabe:// protocol
  • Token refresh not available (GitHub doesn't support OAuth refresh tokens)

API Reference

Astrolabe uses these GitHub REST API v3 endpoints:

  • OAuth Token Exchange: POST /login/oauth/access_token
  • Get User: GET /user
  • List Repos: GET /user/repos
  • Get Repo: GET /repos/:owner/:repo
  • List Organizations: GET /user/orgs
  • List Org Repos: GET /orgs/:org/repos

All API calls include:

  • Authorization: Bearer {token} header
  • Accept: application/vnd.github+json
  • X-GitHub-Api-Version: 2022-11-28
  • User-Agent: Astrolabe/1.0

GitHub CLI Integration

For advanced features, Astrolabe integrates with GitHub CLI:

# Install GitHub CLI
brew install gh

# Authenticate
gh auth login

# Trigger workflows from Astrolabe UI
# (Astrolabe runs: gh workflow run <workflow-name>)

Support

Need help with GitHub integration?