Skip to content

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

Closed
energypantry wants to merge 6 commits intosuperplanehq:mainfrom
energypantry:feat/energypantry-2827-get-pipeline-v2
Closed

feat(semaphore): add Get Pipeline action component#3142
energypantry wants to merge 6 commits intosuperplanehq:mainfrom
energypantry:feat/energypantry-2827-get-pipeline-v2

Conversation

@energypantry
Copy link
Contributor

@energypantry energypantry commented Feb 17, 2026

Summary

  • add semaphore.getPipeline action component to fetch a pipeline by ID
  • emit pipeline payload (name, ppl_id, wf_id, state, result, extra fields) to the default output channel
  • include backend tests, example output, docs entry, and workflow mapper support

Verification

  • go test ./pkg/integrations/semaphore/...
  • make check.build.ui (blocked locally: Docker daemon unavailable in this environment)

Notes

  • This PR directly addresses [Semaphore] Get Pipeline #2827 acceptance criteria for tests/docs/functionality
  • I can add the requested short demo video in a follow-up comment shortly after this PR is opened

Closes #2827

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>
@energypantry energypantry mentioned this pull request Feb 17, 2026
5 tasks
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.

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

core.DefaultOutputChannel.Name,
GetPipelinePayloadType,
[]any{pipeline},
)
Copy link

Choose a reason for hiding this comment

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

Pipeline fields are silently dropped

Medium Severity

Execute emits the result of client.GetPipeline as a typed Pipeline object, which only keeps a small fixed subset of keys. Any additional fields returned by Semaphore are lost before emission, so downstream workflow steps cannot read full pipeline metadata from semaphore.getPipeline.

Fix in Cursor Fix in Web

@AleksandarCole AleksandarCole added the bounty This issue has a bounty open label Feb 18, 2026
@AleksandarCole
Copy link
Collaborator

@energypantry video is required to proceed with the review. I will close this one to avoid clutter but please free to reopen once you get the chance to attach the video.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bounty This issue has a bounty open

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Semaphore] Get Pipeline

3 participants

Comments