From gitlab
Monitors GitLab CI/CD pipelines or jobs until completion via polling, reporting real-time status changes, progress, and failures with job logs.
npx claudepluginhub thebushidocollective/han --plugin gitlabThis skill uses the workspace's default tool permissions.
gitlab:monitor-pipeline - Monitor a pipeline or job until completion with real-time status updates
Views GitLab CI/CD pipeline status for merge requests or projects, showing jobs by stage, durations, timestamps, and failed job logs.
Debugs GitLab CI/CD pipelines for merge requests: checks status, identifies failed jobs, retrieves logs, analyzes errors, and suggests fixes. Use for investigating pipeline issues or viewing job logs.
Waits for GitHub Actions, GitLab CI, or Vercel pipelines to complete after git push or PR, reports status, logs, and URLs to proceed or debug failures.
Share bugs, ideas, or general feedback.
gitlab:monitor-pipeline - Monitor a pipeline or job until completion with real-time status updates
/monitor-pipeline <project-id> <pipeline-id> [--job <job-id>] [--interval <seconds>]
Continuously monitors a GitLab CI/CD pipeline or specific job until it reaches a terminal state (success, failed, or canceled). Reports status changes as they happen and immediately notifies the user of any failures with detailed error information.
This skill uses a polling approach to monitor pipeline and job statuses:
WHILE pipeline.status IN [pending, running, waiting_for_resource, preparing]
WAIT interval seconds
FETCH current pipeline status
FETCH all job statuses
FOR each job:
IF job.status changed:
REPORT status change
IF job.status == "failed":
FETCH job logs
REPORT failure details immediately
REPORT overall progress summary
REPORT final pipeline result
/monitor-pipeline 456 1234
/monitor-pipeline 456 1234 --job 5678
/monitor-pipeline 456 1234 --interval 30
User: /monitor-pipeline 456 1234
Claude: Starting pipeline monitor for Pipeline #1234 in project 456...
## Pipeline Monitor Started
**Pipeline**: #1234
**Branch**: feature/add-authentication
**Started**: 2025-01-15 10:30:22
**Status**: Running
I'll monitor this pipeline and report status changes as they happen.
---
### Update [10:31:45]
**Stage: build**
- ✓ `compile` completed successfully (1m 18s)
Progress: 1/6 jobs complete
---
### Update [10:32:30]
**Stage: build**
- ✓ `bundle-assets` completed successfully (42s)
Progress: 2/6 jobs complete
---
### Update [10:34:15]
**Stage: test**
- ✓ `unit-tests` completed successfully (1m 45s)
Progress: 3/6 jobs complete
---
### Update [10:36:00]
**Stage: test**
- ✓ `integration-tests` completed successfully (1m 45s)
Progress: 4/6 jobs complete
---
### Update [10:37:30]
**Stage: lint**
- ✓ `eslint-check` completed successfully (1m 30s)
- ✓ `type-check` completed successfully (1m 28s)
Progress: 6/6 jobs complete
---
## Pipeline Complete
**Status**: ✓ Success
**Total Duration**: 7m 08s
**All 6 jobs passed**
The pipeline completed successfully. Your changes are ready for merge.
User: /monitor-pipeline 456 1234
Claude: Starting pipeline monitor for Pipeline #1234...
## Pipeline Monitor Started
**Pipeline**: #1234
**Branch**: feature/database-migration
**Status**: Running
---
### Update [10:31:45]
**Stage: build**
- ✓ `compile` completed successfully (1m 18s)
Progress: 1/6 jobs complete
---
### FAILURE ALERT [10:33:20]
**Job Failed**: `integration-tests` in stage `test`
**Duration**: 1m 35s
**Exit Code**: 1
**Error Log**:
FAILED tests/integration/auth.test.ts
● Authentication API › POST /login › should validate credentials
ConnectionError: Connection to database refused
at PostgresClient.connect (src/db/client.ts:45:12)
at setupTestDB (tests/setup.ts:23:8)
1 test failed, 12 passed
**Likely Causes**:
1. Database service not available in CI environment
2. Missing DATABASE_URL environment variable
3. Network connectivity issues in test container
---
## Pipeline Failed
**Status**: ✗ Failed
**Duration**: 3m 35s
**Failed Jobs**: 1 (integration-tests)
**Passed Jobs**: 2
**Canceled Jobs**: 3
The pipeline failed due to test failures. Review the error above and push a fix.
Would you like me to help debug the database connection issue?
User: /monitor-pipeline 456 1234 --job 5678
Claude: Starting job monitor for Job #5678 (deploy-production)...
## Job Monitor Started
**Job**: deploy-production (#5678)
**Stage**: deploy
**Status**: Running
**Started**: 2025-01-15 14:30:00
---
### Progress [14:31:00]
Deploying to production cluster...
---
### Progress [14:32:30]
---
## Job Complete
**Status**: ✓ Success
**Duration**: 2m 45s
Production deployment successful!
| Argument | Required | Description |
|---|---|---|
project-id | Yes | Numeric project ID or URL-encoded path |
pipeline-id | Yes | Pipeline ID to monitor |
--job | No | Specific job ID to monitor instead of entire pipeline |
--interval | No | Polling interval in seconds (default: 15, min: 5, max: 300) |
The monitor exits when the pipeline/job reaches one of these states:
| State | Description |
|---|---|
success | All jobs completed successfully |
failed | One or more jobs failed |
canceled | Pipeline was manually canceled |
skipped | Pipeline was skipped (rules not met) |
| Icon | Meaning |
|---|---|
| ✓ | Success/Passed |
| ✗ | Failed |
| ⏳ | Running |
| ⏸️ | Pending/Waiting |
| ⏭️ | Skipped |
| ⊘ | Canceled |
/view-pipeline: One-time snapshot of pipeline status/create-mr: Create MR that triggers a pipeline/review-mr: Review MR including pipeline status