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 Feature | GitScrum Sync |
|---|---|
| Merge Requests | Linked to tasks, status updates |
| Commits | Appear in task timeline |
| Pipelines | Status visible, automation triggers |
| Branches | Auto-link to tasks via naming |
| Code Review | Comments 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
- Use consistent task ID format in branches and MRs
- Configure pipeline webhooks for real-time status
- Automate status transitions from MR events
- Include task link in MR template
- Review pipeline status before merging
- Archive Git history in completed tasks
- Set up deployment tracking from pipelines
- 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