GitScrum / Docs
All Best Practices

CI/CD Pipeline Integration | Automated Task Updates

Connect CI/CD pipelines to GitScrum for automated status updates. Link commits to tasks, notify on builds, and track deployments from code to production.

6 min read

CI/CD pipelines automate build and deployment, but disconnected from project management creates visibility gaps. GitScrum's CI/CD integrations automatically update task status based on pipeline events, providing real-time deployment visibility and connecting code changes to project progress.

CI/CD Integration Points

Pipeline StageGitScrum ActionBenefit
Branch createdLink to taskTraceability
PR openedComment on taskVisibility
Build failsComment + alertQuick fix
Build passesUpdate statusProgress tracking
Deployed to stagingTransition taskTesting ready
Deployed to productionComplete taskRelease tracking

Integration Architecture

CI/CD TO GITSCRUM FLOW

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                DEVELOPMENT                      β”‚
β”‚                                                 β”‚
β”‚  1. Developer creates branch                    β”‚
β”‚     Branch: feature/TASK-234-user-search        β”‚
β”‚                 β”‚                               β”‚
β”‚                 β–Ό                               β”‚
β”‚  2. Commits reference task                      β”‚
β”‚     "TASK-234: Implement search API"            β”‚
β”‚                 β”‚                               β”‚
β”‚                 β–Ό                               β”‚
β”‚  3. Opens Pull Request                          β”‚
β”‚     β†’ GitScrum: Comment added to TASK-234       β”‚
β”‚       "PR #567 opened: [link]"                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                CI PIPELINE                      β”‚
β”‚                                                 β”‚
β”‚  4. Build & Test                                β”‚
β”‚     β”œβ”€β”€ If FAIL β†’ Comment on TASK-234           β”‚
β”‚     β”‚              "Build failed: [logs]"       β”‚
β”‚     β”‚                                           β”‚
β”‚     └── If PASS β†’ Comment on TASK-234           β”‚
β”‚                   "Build passed βœ“"              β”‚
β”‚                 β”‚                               β”‚
β”‚                 β–Ό                               β”‚
β”‚  5. Code Review Approved                        β”‚
β”‚     β†’ GitScrum: TASK-234 β†’ "In Review"          β”‚
β”‚                 β”‚                               β”‚
β”‚                 β–Ό                               β”‚
β”‚  6. Merge to main                               β”‚
β”‚     β†’ GitScrum: TASK-234 β†’ "Ready for Deploy"   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β”‚
                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                CD PIPELINE                      β”‚
β”‚                                                 β”‚
β”‚  7. Deploy to Staging                           β”‚
β”‚     β†’ GitScrum: TASK-234 β†’ "In Staging"         β”‚
β”‚       Comment: "Deployed to staging [link]"     β”‚
β”‚                 β”‚                               β”‚
β”‚                 β–Ό                               β”‚
β”‚  8. Deploy to Production                        β”‚
β”‚     β†’ GitScrum: TASK-234 β†’ "Done"               β”‚
β”‚       Comment: "Released in v2.3.4"             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Webhook Configuration

WEBHOOK SETUP

INCOMING WEBHOOKS (CI/CD β†’ GitScrum):
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Endpoint: /api/webhooks/ci-cd                  β”‚
β”‚                                                 β”‚
β”‚  Events to send:                                β”‚
β”‚  β”œβ”€β”€ build.started                              β”‚
β”‚  β”œβ”€β”€ build.completed                            β”‚
β”‚  β”œβ”€β”€ build.failed                               β”‚
β”‚  β”œβ”€β”€ deploy.started                             β”‚
β”‚  β”œβ”€β”€ deploy.completed                           β”‚
β”‚  └── deploy.failed                              β”‚
β”‚                                                 β”‚
β”‚  Payload structure:                             β”‚
β”‚  {                                              β”‚
β”‚    "event": "build.completed",                  β”‚
β”‚    "task_id": "TASK-234",                       β”‚
β”‚    "status": "success",                         β”‚
β”‚    "details": {                                 β”‚
β”‚      "build_url": "...",                        β”‚
β”‚      "commit": "abc123",                        β”‚
β”‚      "duration": "3m 42s"                       β”‚
β”‚    }                                            β”‚
β”‚  }                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

OUTGOING WEBHOOKS (GitScrum β†’ CI/CD):
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Trigger: Task status change to "Deploy"        β”‚
β”‚                                                 β”‚
β”‚  Action: Start deployment pipeline              β”‚
β”‚                                                 β”‚
β”‚  Payload:                                       β”‚
β”‚  {                                              β”‚
β”‚    "task_id": "TASK-234",                       β”‚
β”‚    "environment": "staging",                    β”‚
β”‚    "initiated_by": "jane@company.com"           β”‚
β”‚  }                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Branch & Commit Conventions

TASK LINKING CONVENTIONS

BRANCH NAMING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Pattern: <type>/TASK-<id>-<description>        β”‚
β”‚                                                 β”‚
β”‚  Examples:                                      β”‚
β”‚  feature/TASK-234-user-search                   β”‚
β”‚  bugfix/TASK-567-login-timeout                  β”‚
β”‚  hotfix/TASK-890-payment-fix                    β”‚
β”‚                                                 β”‚
β”‚  CI extracts: TASK-234 from branch name         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

COMMIT MESSAGE:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Pattern: TASK-<id>: <message>                  β”‚
β”‚                                                 β”‚
β”‚  Examples:                                      β”‚
β”‚  TASK-234: Add user search endpoint             β”‚
β”‚  TASK-234: Add search result pagination         β”‚
β”‚  TASK-234: Fix search query injection           β”‚
β”‚                                                 β”‚
β”‚  Multiple tasks:                                β”‚
β”‚  TASK-234, TASK-235: Refactor search module     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

PR TITLE:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Pattern: [TASK-<id>] <description>             β”‚
β”‚                                                 β”‚
β”‚  Example:                                       β”‚
β”‚  [TASK-234] Implement user search functionality β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Pipeline Script Examples

CI/CD SCRIPT INTEGRATION

GITHUB ACTIONS EXAMPLE:

name: Build and Notify
on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Extract Task ID
        id: task
        run: |
          TASK_ID=$(echo "${{ github.ref }}" | grep -oP 'TASK-\d+')
          echo "task_id=$TASK_ID" >> $GITHUB_OUTPUT
      
      - name: Run Tests
        run: npm test
      
      - name: Notify GitScrum - Success
        if: success()
        run: |
          curl -X POST $GITSCRUM_WEBHOOK_URL \
            -H "Authorization: Bearer $GITSCRUM_TOKEN" \
            -d '{
              "task_id": "${{ steps.task.outputs.task_id }}",
              "event": "build.completed",
              "status": "success",
              "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
            }'
      
      - name: Notify GitScrum - Failure
        if: failure()
        run: |
          curl -X POST $GITSCRUM_WEBHOOK_URL \
            -H "Authorization: Bearer $GITSCRUM_TOKEN" \
            -d '{
              "task_id": "${{ steps.task.outputs.task_id }}",
              "event": "build.failed",
              "status": "failure",
              "url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
            }'

Automation Benefits

INTEGRATION METRICS

BEFORE INTEGRATION:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Manual status updates: 15 min/day per dev      β”‚
β”‚  Missing deployment info: Common                β”‚
β”‚  Build failure notification: Delayed            β”‚
β”‚  Release tracking: Spreadsheet                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

AFTER INTEGRATION:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Manual status updates: 0 (automated)           β”‚
β”‚  Missing deployment info: None                  β”‚
β”‚  Build failure notification: Instant            β”‚
β”‚  Release tracking: Automatic task links         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

TIME SAVINGS:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  5 developers Γ— 15 min/day = 6.25 hours/week    β”‚
β”‚  Annual savings: 325 developer hours            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Best Practices

  • Consistent naming for branches and commits
  • Automate all transitions that can be automated
  • Include links to builds and deployments
  • Handle failures with actionable information
  • Track deployments per environment
  • Connect releases to completed tasks
  • Monitor integration health
  • Document conventions for the team
  • Anti-Patterns

    βœ— Manual status updates when automation possible
    βœ— No task IDs in commits/branches
    βœ— Silent build failures
    βœ— Deployments without task updates
    βœ— Overly complex automation
    βœ— No error handling in webhooks
    

    Related Solutions