Label-Based Workflow Automation | GitScrum Rules Guide
Trigger automatic task movements, assignments, and notifications based on label changes. GitScrum automation ensures consistent process execution.
9 min read
Manual workflow management wastes time and introduces errors. When team members must remember to move cards, notify stakeholders, or update fields, things get missed. Label-based automation in GitScrum triggers actions automatically, ensuring consistent process execution while freeing your team to focus on actual work.
Automation Fundamentals
How Label Automation Works
AUTOMATION CONCEPT:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LABEL-TRIGGERED AUTOMATION β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β BASIC PATTERN: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β WHEN [label added/removed] ββ
β β THEN [perform action] ββ
β β OPTIONALLY [notify someone] ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β AUTOMATION TRIGGERS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β β’ Label added to task ββ
β β β’ Label removed from task ββ
β β β’ Task moved to column ββ
β β β’ Task assigned to user ββ
β β β’ Due date reached ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β POSSIBLE ACTIONS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β β’ Move task to column ββ
β β β’ Assign task to user ββ
β β β’ Add/remove other labels ββ
β β β’ Set due date ββ
β β β’ Send notification (Slack, Teams, Discord) ββ
β β β’ Update task fields ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β EXAMPLE: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β WHEN: Label "approved" is added ββ
β β THEN: ββ
β β β’ Move task to "Ready for Dev" column ββ
β β β’ Remove "needs-review" label ββ
β β β’ Notify #dev-team Slack channel ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Label System Design
Designing for Automation
LABEL STRUCTURE:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ORGANIZING LABELS FOR AUTOMATION β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β USE PREFIXES FOR CATEGORIES: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Status labels (trigger column moves): ββ
β β status/needs-design ββ
β β status/needs-review ββ
β β status/approved ββ
β β status/blocked ββ
β β status/on-hold ββ
β β ββ
β β Priority labels (trigger ordering): ββ
β β priority/critical ββ
β β priority/high ββ
β β priority/medium ββ
β β priority/low ββ
β β ββ
β β Team labels (trigger assignments): ββ
β β team/frontend ββ
β β team/backend ββ
β β team/design ββ
β β team/qa ββ
β β ββ
β β Type labels (trigger workflows): ββ
β β type/bug ββ
β β type/feature ββ
β β type/hotfix ββ
β β type/refactor ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β EXCLUSIVE vs ADDITIVE LABELS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Exclusive (only one at a time): ββ
β β β’ Status labels - task can only be in one status ββ
β β β’ Priority labels - task has one priority ββ
β β ββ
β β Additive (multiple allowed): ββ
β β β’ Team labels - multiple teams can be involved ββ
β β β’ Feature labels - task can touch multiple features ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Common Automation Recipes
Ready-to-Use Patterns
AUTOMATION RECIPES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β COMMON WORKFLOW AUTOMATIONS β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β REVIEW WORKFLOW: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Recipe: Automatic review routing ββ
β β ββ
β β Trigger: Task moved to "Review" column ββ
β β Actions: ββ
β β β’ Add label "status/needs-review" ββ
β β β’ Assign to code review rotation (round-robin) ββ
β β β’ Notify reviewer via Slack DM ββ
β β ββ
β β Trigger: Label "status/approved" added ββ
β β Actions: ββ
β β β’ Move to "Ready to Deploy" column ββ
β β β’ Remove "status/needs-review" label ββ
β β β’ Notify original assignee ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β BUG TRIAGE: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Recipe: Critical bug escalation ββ
β β ββ
β β Trigger: Labels "type/bug" + "priority/critical" added ββ
β β Actions: ββ
β β β’ Move to "In Progress" column (skip queue) ββ
β β β’ Assign to on-call developer ββ
β β β’ Set due date to today + 4 hours ββ
β β β’ Send urgent notification to #incidents ββ
β β β’ Add to current sprint automatically ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β BLOCKED HANDLING: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Recipe: Blocked task escalation ββ
β β ββ
β β Trigger: Label "status/blocked" added ββ
β β Actions: ββ
β β β’ Move to "Blocked" column ββ
β β β’ Notify team lead ββ
β β β’ Add to daily standup agenda ββ
β β ββ
β β Trigger: Label "status/blocked" removed ββ
β β Actions: ββ
β β β’ Return to previous column ββ
β β β’ Notify original assignee ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β TEAM ROUTING: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Recipe: Automatic team assignment ββ
β β ββ
β β Trigger: Label "team/frontend" added ββ
β β Actions: ββ
β β β’ Assign to frontend team lead ββ
β β β’ Move to "Frontend Backlog" column ββ
β β β’ Add "needs-estimation" label ββ
β β ββ
β β Trigger: Label "team/backend" added ββ
β β Actions: ββ
β β β’ Assign to backend team lead ββ
β β β’ Move to "Backend Backlog" column ββ
β β β’ Add "needs-estimation" label ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Integration Automations
Connecting External Tools
INTEGRATION RECIPES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CROSS-PLATFORM AUTOMATION β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β SLACK NOTIFICATIONS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β High-priority task created: ββ
β β β Post to #urgent-tasks channel ββ
β β β Include task title, assignee, due date ββ
β β ββ
β β Task completed: ββ
β β β Post celebration to #wins channel ββ
β β β Tag team members involved ββ
β β ββ
β β Sprint goal at risk: ββ
β β β Post warning to #sprint-status ββ
β β β Include blocked items list ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β GITHUB INTEGRATION: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β PR opened mentioning task: ββ
β β β Move task to "In Review" column ββ
β β β Add "has-pr" label ββ
β β ββ
β β PR merged: ββ
β β β Move task to "Ready for QA" column ββ
β β β Remove "in-progress" label ββ
β β β Add "ready-for-testing" label ββ
β β ββ
β β PR closed without merge: ββ
β β β Move task back to "In Progress" ββ
β β β Add comment explaining PR closure ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β DEPLOYMENT AUTOMATION: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β When task has labels "deployed/staging": ββ
β β β Move to "QA on Staging" column ββ
β β β Assign to QA team member ββ
β β β Notify in #qa channel ββ
β β ββ
β β When task has labels "deployed/production": ββ
β β β Move to "Done" column ββ
β β β Add "released" label ββ
β β β Add to release notes ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Sprint Automations
Streamlining Sprint Management
SPRINT RECIPES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AUTOMATING SPRINT WORKFLOWS β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β SPRINT START: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β When sprint starts: ββ
β β β Notify all team members ββ
β β β Post sprint goal to #team channel ββ
β β β Create sprint retrospective task ββ
β β β Archive previous sprint's "Done" tasks ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β SPRINT END WARNING: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β 2 days before sprint ends: ββ
β β β Check for incomplete high-priority items ββ
β β β Notify team lead of at-risk items ββ
β β β Post status to #sprint-status channel ββ
β β ββ
β β Sprint ends: ββ
β β β Move incomplete items to backlog ββ
β β β Add "carried-over" label to incomplete items ββ
β β β Generate sprint summary report ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β CAPACITY MANAGEMENT: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β When sprint reaches capacity (by points): ββ
β β β Prevent adding more items without removal ββ
β β β Notify planning lead ββ
β β ββ
β β When team member overloaded: ββ
β β β Alert team lead ββ
β β β Suggest task redistribution ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Best Practices
Making Automation Work
AUTOMATION PRINCIPLES:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DESIGNING EFFECTIVE AUTOMATIONS β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β START SIMPLE: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Week 1: Basic notifications ββ
β β β’ New high-priority task β notify team ββ
β β β’ Task completed β notify stakeholder ββ
β β ββ
β β Week 2: Column automations ββ
β β β’ Status labels β move to columns ββ
β β β’ Team labels β assign to team leads ββ
β β ββ
β β Week 3+: Complex workflows ββ
β β β’ Multi-step approval processes ββ
β β β’ Cross-team coordination ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β AVOID AUTOMATION LOOPS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β Problem: ββ
β β Rule 1: "approved" label β move to "Ready" ββ
β β Rule 2: Move to "Ready" β add "approved" label ββ
β β Result: Infinite loop ββ
β β ββ
β β Solution: ββ
β β β’ Each automation should have one trigger ββ
β β β’ Don't trigger on the action you're creating ββ
β β β’ Test automations in sandbox project first ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β DOCUMENT YOUR AUTOMATIONS: β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β In NoteVault, create "Automation Documentation": ββ
β β ββ
β β ## Active Automations ββ
β β ββ
β β | Trigger | Action | Purpose | ββ
β β |---------|--------|---------| ββ
β β | Label "approved" | Move to Ready | Speed up workflow |ββ
β β | Label "blocked" | Notify lead | Quick unblocking | ββ
β β ββ
β β Why: New team members understand what happens ββ
β β automatically vs what they need to do manually ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ