feat(semaphore): add List Pipelines component#2901
feat(semaphore): add List Pipelines component#2901mici25 wants to merge 4 commits intosuperplanehq:mainfrom
Conversation
Signed-off-by: mici25 <andreimm3221@yahoo.com>
Signed-off-by: mici25 <andreimm3221@yahoo.com>
5a4b4a8 to
bc2b495
Compare
| EMAIL_FROM_NAME: ${EMAIL_FROM_NAME:-SuperPlane} | ||
| EMAIL_FROM_ADDRESS: ${EMAIL_FROM_ADDRESS:-noreply@notifications.superplane.com} | ||
| BLOCK_SIGNUP: ${BLOCK_SIGNUP:-yes} | ||
| BLOCK_SIGNUP: ${BLOCK_SIGNUP:-no} |
There was a problem hiding this comment.
Unrelated BLOCK_SIGNUP default change appears accidentally committed
Medium Severity
The BLOCK_SIGNUP environment variable default changed from yes to no, which enables user signups by default in development. This change is unrelated to the Semaphore List Pipelines feature described in the PR title and description, suggesting it was accidentally committed. This alters security-related behavior in the development environment.
| Send(title, body, url, urlLabel string, receivers NotificationReceivers) error | ||
| } | ||
|
|
||
| type SecretsContext interface { |
There was a problem hiding this comment.
SSH component and related core interfaces accidentally deleted
High Severity
The entire SSH component (pkg/components/ssh/) was deleted along with related core interfaces: SecretsContext, ErrSecretKeyNotFound, the Secrets field in ExecutionContext, and FieldTypeSecretKey. This removes a complete feature and is unrelated to the PR's stated purpose of adding "List Pipelines" for Semaphore. Any workflows using the SSH component would break.
Additional Locations (1)
There was a problem hiding this comment.
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.
| } | ||
|
|
||
| params := &ListPipelinesParams{ | ||
| ProjectID: metadata.Project.ID, |
There was a problem hiding this comment.
Missing nil check causes potential panic in Execute
Medium Severity
The Execute function accesses metadata.Project.ID without checking if metadata.Project is nil first. While the Setup function properly performs this check at line 193, the Execute function does not. If metadata fails to persist or becomes corrupted between Setup and Execute, accessing metadata.Project.ID will cause a nil pointer dereference panic.
Additional Locations (1)
|
@mici25 thanks for trying this one out. The video needs to show the actual component working (actually returning the list of pipelines). You can check this guide on how to test 3rd party integrations with dev instance of SuperPlane: https://github.com/superplanehq/superplane/blob/main/docs/contributing/connecting-to-3rdparty-services-from-development.md |


Summary
pipelinesarray payload to match docs/example output.Changes
Link: rel="next"for pagination and enforces max 100.{ pipelines: [...] }for downstream use.Tests
Demo Video
test.mp4