Workflow가 기록하는 정보#
| 필드 | 내용 |
|---|---|
workflow_key·name | 고유 Key와 이름. 필수 |
handle | Web 주소 이름. 필수이며 Key와 별개로 같은 Organization의 Workflow 사이에서 고유합니다(주소 이름) |
summary·description | 한 줄 요약과 설명 |
inputs | Workflow 입력의 JSON Schema |
steps | 순서 있는 Step. 필수 |
outputs | Workflow 출력 |
source | 선택적 Arazzo 출처 |
각 Step은 step_key와 호출 대상 target이 필수입니다. target은 Endpoint 또는 다른 Workflow를 ID로 가리킵니다.
{"kind": "endpoint", "endpoint_id": "63Tu9F67JiI"}{"kind": "workflow", "workflow_id": "0KUMIYz7u1m"}Step은 parameters·request_body로 값을 전달하고 success_criteria·on_success·on_failure로 조건·재시도·이동을 기록합니다.
Web UI#
Workflows → 새 Workflow에서 Step을 추가하고 Workflow 등록을 누릅니다. Arazzo 출처를 기록하려면 출처 스펙 문서 기록에서 Repository의 스펙 문서를 고릅니다.
stly#
{
"workflow_key": "check-order",
"handle": "check-order",
"name": "주문 확인",
"summary": "주문 상세를 조회해 결제 여부를 확인합니다",
"inputs": {"type": "object", "required": ["order_id"], "properties": {"order_id": {"type": "string"}}},
"steps": [
{"step_key": "get-order", "description": "주문 상세 조회",
"target": {"kind": "endpoint", "endpoint_id": "63Tu9F67JiI"},
"parameters": [{"name": "order_id", "in": "path", "value": {"kind": "expression", "text": "$inputs.order_id"}}],
"success_criteria": [{"condition": "$statusCode == 200"}]}
]
}stly workflows validate --operation create --input workflow.json
stly workflows create --input workflow.json값은 literal(고정 값)·expression(예: $inputs.order_id)·selector(JSONPath 등) 중 하나로 전달합니다.
전체 입력 형식은 stly schema workflows create에서 확인합니다.
참조 조회#
stly endpoints workflows <endpoint-id>
stly workflows referrers <workflow-id>endpoints workflows는 Endpoint를 호출하는 Workflow를, workflows referrers는 이 Workflow를 Step에서 호출하는 다른 Workflow를 반환합니다.
삭제#
다른 Workflow의 Step이 호출하는 Workflow는 삭제할 수 없습니다(HTTP 409 WORKFLOW_IN_USE). stly workflows referrers로 호출하는 Workflow를 확인합니다.