Repository navigation
Getting Started
- .NET SDK 10
- Git
- Optional Docker
dotnet restore VertexBPMN.sln
dotnet run --project src/VertexBPMN.Api/VertexBPMN.Api.csprojFür die lokale Entwicklung ist der AppHost der vollständigste Einstieg. Er startet API und Studio, provisioniert PostgreSQL und RabbitMQ und zeigt Logs, Traces, Metriken und Health-Status im Aspire Dashboard:
dotnet run --project src/VertexBPMN.AppHost --no-launch-profile -e DOTNET_ENVIRONMENT=Development| Dienst | Adresse |
|---|---|
| API | http://localhost:51870 |
| Studio | http://localhost:5263 |
| API Readiness | http://localhost:51870/api/ready |
| API Liveness | http://localhost:51870/api/health/live |
| Swagger | http://localhost:51870/swagger |
Details zu Projekt- und Containerprofil stehen unter Aspire AppHost.
API und Studio können gemeinsam gestartet werden:
dotnet run --project src/VertexBPMN.Cli -- dashboardDie CLI bietet darüber hinaus interaktive und skriptbare Befehle für Validierung, Deployment, Ausführung, Konfiguration und Workflow-Trigger. Die vollständige Referenz steht unter VertexBPMN CLI.
Der CLI-Workflow verwendet standardmäßig:
| Dienst | Adresse |
|---|---|
| API | http://localhost:51870 |
| Studio | http://localhost:5263 |
| Health | http://localhost:51870/api/health |
| Swagger | http://localhost:51870/swagger |
Prüfe den Health-Endpunkt:
curl http://localhost:51870/api/healthDie tatsächliche URL kann durch Launch-Settings abweichen. Swagger und die CLI-Ausgabe sind maßgeblich.
Speichere dieses Modell als hello-world.bpmn:
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
targetNamespace="https://vertexbpmn.dev/examples">
<bpmn:process id="Process_HelloWorld" name="Hello World" isExecutable="true">
<bpmn:startEvent id="StartEvent_1" />
<bpmn:endEvent id="EndEvent_1" />
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="EndEvent_1" />
</bpmn:process>
</bpmn:definitions>Deploye das Modell:
$body = @{
bpmnXml = Get-Content .\hello-world.bpmn -Raw
name = "hello-world.bpmn"
tenantId = $null
} | ConvertTo-Json
Invoke-RestMethod -Method Post `
-Uri http://localhost:51870/api/repository `
-ContentType application/json -Body $body$body = @{
ProcessDefinitionKey = "Process_HelloWorld"
Variables = @{ greeting = "Hello from VertexBPMN" }
BusinessKey = "demo-001"
TenantId = $null
} | ConvertTo-Json -Depth 10
Invoke-RestMethod -Method Post `
-Uri http://localhost:51870/api/runtime/start `
-ContentType application/json -Body $body