Try free
5 min read Guide 493 of 877

GitLab Workflow Automation

GitLab's CI/CD capabilities combined with GitScrum's project management create powerful automated workflows. GitScrum's GitLab integration connects merge requests, pipeline status, and issues to your project boards, enabling automated status updates and seamless development workflows.

GitLab + GitScrum Integration

GitLab FeatureGitScrum Sync
Merge RequestsLinked to tasks, status updates
CommitsAppear in task timeline
PipelinesStatus visible, automation triggers
BranchesAuto-link to tasks via naming
Code ReviewComments visible in context

Setting Up Integration

GITLAB INTEGRATION SETUP

1. GENERATE GITLAB TOKEN
┌─────────────────────────────────────────────────┐
│  GitLab → Settings → Access Tokens              │
│                                                 │
│  Token name: gitscrum-integration               │
│  Scopes: api, read_repository                   │
│  Expiration: Set appropriately                  │
└─────────────────────────────────────────────────┘

2. CONFIGURE GITSCRUM
┌─────────────────────────────────────────────────┐
│  GitScrum → Settings → Integrations → GitLab    │
│                                                 │
│  GitLab URL: https://gitlab.com (or self-hosted)│
│  Token: [paste token]                           │
│  Verify connection                              │
└─────────────────────────────────────────────────┘

3. CONFIGURE WEBHOOKS
┌─────────────────────────────────────────────────┐
│  GitLab → Project → Settings → Webhooks         │
│                                                 │
│  URL: [GitScrum webhook URL]                    │
│  Secret: [Generated secret]                     │
│  Triggers:                                      │
│  ☑ Push events                                  │
│  ☑ Merge request events                         │
│  ☑ Pipeline events                              │
│  ☑ Comments                                     │
└─────────────────────────────────────────────────┘

Workflow Automation

AUTOMATED WORKFLOW RULES

RULE 1: MR Created → Task In Review
┌─────────────────────────────────────────────────┐
│  Trigger: Merge Request opened                  │
│  Condition: MR title contains GS-XXX            │
│  Action:                                        │
│  • Link MR to task GS-XXX                       │
│  • Update status → In Review                    │
│  • Notify reviewers                             │
└─────────────────────────────────────────────────┘

RULE 2: Pipeline Success → Ready to Merge
┌─────────────────────────────────────────────────┐
│  Trigger: Pipeline completed successfully       │
│  Condition: MR linked to GitScrum task          │
│  Action:                                        │
│  • Add "pipeline-passed" label                  │
│  • Update task → Ready to Merge                 │
└─────────────────────────────────────────────────┘

RULE 3: Pipeline Failed → Flag Task
┌─────────────────────────────────────────────────┐
│  Trigger: Pipeline failed                       │
│  Action:                                        │
│  • Add "pipeline-failed" label                  │
│  • Keep status In Progress                      │
│  • Notify assignee                              │
└─────────────────────────────────────────────────┘

RULE 4: MR Merged → Task Done
┌─────────────────────────────────────────────────┐
│  Trigger: Merge Request merged                  │
│  Action:                                        │
│  • Update task → Done                           │
│  • Log completion time                          │
│  • Close related MR                             │
└─────────────────────────────────────────────────┘

Task Timeline with GitLab

UNIFIED TASK VIEW

┌─────────────────────────────────────────────────┐
│  Task: GS-456 - Implement user dashboard        │
│  Status: In Review                              │
│                                                 │
│  ACTIVITY TIMELINE:                             │
│  ─────────────────────────────────────────────  │
│                                                 │
│  Today                                          │
│  ├── 10:30 AM  Pipeline passed ✓                │
│  │             !87 pipeline #1234               │
│  │                                              │
│  ├── 10:15 AM  Commit pushed                    │
│  │             "Fix review comments"            │
│  │             abc123 by @developer             │
│  │                                              │
│  ├── 9:00 AM   Review comment                   │
│  │             @reviewer: "Add error handling"  │
│  │                                              │
│  Yesterday                                      │
│  ├── 4:30 PM   MR !87 opened                    │
│  │             "GS-456: User dashboard"         │
│  │                                              │
│  ├── 2:00 PM   Commit pushed                    │
│  │             "Add dashboard component"        │
│  │             def456 by @developer             │
│  │                                              │
│  ├── 11:00 AM  Branch created                   │
│  │             feature/GS-456-dashboard         │
│  │                                              │
│  └── 10:45 AM  Task started                     │
│                @developer assigned              │
└─────────────────────────────────────────────────┘

CI/CD Integration

PIPELINE STATUS IN GITSCRUM

┌─────────────────────────────────────────────────┐
│  Sprint Board View                              │
│                                                 │
│  IN REVIEW                                      │
│  ├─────────────────────────────────────────────┐│
│  ││ GS-456 Dashboard                          ││
│  ││ @developer                                ││
│  ││ !87 Pipeline: ✓ passed                    ││
│  │└─────────────────────────────────────────────┘│
│  ├─────────────────────────────────────────────┐│
│  ││ GS-457 Settings                           ││
│  ││ @developer2                               ││
│  ││ !88 Pipeline: ✗ failed                    ││
│  │└─────────────────────────────────────────────┘│
│  ├─────────────────────────────────────────────┐│
│  ││ GS-458 API                                ││
│  ││ @developer3                               ││
│  ││ !89 Pipeline: ⏳ running                  ││
│  │└─────────────────────────────────────────────┘│
└─────────────────────────────────────────────────┘

Best Practices

  1. Use consistent task ID format in branches and MRs
  2. Configure pipeline webhooks for real-time status
  3. Automate status transitions from MR events
  4. Include task link in MR template
  5. Review pipeline status before merging
  6. Archive Git history in completed tasks
  7. Set up deployment tracking from pipelines
  8. Use labels to sync between systems

Anti-Patterns

✗ Manual status updates when automation available
✗ MRs without task references
✗ Ignoring pipeline failures
✗ Duplicate tracking in GitLab and GitScrum
✗ No webhook configuration
✗ Too many sync events causing noise