GitHub Adapter
The GitHub adapter synchronizes your RTM requirements with GitHub Issues, enabling issue tracking integration.
1. Configure GitHub Token
Section titled “1. Configure GitHub Token”Set the GITHUB_TOKEN environment variable:
export GITHUB_TOKEN=ghp_your_token_hereRequired scopes:
repo(for private repos)public_repo(for public repos only)
2. Enable in Configuration
Section titled “2. Enable in Configuration”rtmx: github: enabled: true repo: owner/repo label_prefix: "req:"Sync Commands
Section titled “Sync Commands”Push to GitHub
Section titled “Push to GitHub”rtmx sync github # Sync all requirementsrtmx sync github --dry-run # Preview changesrtmx sync github --filter status=MISSINGBehavior
Section titled “Behavior”For each requirement:
- Creates a GitHub issue if none exists
- Updates existing issue if requirement changed
- Labels issues with
req:{category}and status
Issue Format
Section titled “Issue Format”Created issues follow this template:
# REQ-AUTH-001: OAuth 2.0 Authentication
**Status**: COMPLETE**Priority**: HIGH**Phase**: 1
## DescriptionSystem shall support OAuth 2.0 authentication.
## Acceptance CriteriaOAuth flow completes successfully.
## Dependencies- REQ-DB-001
---_Managed by RTMX. Do not edit this section._Labels
Section titled “Labels”The adapter creates labels automatically:
| Label | Description |
|---|---|
req:AUTH | Category label |
status:COMPLETE | Status label |
phase:1 | Phase label |
priority:HIGH | Priority label |
Configuration Options
Section titled “Configuration Options”rtmx: github: enabled: true repo: owner/repo label_prefix: "req:" create_missing: true # Create issues for new requirements close_completed: false # Close issues for COMPLETE requirements assignee_field: owner # Map RTM owner to GitHub assignee milestone_field: phase # Map RTM phase to GitHub milestoneCI Integration
Section titled “CI Integration”Sync automatically on push:
# .github/workflows/rtmx-sync.ymlname: RTMX Syncon: push: paths: - 'docs/rtm_database.csv'jobs: sync: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: pip install rtmx - run: rtmx sync github env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}Bidirectional Sync
Section titled “Bidirectional Sync”Currently, sync is one-way (RTM → GitHub). The RTM CSV is the source of truth.
To incorporate GitHub changes:
- Review issues in GitHub
- Update
rtm_database.csvmanually or via PR - Run
rtmx sync githubto push updates
Troubleshooting
Section titled “Troubleshooting”Rate Limits
Section titled “Rate Limits”GitHub has API rate limits. RTMX uses delta tracking to minimize calls.
If you hit limits:
# Check remaining quotagh api rate_limit
# Sync only specific requirementsrtmx sync github --filter category=AUTHAuthentication Errors
Section titled “Authentication Errors”# Verify tokengh auth status
# Test API accessgh api repos/owner/repo