본문으로 건너뛰기
Structly 문서
English

Catalog 가이드

Workflow

이 페이지의 내용

Workflow가 기록하는 정보#

필드내용
workflow_key·name고유 Key와 이름. 필수
handleWeb 주소 이름. 필수이며 Key와 별개로 같은 Organization의 Workflow 사이에서 고유합니다(주소 이름)
summary·description한 줄 요약과 설명
inputsWorkflow 입력의 JSON Schema
steps순서 있는 Step. 필수
outputsWorkflow 출력
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를 확인합니다.