Skip to content

Pipeline Editor

The visual pipeline editor lets you design CI/CD workflows by dragging and dropping nodes onto a canvas.

┌─────────────────────────────────────────────────────────────────┐
│ Pipeline Name │ Description │ Save Run │
├──────────────────────┼──────────────────────────────────────────┤
│ │ │
│ TRIGGERS │ │
│ ┌─────────┐ │ ┌──────────────────┐ │
│ │ Manual │ │ │ Canvas Area │ │
│ └─────────┘ │ │ │ │
│ ┌─────────┐ │ │ Drop jobs and │ │
│ │ On Push │ │ │ triggers here │ │
│ └─────────┘ │ │ │ │
│ │ └──────────────────┘ │
│ BUILD │ │
│ ┌─────────┐ │ │
│ │Build iOS│ │ │
│ └─────────┘ │ │
│ ┌─────────┐ │ │
│ │Build Drd│ │ │
│ └─────────┘ │ │
│ │ │
└──────────────────────┴──────────────────────────────────────────┘
    • Navigate to your repository
    • Go to the Pipelines tab
    • Click Create Pipeline (or edit an existing one)
  1. Drag a trigger from the palette onto the canvas. Every pipeline needs at least one trigger.

  2. Drag job types onto the canvas. Position them to reflect your desired workflow.

  3. Click and drag from a node’s output port to another node’s input port to create connections.

  4. Click on a node to open its configuration dialog. Set options specific to that job type.

  5. Click Save to save your changes. The pipeline is now active.

ActionDesktopMobile
PanClick + drag on empty spaceTwo-finger drag
ZoomScroll wheelPinch
Select nodeClickTap
Move nodeDragDrag
ConnectDrag from portDrag from port
Delete connectionClick connection, press DeleteTap connection, tap delete
  • Desktop: Drag from palette onto canvas
  • Mobile: Tap a job type to add at center of view

Click/tap a node to open its configuration dialog. Each job type has specific options.

  1. Select the node
  2. Press Delete key or click the delete icon

Drag nodes to reposition. Nodes snap to a grid for alignment.

Connections define execution order. A job runs only after all upstream jobs complete successfully.

  1. Hover over a node’s output port (right side)
  2. Click and drag to another node’s input port (left side)
  3. Release to create the connection
  • Sequential: One job after another
  • Parallel: Multiple jobs from same source
  • Fan-in: Multiple sources to one job

Click the connection line and press Delete, or right-click and select “Remove”.

Drag a trigger type onto the canvas. You can have multiple triggers per pipeline.

TriggerConfiguration
ManualNo config needed
On PushBranch filter (regex)
On TagTag pattern
On PRSource/target branch
ScheduledCron expression

When pipeline runs are active, editing is locked to prevent conflicts:

⚠️ Editing is locked while 2 pipeline runs are active.
Wait for all runs to complete before making changes.
[Refresh]

Click Refresh to check if runs have completed.

ShortcutAction
Delete / BackspaceDelete selected node/connection
Cmd/Ctrl + SSave pipeline
Cmd/Ctrl + ZUndo
EscapeDeselect / Close dialog
  1. Name descriptively - Use clear pipeline names like “iOS Production Deploy”
  2. Add descriptions - Document what the pipeline does
  3. Keep it simple - Don’t over-engineer; add complexity as needed
  4. Test incrementally - Build up pipelines step by step
  5. Use parallel jobs - Run independent jobs in parallel for speed
  • Ensure you’re dragging from output (right) to input (left)
  • Check that you’re not creating a circular dependency
  • Check for validation errors (red highlights)
  • Ensure you have edit permissions
  • Verify no active runs are locking the pipeline
  • Try refreshing the page
  • Clear browser cache
  • Check browser console for errors