Skip to content

feat(semaphore): add Get Pipeline action component#3108

Open
nenadilic84 wants to merge 6 commits intosuperplanehq:mainfrom
nenadilic84:feat/semaphore-get-pipeline
Open

feat(semaphore): add Get Pipeline action component#3108
nenadilic84 wants to merge 6 commits intosuperplanehq:mainfrom
nenadilic84:feat/semaphore-get-pipeline

Conversation

@nenadilic84
Copy link

Summary

  • Add GetPipeline component to the Semaphore integration that retrieves a pipeline by ID via the Semaphore API
  • Implement backend component with configuration validation, client call, and output emission on the default channel
  • Add unit tests for Setup (missing/valid pipelineId) and Execute (mock HTTP, verify emitted payload)
  • Add example output JSON and frontend mapper for displaying pipeline details (name, state, result, ppl_id, wf_id)

Test plan

  • Verify GetPipeline Setup rejects empty pipelineId
  • Verify GetPipeline Setup accepts valid pipelineId
  • Verify GetPipeline Execute emits correct payload on default channel
  • Verify frontend mapper renders pipeline details in execution details view
  • Run go test ./pkg/integrations/semaphore/...

Closes #2827

@nenadilic84 nenadilic84 mentioned this pull request Feb 13, 2026
5 tasks
@nenadilic84 nenadilic84 force-pushed the feat/semaphore-get-pipeline branch 3 times, most recently from 65445b8 to cae5eca Compare February 13, 2026 12:12
@nenadilic84 nenadilic84 force-pushed the feat/semaphore-get-pipeline branch from cae5eca to 367cefd Compare February 13, 2026 12:17
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

@nenadilic84
Copy link
Author

Demo video coming shortly — recording the integration setup and fetching pipeline details from Semaphore.

@nenadilic84 nenadilic84 force-pushed the feat/semaphore-get-pipeline branch from 5337965 to 648f6a0 Compare February 13, 2026 15:08
Add a new GetPipeline component for the Semaphore integration that
retrieves a pipeline by ID from the Semaphore API. This enables
users to inspect pipeline state and result within SuperPlane workflows.

Includes backend component, tests, example output JSON, and frontend
mapper for displaying pipeline details.

Closes superplanehq#2827

Signed-off-by: Nenad Ilic <nenadilic84@gmail.com>
Use the default state registry to correctly reflect execution status
(success, error, running, etc.) instead of hardcoding neutral state.

Signed-off-by: Nenad Ilic <nenadilic84@gmail.com>
Signed-off-by: Nenad Ilic <nenadilic84@gmail.com>
Removes the unused ComponentBaseSpec import that causes a TypeScript
compilation error under strict mode (noUnusedLocals).

Signed-off-by: Nenad Ilic <nenadilic84@gmail.com>
Signed-off-by: Nenad Ilic <nenadilic84@gmail.com>
- Use JSON marshal/unmarshal in test to robustly inspect emitted
  Pipeline payload instead of direct type assertion
- Remove duplicate local stringOrDash helper and import the shared
  version from mappers/utils.ts

Signed-off-by: Nenad Ilic <nenadilic84@gmail.com>
@nenadilic84 nenadilic84 force-pushed the feat/semaphore-get-pipeline branch from 1a241a4 to 00808e6 Compare February 14, 2026 07:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Semaphore] Get Pipeline

1 participant