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

  1. Navigate to Settings > Integrations > GitHub
  2. Click Connect GitHub
  3. Authorize Elixion in GitHub
  4. 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

  1. Open issue
  2. Click Create Branch
  3. Configure:
    Branch name: feature/AUTH-123-login-validation
    Base branch: main
    
  4. 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:

  1. PR with "Fixes AUTH-123" merges
  2. AUTH-123 automatically moves to Done
  3. 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