Azure Blueprints – Pipeline Graph EditorAzure Blueprints is a visual graph editor for Azure DevOps YAML pipelines. Open a pipeline file, view triggers, stages, jobs, and tasks as connected nodes, and edit the graph with live synchronization back to YAML. Features
How It Works
WalkthroughOpen the graph editor
Add the first trigger node
Add a stage
Add a stage dependency
Add a job
Add a job dependency
Add a task
Architecture
API / Exports
|
| Level | YAML context | Graph column | Node templateLevel |
|---|---|---|---|
| Stage | stages: list |
Stage (col 0) | 'stage' |
| Job | jobs: list (inside a stage or top-level) |
Job (col 1) | 'job' |
| Step | steps: list |
Task (col 2) | 'step' |
Template nodes store details.templatePath (the file path string) and details.parametersRaw (YAML-encoded parameters). Editing either field in the Properties panel immediately re-serializes the YAML.
Getting Started
Prerequisites
- Node.js 18+
- VS Code 1.85+
Install & Build
npm install
npm run build
Press F5 in VS Code to launch the extension in a new Extension Development Host window.
Running Tests
npm test
Coverage
npm run test:coverage
Configuration
azureBlueprints.organizationUrl– Azure DevOps organization URL used to fetch the task catalog, for examplehttps://dev.azure.com/myorg.
Changelog
- 2026-04-07: Added task input schema — selecting a
task:node now fetches structured input definitions from the Azure DevOps task catalog and renders them as typed form fields (text, checkbox, select, textarea) grouped by category in the Properties panel; 5 new tests forparseInputsRaw(221 total). - 2026-04-07: Added template node support — stage, job, and step template references (
- template: path.yml) are now parsed, displayed as distinct purple nodes, and round-trip through the YAML converter with fullparameters:block support; 13 new tests (254 total). - 2026-04-07: Added live template parameter resolution — when a template node's path resolves to a local file the extension reads and parses its
parameters:block and returnsTemplateParamDefinition[]to the webview; the Properties panel renders each parameter as a typed field (text, number, boolean checkbox, or values-based select); unresolvable templates fall back silently to the raw YAML textarea.
Changelog
- 2026-04-04: Switched the project to MIT open-source licensing, added public GitHub repository metadata, and updated the marketplace listing/support links for public distribution.
- 2026-04-02: Initial README generated from codebase.
- 2026-04-02: Fixed double-delete bug in PipelineGraph — node deletions now correctly sync the YAML in one keypress for both isolated nodes and nodes with connected edges.
- 2026-04-02: Fixed node deletion not immediately updating YAML — ReactFlow fires
onEdgesChangebeforeonNodesChangeduring deletion; edge removals now defer theironGraphChangecall sohandleNodesChangecan cancel it and write the YAML once with both correct nodes and edges. - 2026-04-03: Enforced single-input-edge constraint — connecting or re-routing an edge to a node that already has an incoming connection now replaces the old edge instead of creating a duplicate.
- 2026-04-04: Added trigger creation context menu — right-clicking an empty canvas with no trigger node now shows a menu with five trigger types (CI, PR, Scheduled, Manual, None).
- 2026-04-04: Added schedule trigger fields — Scheduled trigger properties panel exposes cron expression, schedule name, branches include/exclude, Always, and Batch; fully round-trips through YAML.
- 2026-04-04: Added CI trigger fields — CI trigger properties panel exposes Branches include/exclude, Paths include/exclude, Tags include/exclude, and Batch;
PipelineTriggertype expanded accordingly; 16 new tests (125 total). - 2026-04-03: Added PR trigger fields — PR trigger properties panel exposes Branches include/exclude, Paths include/exclude, Auto Cancel, and Drafts; added
PipelinePrTriggertype;getTriggerTypenow detectspr:blocks; 16 new tests (141 total).






