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 Stage | GitScrum Action | Benefit |
|---|---|---|
| Branch created | Link to task | Traceability |
| PR opened | Comment on task | Visibility |
| Build fails | Comment + alert | Quick fix |
| Build passes | Update status | Progress tracking |
| Deployed to staging | Transition task | Testing ready |
| Deployed to production | Complete task | Release 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
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