8 min read • Guide 864 of 877
Linking Tasks to GitHub, GitLab, and Bitbucket Repositories
Connecting tasks to code repositories eliminates the gap between project management and actual development work. When commits, branches, and pull requests link directly to tasks, teams gain complete visibility into what code changes relate to which requirements—no more guessing or manual tracking.
Git Integration Overview
| Platform | Connection Method | Features |
|---|---|---|
| GitHub | OAuth + Webhook | Commits, PRs, branches, issues |
| GitLab | OAuth + Webhook | Commits, MRs, branches |
| Bitbucket | OAuth + Webhook | Commits, PRs, branches |
Setting Up Git Integration
CONNECTING YOUR REPOSITORY
══════════════════════════
STEP 1: ACCESS INTEGRATION SETTINGS
─────────────────────────────────────
GitScrum → Project → Settings → Integrations
├── Select "GitHub" / "GitLab" / "Bitbucket"
├── Click "Connect"
└── Authorize GitScrum access
STEP 2: SELECT REPOSITORY
─────────────────────────────────────
After authorization:
├── List of repositories appears
├── Select the project repository
├── Configure webhook automatically
└── Connection status: "Connected"
STEP 3: CONFIGURE BEHAVIOR
─────────────────────────────────────
Optional settings:
├── Branch naming pattern
├── Commit message format
├── PR description template
└── Auto-move on merge
VERIFICATION:
─────────────────────────────────────
┌─────────────────────────────────────┐
│ GitHub Integration │
│ ──────────────────────────────── │
│ Repository: acme/dashboard │
│ Status: ✓ Connected │
│ Last sync: 2 minutes ago │
│ │
│ [Disconnect] [Refresh] [Settings] │
└─────────────────────────────────────┘
Linking Commits to Tasks
COMMIT MESSAGE CONVENTIONS
══════════════════════════
REFERENCE TASK IN COMMIT:
─────────────────────────────────────
Include task ID in commit message:
git commit -m "Add payment validation #task-123"
git commit -m "Fix login bug [GS-456]"
git commit -m "Implement API endpoint (Task: 789)"
GitScrum automatically:
├── Detects task reference
├── Links commit to task
├── Shows commit in task activity
└── Updates task timeline
COMMIT APPEARS IN TASK:
─────────────────────────────────────
┌─────────────────────────────────────────────────┐
│ Task: Implement payment validation │
├─────────────────────────────────────────────────┤
│ ACTIVITY │
│ │
│ 🔀 Commit linked 2 min ago │
│ "Add payment validation #task-123" │
│ by john@acme.co │
│ → main (a4f2b1c) │
│ │
│ 💬 Comment added 1 hour ago │
│ "Starting implementation now" │
│ │
└─────────────────────────────────────────────────┘
BEST PRACTICES:
─────────────────────────────────────
✓ Always reference task ID in commits
✓ Use consistent format across team
✓ Include task ID in first line
✓ Add context in commit body
Branch Naming for Task Linking
BRANCH NAMING CONVENTIONS
═════════════════════════
RECOMMENDED FORMATS:
─────────────────────────────────────
feature/task-123-payment-validation
bugfix/GS-456-login-error
hotfix/789-critical-security-patch
Structure:
├── type/ → feature, bugfix, hotfix
├── task-id → matches GitScrum task
└── description → human-readable summary
AUTOMATIC BRANCH LINKING:
─────────────────────────────────────
When branch contains task ID:
├── GitScrum detects branch creation
├── Links branch to task
├── Shows branch status in task
└── Tracks branch lifecycle
TASK VIEW WITH BRANCH:
─────────────────────────────────────
┌─────────────────────────────────────────────────┐
│ Task: Payment validation │
├─────────────────────────────────────────────────┤
│ STATUS │
│ ────── │
│ Column: In Progress │
│ Branch: feature/task-123-payment-validation │
│ ↳ 3 commits ahead of main │
│ PR: #42 (Open - Ready for review) │
│ │
└─────────────────────────────────────────────────┘
Pull Request Integration
LINKING PULL REQUESTS TO TASKS
══════════════════════════════
PR DESCRIPTION TEMPLATE:
─────────────────────────────────────
## Summary
Implements payment validation logic.
## Related Task
Closes #task-123
## Changes
- Added validation middleware
- Updated API responses
- Added unit tests
## Testing
- [x] Unit tests pass
- [x] Manual testing complete
GitScrum DETECTION:
─────────────────────────────────────
When PR is opened:
├── Detects task reference
├── Links PR to task
├── Shows PR status in task
└── Updates on PR changes
PR LIFECYCLE IN TASK:
─────────────────────────────────────
┌─────────────────────────────────────┐
│ Pull Request #42 │
│ ────────────────── │
│ Status: Open │
│ Reviews: 1/2 approved │
│ Checks: ✓ All passing │
│ Mergeable: Yes │
│ │
│ [View on GitHub] │
└─────────────────────────────────────┘
Automatic Task Updates
AUTOMATING WORKFLOW WITH GIT EVENTS
═══════════════════════════════════
COLUMN AUTOMATION: ON PR MERGE
─────────────────────────────────────
Project Settings → Board → Column Settings → Done
Automation trigger:
├── When: Pull Request merged
├── Action: Move task to this column
├── Additional: Auto-archive after 7 days
Result:
├── Developer merges PR
├── Task moves to Done automatically
├── No manual board update needed
└── Accurate project status always
AUTOMATION FLOW:
─────────────────────────────────────
Developer GitScrum
│ │
│ Create branch │
│ feature/task-123-... │
├──────────────────────────►│ Branch linked
│ │
│ Push commits │
│ "Fix validation #123" │
├──────────────────────────►│ Commits linked
│ │
│ Open Pull Request │
│ │
├──────────────────────────►│ PR linked
│ │ Task → In Review
│ │
│ Merge PR │
│ │
├──────────────────────────►│ Task → Done
│ │ (automatic)
│ │
Multi-Repository Projects
WORKING WITH MULTIPLE REPOS
═══════════════════════════
SCENARIO: FRONTEND + BACKEND
─────────────────────────────────────
Project: E-commerce Platform
├── Repo 1: acme/frontend (React)
├── Repo 2: acme/backend (Node.js)
└── Repo 3: acme/mobile (React Native)
SETUP:
─────────────────────────────────────
1. Connect all repos to same project
2. Use consistent task references
3. Track cross-repo work in single task
TASK WITH MULTIPLE REPOS:
─────────────────────────────────────
┌─────────────────────────────────────────────────┐
│ Task: Implement checkout flow │
├─────────────────────────────────────────────────┤
│ LINKED CODE │
│ │
│ acme/frontend │
│ ├── Branch: feature/task-123-checkout │
│ ├── Commits: 5 │
│ └── PR: #67 (Merged) │
│ │
│ acme/backend │
│ ├── Branch: feature/task-123-checkout-api │
│ ├── Commits: 8 │
│ └── PR: #45 (Open) │
│ │
└─────────────────────────────────────────────────┘
Visibility and Reporting
GIT DATA IN PROJECT REPORTS
═══════════════════════════
TASK-LEVEL INSIGHTS:
─────────────────────────────────────
For each task:
├── Total commits
├── Contributors
├── Lines changed (+/-)
├── Time from first commit to merge
└── Review turnaround time
PROJECT-LEVEL METRICS:
─────────────────────────────────────
Across project:
├── Commits per sprint
├── PRs opened/merged/closed
├── Average time to merge
├── Code churn by feature
└── Contributor activity
SPRINT REPORT WITH GIT DATA:
─────────────────────────────────────
┌─────────────────────────────────────────────────┐
│ Sprint 24 - Code Activity │
├─────────────────────────────────────────────────┤
│ │
│ Commits: 127 │
│ Pull Requests: 18 (16 merged, 2 open) │
│ Contributors: 5 │
│ Lines Added: 2,340 │
│ Lines Removed: 890 │
│ │
│ Avg PR Review: 4.2 hours │
│ Avg Time to Merge: 6.8 hours │
│ │
└─────────────────────────────────────────────────┘
GitScrum Implementation Steps
COMPLETE SETUP GUIDE
════════════════════
STEP 1: CONNECT REPOSITORY
─────────────────────────────────────
Project Settings → Integrations
├── Select provider (GitHub/GitLab/Bitbucket)
├── Authorize OAuth
├── Select repository
└── Verify connection
STEP 2: CONFIGURE TEAM CONVENTIONS
─────────────────────────────────────
Agree on:
├── Branch naming: type/task-id-description
├── Commit format: "Message #task-id"
├── PR template with task reference
└── Document in project wiki
STEP 3: SET UP AUTOMATIONS
─────────────────────────────────────
Board Settings → Column Automations
├── "In Review" → When PR opened
├── "Done" → When PR merged
└── Enable notifications
STEP 4: TRAIN THE TEAM
─────────────────────────────────────
Share with developers:
├── How to reference tasks
├── Branch naming conventions
├── Expected automation behavior
└── Benefits of linking
STEP 5: MONITOR AND REFINE
─────────────────────────────────────
After 1-2 sprints:
├── Check linking accuracy
├── Review automation triggers
├── Gather team feedback
└── Adjust conventions as needed
Best Practices
- Consistent naming - Use standard branch naming with task IDs
- Reference in commits - Always include task ID in commit messages
- PR templates - Create templates that prompt for task reference
- Automate transitions - Configure column moves on PR events
- Connect all repos - Link all project repositories for full visibility
- Train the team - Ensure everyone knows the conventions
- Review regularly - Check that linking works as expected
- Document conventions - Store team standards in NoteVault