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
Option 1: OAuth (Recommended)
Open Settings
Launch Astrolabe and navigate to Settings → Integrations.
Click "Link your GitHub account"
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 repositoriesread:user- Read user profile dataread: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
- Go to github.com/settings/tokens/new
- Give it a name like "Astrolabe Desktop"
- Select scopes:
- ✅
repo(Full control of private repositories) - ✅
workflow(Update GitHub Action workflows)
- ✅
- Click "Generate token" and copy it
Add to Astrolabe
- Open Settings → Integrations
- Find the GitHub section
- Paste your token in the Personal Access Token field
- 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.
Confirm Link
Click "Link Project" to connect your local repository.
Creating Releases
Go to Project Details
Open the project linked to your GitHub repository.
Navigate to Releases
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:
- Organizations are automatically detected during OAuth
- Organization repos appear in the repository selector
- You can manage repos based on your org permissions
- 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
repoandread:userscopes - 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.comremote origin - Run
git remote -vto 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 loginto authenticate - Ensure workflows have
workflow_dispatchtrigger
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}headerAccept: application/vnd.github+jsonX-GitHub-Api-Version: 2022-11-28User-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?