Harness Pipeline Skill
Execute and monitor Harness CI/CD pipelines with automatic Jira issue linking.
Usage
/harness-pipeline <action> [options]Actions
trigger
Trigger a pipeline execution.
/harness-pipeline trigger --pipeline <pipeline-id> --branch <branch-name> --jira <issue-key>Steps:
- Validate Jira issue exists (using issue-validator)
- Execute pipeline via Harness REST API
- Add comment to Jira issue with execution link
- Return execution ID for monitoring
status
Check pipeline execution status.
/harness-pipeline status --execution <execution-id>Returns:
- Pipeline name
- Current status (Running, Success, Failed, Aborted)
- Stage statuses
- Duration
- Error details (if failed)
logs
Get pipeline execution logs.
/harness-pipeline logs --execution <execution-id> --stage <stage-name>list
List recent pipeline executions.
/harness-pipeline list --pipeline <pipeline-id> --limit 10Jira Integration
When triggering a pipeline with --jira flag:
- Pre-execution:
- Validates issue exists - Checks issue is in appropriate status - Adds "Pipeline Triggered" comment
- During execution:
- Optionally updates issue status to "In Progress"
- Post-execution:
- Adds execution result comment - Links build artifacts - Transitions issue based on result (configurable)
Example Workflow
# 1. Validate the Jira issue first
/jira validate PROJ-163
# 2. Trigger pipeline with Jira link
/harness-pipeline trigger \
--pipeline my-ci-pipeline \
--branch feature/PROJ-163 \
--jira PROJ-163
# 3. Monitor execution
/harness-pipeline status --execution <returned-execution-id>
# 4. View logs if needed
/harness-pipeline logs --execution <execution-id> --stage buildREST API Calls
This skill uses the Harness REST API (NOT MCP):
# Trigger pipeline
curl -X POST "${HARNESS_API_URL}/pipeline/api/pipeline/execute/${PIPELINE_ID}" \
-H "x-api-key: ${HARNESS_API_KEY}" \
-H "Harness-Account: ${HARNESS_ACCOUNT_ID}" \
-H "Content-Type: application/json" \
--data-urlencode "accountIdentifier=${HARNESS_ACCOUNT_ID}" \
--data-urlencode "orgIdentifier=${HARNESS_ORG_ID}" \
--data-urlencode "projectIdentifier=${HARNESS_PROJECT_ID}"Error Handling
| Error | Cause | Resolution |
|---|---|---|
| 401 Unauthorized | Invalid or expired PAT | Regenerate PAT token |
| 403 Forbidden | Insufficient permissions | Check PAT scope |
| 404 Not Found | Pipeline/execution not found | Verify identifiers |
| 429 Too Many Requests | Rate limited | Wait and retry |
Security
- PAT tokens stored in
.envonly - Never logged or exposed
- Minimal required permissions
- Rotate regularly