Make sure you’ve completed the GitHub App setup before proceeding.
Environment Variables
Add the following environment variables to your Ordo deployment:GitHub sign-in uses separate OAuth variables (
GITHUB_OAUTH_CLIENT_ID / GITHUB_OAUTH_CLIENT_SECRET). You can run the integration without enabling GitHub SSO. See GitHub SSO.Variable Reference
Connecting Repositories
Once your environment variables are configured and your backend is restarted, you can connect projects to GitHub repositories.1
Navigate to Project Settings
- Open your Ordo project
- Go to Project Settings
- Find the GitHub Integration section
2
Connect RepositoryYou have two options to connect a repository:Option A: Browse Repositories
- Click “Browse Repositories”
- Select from repositories where your GitHub App is installed
- Click on the desired repository
- Enter the Repository Owner (username or organization)
- Enter the Repository Name
- Click “Verify Installation”
3
Verify and Connect
- Ordo will verify that your GitHub App has access
- If successful, click “Connect Repository”
- You should see a green “Connected” status
Once connected, new tasks created in this project will automatically generate GitHub issues!
Testing the Integration
After connecting a repository, test the integration thoroughly:1
Test Task to Issue CreationCreate a new task in your connected Ordo project with:
- A clear title
- A description
- Set priority and status
- A new issue was created
- The issue has
priority:*andstatus:*labels - A comment links back to the Ordo task
2
Test Automatic Status TransitionsTest branch-based workflow:
- Note your task number (e.g.,
PROJ-123) - Create and push a branch matching the pattern (e.g.,
proj-123) - Verify the task moves to “in-progress”
- Open a PR from that branch
- Verify the task moves to “in-review”
- Merge the PR
- Verify the task moves to “done”
Default branch pattern is
{slug}-{number}. You can customize this in project settings.3
Test Issue to Task SyncIn GitHub:
- Create a new issue
- Add labels like
priority:highorstatus:in-progress
- Verify a task was created from the issue
- Check that priority and status match the labels
- Confirm the task links to the GitHub issue
4
Test Label SynchronizationTest both directions:
- Change task priority in Ordo → Check issue labels in GitHub
- Add/remove labels in GitHub → Check task in Ordo
- Change task status in Ordo → Check if issue is closed/reopened
Advanced Configuration
Branch Naming Patterns
Configure how Ordo matches branches to tasks in your project’s GitHub integration settings: Predefined Patterns:{slug}-{number}(default) - e.g.,proj-123{slug}-{number}-{title}- e.g.,proj-123-fix-bug{number}- e.g.,123{number}-{title}- e.g.,123-fix-bugfeature/{slug}-{number}- e.g.,feature/proj-123fix/{slug}-{number}- e.g.,fix/proj-123
Status Transition Configuration
Customize when tasks automatically change status:
Configure these in your project’s GitHub integration settings to match your workflow.
Label Synchronization
Ordo automatically creates and syncs these label types: System Labels (managed automatically):priority:low,priority:medium,priority:high,priority:urgentstatus:to-do,status:in-progress,status:in-review,status:done,status:planned,status:archived
- Any labels added to GitHub issues (not starting with
priority:orstatus:) are synced to Ordo - Labels added in Ordo can be synced to GitHub (if configured)
Multiple Organizations
If you need to connect repositories from multiple GitHub organizations:- Install your GitHub App on each organization
- Grant appropriate permissions for each organization
- Each Ordo project can connect to any repository where your app is installed
Having issues? Check our troubleshooting guide for common problems and solutions.
