Try free
11 min read Guide 162 of 877

Setting Up Git Repository Integrations

Linking your Git repositories to GitScrum creates automatic connections between code changes and project tasks. When developers reference task IDs in commits or pull requests, those activities appear on the task timeline, giving everyone visibility into code progress without leaving the project management tool.

Why Integrate Git Repositories

Benefits of Code-Task Linking

INTEGRATION VALUE:
┌─────────────────────────────────────────────────────────────┐
│ WHAT GIT INTEGRATION PROVIDES                               │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ FOR DEVELOPERS:                                             │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ • Link commits to tasks automatically                   ││
│ │ • See task context in PR descriptions                   ││
│ │ • Auto-update task status on merge                      ││
│ │ • No context switching between tools                    ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ FOR PROJECT MANAGERS:                                       │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ • See code progress on tasks                            ││
│ │ • Know when features are actually deployed              ││
│ │ • Track which branches relate to which features         ││
│ │ • Verify work completion through PR merges              ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ FOR THE TEAM:                                               │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ • Complete audit trail: task → code → deploy            ││
│ │ • Better sprint reviews with actual code links          ││
│ │ • Easier debugging: find what changed for a feature     ││
│ │ • Compliance: trace requirements to implementation      ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

GitHub Integration

Setting Up GitHub Connection

GITHUB SETUP:
┌─────────────────────────────────────────────────────────────┐
│ CONNECTING GITHUB TO GITSCRUM                               │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ STEP 1: ACCESS INTEGRATIONS                                 │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Navigate to: Project Settings → Integrations            ││
│ │                                                         ││
│ │ ┌─────────────────────────────────────────────────────┐ ││
│ │ │ Available Integrations                              │ ││
│ │ │                                                     │ ││
│ │ │ 🐙 GitHub              [Connect]                    │ ││
│ │ │ 🦊 GitLab              [Connect]                    │ ││
│ │ │ 🪣 Bitbucket           [Connect]                    │ ││
│ │ └─────────────────────────────────────────────────────┘ ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ STEP 2: AUTHENTICATE                                        │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Click "Connect" and authorize GitScrum:                 ││
│ │                                                         ││
│ │ 1. Redirects to GitHub OAuth                            ││
│ │ 2. Authorize GitScrum application                       ││
│ │ 3. Select repositories to access                        ││
│ │ 4. Confirm permissions                                  ││
│ │                                                         ││
│ │ Permissions requested:                                  ││
│ │ • Read repository metadata                              ││
│ │ • Read/write commit statuses                            ││
│ │ • Read pull requests                                    ││
│ │ • Webhook access for real-time updates                  ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ STEP 3: SELECT REPOSITORIES                                 │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Choose which repos to link:                             ││
│ │                                                         ││
│ │ ☑ acme-corp/frontend                                    ││
│ │ ☑ acme-corp/backend-api                                 ││
│ │ ☐ acme-corp/infrastructure                              ││
│ │ ☑ acme-corp/mobile-app                                  ││
│ │                                                         ││
│ │ Tip: Link only repositories relevant to this project   ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ STEP 4: CONFIGURE WEBHOOKS                                  │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ GitScrum automatically sets up webhooks for:            ││
│ │                                                         ││
│ │ ✅ Push events (commits)                                ││
│ │ ✅ Pull request events (open, merge, close)             ││
│ │ ✅ Branch events (create, delete)                       ││
│ │                                                         ││
│ │ These sync changes in real-time to your tasks           ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

GitLab Integration

Setting Up GitLab Connection

GITLAB SETUP:
┌─────────────────────────────────────────────────────────────┐
│ CONNECTING GITLAB TO GITSCRUM                               │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ GITLAB.COM:                                                 │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Same OAuth flow as GitHub:                              ││
│ │                                                         ││
│ │ 1. Click "Connect" on GitLab integration                ││
│ │ 2. Authorize via GitLab OAuth                           ││
│ │ 3. Select projects to link                              ││
│ │ 4. Webhooks configured automatically                    ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ SELF-HOSTED GITLAB:                                         │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ For private GitLab instances:                           ││
│ │                                                         ││
│ │ 1. Enter your GitLab URL                                ││
│ │    Example: https://gitlab.yourcompany.com              ││
│ │                                                         ││
│ │ 2. Generate Personal Access Token in GitLab             ││
│ │    Settings → Access Tokens                             ││
│ │    Scopes: api, read_repository                         ││
│ │                                                         ││
│ │ 3. Paste token in GitScrum                              ││
│ │                                                         ││
│ │ 4. Select projects to integrate                         ││
│ │                                                         ││
│ │ 5. Configure webhook URL in each GitLab project:        ││
│ │    Settings → Webhooks                                  ││
│ │    URL: [provided by GitScrum]                          ││
│ │    Triggers: ☑ Push ☑ Merge Request ☑ Tag               ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Bitbucket Integration

Setting Up Bitbucket Connection

BITBUCKET SETUP:
┌─────────────────────────────────────────────────────────────┐
│ CONNECTING BITBUCKET TO GITSCRUM                            │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ BITBUCKET CLOUD:                                            │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 1. Click "Connect" on Bitbucket integration             ││
│ │ 2. Authorize via Atlassian OAuth                        ││
│ │ 3. Select workspaces and repositories                   ││
│ │ 4. Webhooks configured automatically                    ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ BITBUCKET SERVER (SELF-HOSTED):                             │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Similar to self-hosted GitLab:                          ││
│ │                                                         ││
│ │ 1. Enter Bitbucket Server URL                           ││
│ │ 2. Create Application Link in Bitbucket                 ││
│ │ 3. Configure OAuth credentials                          ││
│ │ 4. Set up webhooks manually                             ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Linking Commits to Tasks

Reference Tasks in Git Messages

COMMIT LINKING:
┌─────────────────────────────────────────────────────────────┐
│ HOW TO LINK COMMITS TO TASKS                                │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ REFERENCING TASK IDs:                                       │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Include task ID in commit message:                      ││
│ │                                                         ││
│ │ Format options:                                         ││
│ │ • #123 - Simple reference                               ││
│ │ • TASK-123 - With project prefix                        ││
│ │ • [GS-123] - Bracketed format                           ││
│ │                                                         ││
│ │ Examples:                                               ││
│ │ ┌─────────────────────────────────────────────────────┐ ││
│ │ │ git commit -m "Add user validation #456"            │ ││
│ │ │                                                     │ ││
│ │ │ git commit -m "[TASK-789] Fix login timeout issue"  │ ││
│ │ │                                                     │ ││
│ │ │ git commit -m "Implement dashboard filters          │ ││
│ │ │                                                     │ ││
│ │ │ - Added date range picker                           │ ││
│ │ │ - Added status filter                               │ ││
│ │ │ - Connected to API                                  │ ││
│ │ │                                                     │ ││
│ │ │ Closes #234"                                        │ ││
│ │ └─────────────────────────────────────────────────────┘ ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ WHAT HAPPENS:                                               │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ When commit is pushed:                                  ││
│ │                                                         ││
│ │ 1. GitScrum receives webhook notification               ││
│ │ 2. Parses commit message for task references            ││
│ │ 3. Links commit to referenced task(s)                   ││
│ │ 4. Shows commit in task activity feed                   ││
│ │                                                         ││
│ │ Task view shows:                                        ││
│ │ ┌─────────────────────────────────────────────────────┐ ││
│ │ │ Activity                                            │ ││
│ │ │                                                     │ ││
│ │ │ 🔗 Alex committed "Add user validation"             │ ││
│ │ │    main • a8f3c2d • 2 hours ago                     │ ││
│ │ │    View on GitHub →                                 │ ││
│ │ └─────────────────────────────────────────────────────┘ ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Pull Request Integration

PRs and Merge Requests

PR LINKING:
┌─────────────────────────────────────────────────────────────┐
│ CONNECTING PULL REQUESTS TO TASKS                           │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ AUTOMATIC LINKING:                                          │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Reference tasks in PR title or description:             ││
│ │                                                         ││
│ │ PR Title:                                               ││
│ │ "Feature: Dashboard filtering [#234]"                   ││
│ │                                                         ││
│ │ PR Description:                                         ││
│ │ "This PR implements the filtering functionality         ││
│ │ requested in task #234.                                 ││
│ │                                                         ││
│ │ Changes:                                                ││
│ │ - Date range picker component                           ││
│ │ - Status dropdown filter                                ││
│ │ - API integration                                       ││
│ │                                                         ││
│ │ Related: #234, #236"                                    ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ PR LIFECYCLE EVENTS:                                        │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ GitScrum tracks PR state changes:                       ││
│ │                                                         ││
│ │ Task Activity:                                          ││
│ │                                                         ││
│ │ 📋 Alex opened PR #47 "Dashboard filtering"             ││
│ │    Reviewers: Jordan, Sam                               ││
│ │    5 files changed • +234 -45                           ││
│ │                                                         ││
│ │ 💬 Jordan reviewed PR #47                               ││
│ │    Status: Changes requested                            ││
│ │                                                         ││
│ │ ✅ Jordan approved PR #47                               ││
│ │                                                         ││
│ │ 🔀 Alex merged PR #47 into main                         ││
│ │    Task auto-moved to "Done"                            ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ AUTO-STATUS UPDATES:                                        │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Configure automatic task movement:                      ││
│ │                                                         ││
│ │ PR opened    → Move task to "In Review"                 ││
│ │ PR merged    → Move task to "Done"                      ││
│ │ PR closed    → (no action or custom)                    ││
│ │                                                         ││
│ │ Set in: Project Settings → Integrations → Automation   ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Branch Tracking

Feature Branches

BRANCH INTEGRATION:
┌─────────────────────────────────────────────────────────────┐
│ TRACKING BRANCHES PER TASK                                  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ BRANCH NAMING CONVENTIONS:                                  │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Include task ID in branch name:                         ││
│ │                                                         ││
│ │ Recommended formats:                                    ││
│ │ • feature/234-dashboard-filters                         ││
│ │ • fix/456-login-timeout                                 ││
│ │ • task/789-user-profile                                 ││
│ │                                                         ││
│ │ GitScrum recognizes patterns:                           ││
│ │ • /123-                                                 ││
│ │ • /TASK-123-                                            ││
│ │ • -123-                                                 ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ TASK VIEW:                                                  │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Branch information on task:                             ││
│ │                                                         ││
│ │ ┌─────────────────────────────────────────────────────┐ ││
│ │ │ Task #234: Dashboard Filters                        │ ││
│ │ │                                                     │ ││
│ │ │ 🌿 Branches:                                        │ ││
│ │ │    feature/234-dashboard-filters                    │ ││
│ │ │    Created 3 days ago • 12 commits ahead            │ ││
│ │ │                                                     │ ││
│ │ │ 📋 Pull Requests:                                   │ ││
│ │ │    PR #47: Dashboard filtering                      │ ││
│ │ │    Status: Open • Review pending                    │ ││
│ │ └─────────────────────────────────────────────────────┘ ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘

Best Practices

Making Integration Work Well

BEST PRACTICES:
┌─────────────────────────────────────────────────────────────┐
│ GIT INTEGRATION TIPS                                        │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│ COMMIT MESSAGES:                                            │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ✅ Do:                                                  ││
│ │ • Include task ID in every commit                       ││
│ │ • Use consistent format across team                     ││
│ │ • Reference multiple tasks if relevant                  ││
│ │                                                         ││
│ │ ❌ Don't:                                               ││
│ │ • Forget task references in quick fixes                 ││
│ │ • Use different formats per developer                   ││
│ │ • Reference wrong task IDs (hard to undo)               ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ BRANCH STRATEGY:                                            │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Recommended workflow:                                   ││
│ │                                                         ││
│ │ 1. Create branch with task ID                           ││
│ │    git checkout -b feature/234-user-search              ││
│ │                                                         ││
│ │ 2. Commit with references                               ││
│ │    git commit -m "Add search API endpoint #234"         ││
│ │                                                         ││
│ │ 3. Open PR with task link                               ││
│ │    Title: "User search feature [#234]"                  ││
│ │                                                         ││
│ │ 4. Merge and auto-close                                 ││
│ │    PR merge → task moves to Done                        ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ TEAM STANDARDS:                                             │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Document in team wiki:                                  ││
│ │                                                         ││
│ │ • Required task ID format: #123 or [PROJ-123]           ││
│ │ • Branch naming: type/id-description                    ││
│ │ • PR template with task reference field                 ││
│ │ • Commit message template                               ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
└─────────────────────────────────────────────────────────────┘