주요 콘텐츠로 건너뛰기
문서확장 생태계마켓플레이스

마켓플레이스

완성한 워크플로를 템플릿이나 모듈로 게시하고 버전별로 반복 개선합니다. 다운로드 시 의존성이 자동으로 해결되어 설치가 끝나면 인스턴스화하여 사용할 수 있습니다.

마켓은 콘솔의 「마켓」 페이지입니다: 커뮤니티와 공식이 발행한 템플릿과 모듈이 모두 여기에 있습니다. 다른 사람이 발행한 항목을 자신의 템플릿 라이브러리나 모듈 라이브러리로 다운로드할 수 있고, 자신이 만든 워크플로를 발행하여 버전별로 이터레이션할 수도 있습니다. 템플릿은 다운로드 후 자신의 워크플로로 인스턴스화되고, 모듈은 다운로드 후 sub_workflow 단계로 바로 참조할 수 있습니다.

브라우징과 분류

목록은 유형(템플릿 / 모듈), 분류, 태그로 필터링할 수 있고, 이름, 설명, 태그로 검색할 수도 있습니다. 상단에는 세 가지 뷰가 있습니다: 전체, 내가 업로드한 것, 내가 다운로드한 것. 각 카드에는 작성자, 최신 버전 번호, 다운로드 횟수가 표시되며, 플랫폼 자체 항목에는 「공식」 마크가 붙습니다.

  • 분류 드롭다운의 선택지는 현재 등록된 항목의 실제 분류에서 오며, 고정된 목록이 아닙니다. 분류와 태그는 귀하의 인터페이스 언어에 따라 표시됩니다.
  • 마켓에는 등록되어 있고 귀하에게 보이는 항목만 표시됩니다. 발행자는 항목을 공개, 팀 구성원만 보기, 지정 사용자만 보기로 설정할 수 있으며, 보이지 않는 항목은 귀하의 목록에 나타나지 않습니다.
  • 이미 다운로드한 항목은 카드에 「다운로드됨」이 바로 표시됩니다. 새 버전이 있으면 버튼이 「업데이트」로 바뀝니다.

귀하의 템플릿 또는 모듈 발행하기

발행 진입점은 워크플로 편집기 안에 있습니다. 워크플로의 소유자만 그것을 마켓에 발행할 수 있습니다 — 관리자도 귀하를 대신해 첫 버전을 발행할 수 없습니다.

  • 유형: 모듈 계약을 가진 워크플로는 「모듈」로 발행할 수 있고, 그렇지 않으면 「템플릿」으로만 발행할 수 있습니다. 모듈 형태로 발행하려면 먼저 편집기에서 「모듈로 승격」하고 계약을 저장하십시오.
  • 제목(필수, 최대 200자), 소개(최대 5000자), 분류, 태그(최대 20개), 아이콘, 버전 번호, 업데이트 설명을 작성해야 합니다.
  • 버전 번호는 semver 형식을 요구하며, 예를 들어 1.0.0 또는 1.0.0-beta입니다.
  • 가시성 3단계: 모든 사용자에게 보이기, 내가 가입한 팀 구성원만 보기(팀 ID 입력), 지정 사용자만 보기(사용자 ID 입력). 팀 보기를 선택하면 나열된 각 팀의 구성원이어야 합니다.
  • 가격: 현재 무료 발행(0 USD)만 지원하며, 유료 기능은 아직 개방되지 않았습니다.
  • 직렬화된 워크플로 정의는 최대 2MB이며, 초과하면 거부됩니다.
bash
curl -X POST https://braidrun.com/api/marketplace/items \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceWorkflowId": "<workflow-id>",
    "type": "TEMPLATE",
    "title": "竞品价格日报",
    "description": "每天拉取竞品价格并生成对比表",
    "category": "数据分析",
    "tags": ["监控", "报表"],
    "version": "1.0.0",
    "changelog": "首个版本",
    "visibility": "PUBLIC",
    "priceUsdCents": 0
  }'

업로드 후 항목은 「승인 대기」 상태가 되며, 관리자가 승인해야 등록됩니다. 등록된 항목만 다른 사용자의 마켓 목록에 나타납니다. 반려되면 「내가 업로드한 것」 뷰에서 반려 사유를 볼 수 있습니다.

버전 관리

같은 워크플로는 새 항목으로 중복 발행할 수 없습니다 — 편집기가 "이 워크플로는 이미 발행되었음"을 자동으로 인식하여 대화 상자를 「새 버전 업로드」로 전환합니다.

  • 항목의 원작성자만 새 버전을 발행할 수 있습니다. 플랫폼 관리자가 대신 발행할 수 있지만 항목의 작성자 귀속은 변하지 않습니다. 시스템 내장 항목은 관리자만 새 버전을 낼 수 있습니다.
  • 새 버전 번호는 반드시 유효한 semver여야 하며 현재 최신 버전보다 낮을 수 없습니다. 같은 버전 번호는 중복 업로드할 수 없습니다.
  • 새 버전도 마찬가지로 승인 대기에 들어갑니다. 승인 기간 동안 항목 자체는 등록 상태를 유지하며, 다른 사용자가 다운로드하는 것은 여전히 최신 등록 버전입니다.
  • 해당 항목을 이미 다운로드한 사용자는 마켓 카드와 「내가 다운로드한 것」에서 업데이트 알림을 보게 되며, 다시 다운로드하면 최신 버전으로 업데이트됩니다.
  • 항목 상세 페이지에는 전체 버전 이력과 각 버전의 업데이트 설명이 나열됩니다.

설치: 의존성 자동 해석

「다운로드」를 클릭하면 항목이 귀하의 템플릿 라이브러리나 모듈 라이브러리에 저장됩니다. 이 템플릿이나 모듈이 다른 모듈(sub_workflow 단계)을 참조하고 있다면, 다운로드 전에 플랫폼이 먼저 완전한 의존성 그래프를 해석하여 각 의존성의 상태를 하나씩 표시합니다:

상태의미
다운로드됨귀하의 라이브러리에 이 모듈의 최신 버전이 이미 있어 건너뜀
업데이트 필요귀하가 구 버전을 다운로드한 적이 있어 이번에 함께 최신 버전으로 업데이트됨
다운로드 가능마켓에 있으나 귀하가 아직 다운로드하지 않아 이번에 함께 다운로드됨
없음마켓에서 동명의 모듈을 찾을 수 없음
비공개모듈은 존재하나 귀하가 속하지 않은 팀 또는 사용자에게만 보이도록 제한됨

「의존성과 함께 다운로드」를 확인하면 설치는 의존성 순서로 진행됩니다: 먼저 가장 하위에서 참조되는 모듈을 설치하고 층층이 위로 올라가, 마지막에 귀하가 클릭한 항목 자체를 설치합니다. 다운로드 과정에서 사본 내 sub_workflow가 참조하는 workflow_id는 귀하의 라이브러리에 대응하는 사본의 ID로 자동으로 재작성됩니다 — 설치가 끝나면 어떤 참조도 수동으로 고칠 필요가 없으며, 템플릿은 바로 인스턴스화하여 실행할 수 있고 모듈은 바로 참조할 수 있습니다.

bash
# 下载最新版,连同依赖一起(返回本次创建的全部下载记录)
curl -X POST "https://braidrun.com/api/marketplace/items/<item-id>/download?withDependencies=true" \
  -H "Authorization: Bearer <token>"

# 下载指定历史版本(只下载该条目本身,不做依赖级联)
curl -X POST "https://braidrun.com/api/marketplace/items/<item-id>/download?version=1.2.0" \
  -H "Authorization: Bearer <token>"
  • 의존성 해석은 최신 버전을 다운로드할 때만 수행됩니다. 특정 이력 버전을 지정하여 다운로드하면 해당 항목 자체만 다운로드됩니다.
  • 순환 참조(A가 B를 참조하고 B가 다시 A를 참조)는 인식되어 정상적으로 처리되며 설치가 멈추지 않습니다.
  • 다운로드 자체는 워크플로 쿼터를 소모하지 않으며, 이후의 인스턴스화가 소모합니다.

의존성이 「누락」 또는 「보이지 않음」으로 표시되어도 상위 항목은 여전히 라이브러리에 설치할 수 있으나, 해당 sub_workflow 단계는 그 모듈이 발행되거나 귀하에게 보이게 될 때까지 실행할 수 없습니다. 다운로드 확인 창에 이러한 공백이 명확히 나열됩니다.

다운로드 후: 인스턴스화

다운로드는 항목을 귀하의 라이브러리에 넣는 것일 뿐이며, 사본은 기본적으로 읽기 전용으로 잠깁니다. 실제로 사용을 시작하는 데는 두 가지 경로가 있습니다:

  • 템플릿: 템플릿 라이브러리에서 다운로드한 항목의 「사용」을 클릭하면 편집 가능한 워크플로로 인스턴스화되며, 기본 이름은 「원래 이름 (템플릿에서 생성)」입니다. 이 단계에서 비로소 워크플로 수 쿼터에 계상됩니다.
  • 모듈: 다운로드 후 귀하의 워크플로가 sub_workflow 단계로 이름을 참조할 수 있습니다. 모듈 라이브러리에서 편집 가능한 사본으로 인스턴스화한 뒤 수정할 수도 있습니다.

인스턴스화된 워크플로와 마켓 항목은 서로 독립적입니다: 작성자가 새 버전을 배포해도 귀하의 인스턴스는 바뀌지 않으며, 「내가 다운로드한 것」에서 어떤 항목을 삭제해도 이미 인스턴스화한 워크플로에는 영향을 주지 않습니다.

다운로드한 라이브러리 사본은 잠금 해제를 지원합니다: 잠금 해제 후에는 편집기에서 직접 편집할 수 있습니다. 다만 업데이트 다운로드는 새 버전으로 이 라이브러리 사본을 통째로 교체하므로 귀하의 수정이 사라집니다 — 장기적으로 수정하려면 자신의 워크플로로 인스턴스화한 뒤 수정하십시오.

자주 쓰는 엔드포인트

Endpoint역할
GET /api/marketplace/items브라우징(페이지네이션, 유형 / 분류 / 태그 / 검색 필터 지원)
GET /api/marketplace/items/{id}항목 상세 + 버전 이력
GET /api/marketplace/categories현재 보이는 항목의 전체 분류
POST /api/marketplace/items새 항목 발행
POST /api/marketplace/items/{id}/versions새 버전 발행
GET /api/marketplace/items/{id}/dependencies의존성 트리 보기
POST /api/marketplace/items/{id}/download다운로드(최신 버전 다운로드 시 기본적으로 의존성과 함께)
GET /api/marketplace/my-uploads내가 발행한 항목
GET /api/marketplace/my-downloads내가 다운로드한 항목(업데이트 알림 포함)
POST /api/marketplace/downloads/{itemId}/instantiate다운로드한 항목을 편집 가능한 워크플로로 인스턴스화
DELETE /api/marketplace/downloads/{itemId}다운로드한 항목 삭제(이미 인스턴스화한 워크플로에는 영향 없음)

관련 페이지