GitHub Integration
Connect Elixion to your GitHub repositories for seamless workflow
GitHub Integration
The GitHub integration connects Elixion to your repositories, enabling automatic issue linking, PR tracking, and code-aware project management.
Features
- Issue Linking - Auto-link commits and PRs to issues
- Branch Management - Create branches from issues
- PR Tracking - Track PR status on issues
- Code Context - View code changes in Elixion
- Auto-Close - Close issues when PRs merge
- Status Sync - Sync build status to issues
Setup
Connect GitHub
- Navigate to Settings > Integrations > GitHub
- Click Connect GitHub
- Authorize Elixion in GitHub
- Select repositories to connect
Repository Selection
Choose which repos to integrate:
Available Repositories
──────────────────────
☑ org/frontend-app
☑ org/backend-api
☐ org/legacy-system
☑ org/mobile-app
[Save Selection]
Permissions
Required GitHub permissions:
| Permission | Purpose |
|------------|---------|
| repo | Access repository data |
| write:repo_hook | Create webhooks |
| read:org | Read organization info |
| workflow | Trigger actions (optional) |
Issue Linking
Automatic Linking
Mention issue keys in commits or PRs:
Commit message:
feat: Add login form validation
Implements form validation for the login page.
AUTH-123
PR description:
## Description
Adds login form validation
## Related Issues
- Fixes AUTH-123
- Related to AUTH-100
Link Formats
| Format | Effect |
|--------|--------|
| AUTH-123 | Links issue |
| Fixes AUTH-123 | Links and closes on merge |
| Closes AUTH-123 | Links and closes on merge |
| Related to AUTH-123 | Links only |
| Part of AUTH-123 | Links only |
Issue View
Linked items appear on the issue:
AUTH-123: Login Form Validation
───────────────────────────────
Development
──────────
Branch: feature/AUTH-123-login-validation
Commits: 5
PR: #234 (In Review)
Pull Request #234
├─ Status: Open
├─ Checks: ✓ Passing
├─ Reviews: 1/2 approved
└─ Conflicts: None
Branch Management
Create Branch from Issue
- Open issue
- Click Create Branch
- Configure:
Branch name: feature/AUTH-123-login-validation Base branch: main - Branch created in GitHub
Branch Naming
Configure branch naming pattern:
Settings > GitHub > Branch Naming
Pattern: {type}/{{key}}-{{slug}}
Examples:
- feature/AUTH-123-login-form
- bugfix/BUG-456-fix-timeout
- hotfix/URGENT-789-security-patch
Branch Status
Track branch activity:
Issue: AUTH-123
Branch: feature/AUTH-123-login-validation
├─ Created: 2 days ago
├─ Commits: 5 ahead of main
├─ Last push: 3 hours ago
└─ Author: Alice
Pull Request Tracking
PR Status on Issues
See PR status directly on issues:
AUTH-123
────────
Pull Request Status
──────────────────
#234: Add login validation
Status: Open
Base: main ← feature/AUTH-123
Commits: 5
Changed: +234 / -12
Checks:
✓ CI/CD Pipeline Passed
✓ Code Coverage 92%
✓ Security Scan Passed
○ Deploy Preview Pending
Reviews:
✓ Alice Approved
○ Bob Pending
Auto-Close Issues
Close issues when PRs merge:
Configuration:
github:
auto_close:
enabled: true
keywords: ['fixes', 'closes', 'resolves']
target_status: Done
Behavior:
- PR with "Fixes AUTH-123" merges
- AUTH-123 automatically moves to Done
- Comment added with merge details
Transition Rules
Configure status transitions:
pr_transitions:
opened:
issue_status: In Review
merged:
issue_status: Done
closed:
issue_status: To Do # Reopen if not merged
Code Context
View Changes
See code changes from issues:
AUTH-123 > Code Changes
────────────────────────
src/components/LoginForm.tsx +45 -12
├─ Added validation logic
└─ Updated error handling
src/lib/auth.ts +23 -5
└─ Added password validation
src/tests/LoginForm.test.tsx +78 -0
└─ Added unit tests
Diff View
Integrated diff viewer:
// LoginForm.tsx
+ import { validateEmail } from '@/lib/validators';
+
export function LoginForm() {
const [email, setEmail] = useState('');
+ const [errors, setErrors] = useState({});
+
+ const handleSubmit = async (e) => {
+ const validation = validateEmail(email);
+ if (!validation.valid) {
+ setErrors({ email: validation.message });
+ return;
+ }
+ // ...
+ };
Webhooks
Events Received
Elixion receives these GitHub events:
| Event | Action |
|-------|--------|
| push | Update linked issues |
| pull_request | Track PR status |
| pull_request_review | Track reviews |
| check_suite | Track CI status |
| issue_comment | Sync comments (optional) |
Webhook Status
Monitor webhook health:
GitHub Webhooks
───────────────
Repository: org/frontend-app
Status: ● Active
Last event: 5 minutes ago
Events received (24h): 127
Failed: 0
[View Logs] [Test Webhook]
Troubleshooting
Connection Issues
"Repository not found"
- Verify GitHub permissions
- Check repository access
- Re-authorize if needed
"Webhook delivery failed"
- Check webhook URL
- Verify webhook secret
- Check firewall settings
Linking Issues
"Issue not linked"
- Ensure correct issue key format
- Check issue exists
- Verify project connection
"Auto-close not working"
- Check keyword in commit/PR
- Verify auto-close enabled
- Check transition rules
Best Practices
Branch Strategy
main
├── develop
│ ├── feature/AUTH-123-login
│ ├── feature/AUTH-124-signup
│ └── bugfix/BUG-456-timeout
└── release/v2.0
Commit Messages
Follow conventional commits:
feat(auth): Add login form validation
- Implement email validation
- Add password strength check
- Display error messages
AUTH-123
PR Descriptions
Include context:
## Summary
Implements login form validation per AUTH-123.
## Changes
- Added email validation
- Added password validation
- Added unit tests
## Testing
- [x] Unit tests pass
- [x] Manual testing completed
- [x] Accessibility checked
## Screenshots
[If applicable]
Fixes AUTH-123
Next: Slack & Teams - Team communication integration