JFrog · Arazzo Workflow

JFrog Distribution Release Bundle

Version 1.0.0

Create a release bundle, sign it, distribute it, and poll for status.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub ArtifactoryCI/CDContainer RegistryDevOpsMLOpsPackage ManagementSecuritySoftware Supply ChainArazzoWorkflows

Provider

jfrog

Workflows

distribute-release-bundle
Create, sign, distribute a release bundle and wait for completion.
Creates a release bundle from a query, signs it, distributes it to a named site, then polls distribution status until it is no longer in progress.
4 steps inputs: aql, name, siteName, version outputs: name, status, version
1
createBundle
Create a release bundle whose contents are selected by the supplied AQL query.
2
signBundle
Sign the release bundle, making it immutable and ready for distribution.
3
distribute
Distribute the signed release bundle to the target edge node site.
4
pollStatus
Poll the distribution status. While it is still in progress, loop back and check again; otherwise finish.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: JFrog Distribution Release Bundle
  summary: Create a release bundle, sign it, distribute it, and poll for status.
  description: >-
    The end-to-end software distribution flow. The workflow creates a v1 release
    bundle from an AQL spec, signs it to make it immutable, distributes it to
    target edge nodes, then polls the distribution status until it leaves the in
    progress state. Every step spells out its request inline so the flow can be
    read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-4210.30
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-4210.30
      capability_name: Release Engineering Management
      spec: jfrog-release-bundles-v1-api-openapi.yml
      confidence: 0.75
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: distributionApi
  url: ../openapi/jfrog-distribution-api-openapi.yml
  type: openapi
- name: releaseBundlesV1Api
  url: ../openapi/jfrog-release-bundles-v1-api-openapi.yml
  type: openapi
workflows:
- workflowId: distribute-release-bundle
  summary: Create, sign, distribute a release bundle and wait for completion.
  description: >-
    Creates a release bundle from a query, signs it, distributes it to a named
    site, then polls distribution status until it is no longer in progress.
  inputs:
    type: object
    required:
    - name
    - version
    - aql
    - siteName
    properties:
      name:
        type: string
        description: The release bundle name.
      version:
        type: string
        description: The release bundle version.
      aql:
        type: string
        description: The AQL query selecting artifacts for the bundle.
      siteName:
        type: string
        description: The target edge node site name to distribute to.
  steps:
  - stepId: createBundle
    description: >-
      Create a release bundle whose contents are selected by the supplied AQL
      query.
    operationId: createReleaseBundle
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.name
        version: $inputs.version
        dry_run: false
        sign_immediately: false
        description: Created by the distribute-release-bundle workflow
        spec:
          queries:
          - aql: $inputs.aql
            query_name: primary
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      name: $inputs.name
      version: $inputs.version
  - stepId: signBundle
    description: >-
      Sign the release bundle, making it immutable and ready for distribution.
    operationId: signReleaseBundle
    parameters:
    - name: name
      in: path
      value: $steps.createBundle.outputs.name
    - name: version
      in: path
      value: $steps.createBundle.outputs.version
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      signed: $inputs.name
  - stepId: distribute
    description: >-
      Distribute the signed release bundle to the target edge node site.
    operationId: distributeReleaseBundle
    parameters:
    - name: name
      in: path
      value: $steps.createBundle.outputs.name
    - name: version
      in: path
      value: $steps.createBundle.outputs.version
    requestBody:
      contentType: application/json
      payload:
        dry_run: false
        auto_create_missing_repositories: true
        distribution_rules:
        - site_name: $inputs.siteName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      trackerId: $response.body#/id
  - stepId: pollStatus
    description: >-
      Poll the distribution status. While it is still in progress, loop back and
      check again; otherwise finish.
    operationId: getDistributionStatus
    parameters:
    - name: name
      in: path
      value: $steps.createBundle.outputs.name
    - name: version
      in: path
      value: $steps.createBundle.outputs.version
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
    onSuccess:
    - name: inProgress
      type: goto
      stepId: pollStatus
      criteria:
      - context: $response.body
        condition: $.status == 'In progress'
        type: jsonpath
    - name: settled
      type: end
      criteria:
      - context: $response.body
        condition: $.status != 'In progress'
        type: jsonpath
  outputs:
    name: $steps.createBundle.outputs.name
    version: $steps.createBundle.outputs.version
    status: $steps.pollStatus.outputs.status

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/jfrog-distribution-release-bundle-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.