JFrog · Arazzo Workflow

JFrog Promote Artifact by Checksum

Version 1.0.0

Find an artifact by its checksum and copy it to a release repository.

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

Provider

jfrog

Workflows

promote-artifact-by-checksum
Locate an artifact by checksum and copy it to a release repository.
Searches by SHA256 checksum, and if a result is returned copies the source item to the target repository path, then verifies the copy via storage info.
3 steps inputs: sha256, srcItemPath, srcRepoKey, targetItemPath, targetRepoKey outputs: downloadUri
1
findByChecksum
Search for the artifact by its SHA256 checksum to confirm it exists before promoting it.
2
copyArtifact
Copy the located artifact from the source repository path to the target release repository path.
3
verifyPromotion
Confirm the artifact now exists at the target path by reading its storage info.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: JFrog Promote Artifact by Checksum
  summary: Find an artifact by its checksum and copy it to a release repository.
  description: >-
    A common promotion pattern that does not rely on knowing the exact path. The
    workflow searches Artifactory for an artifact by its SHA256 checksum, then
    branches: when a match is found it copies the artifact to the target release
    repository and confirms the copy, and when no match is found it ends without
    side effects. 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
sourceDescriptions:
- name: artifactsStorageApi
  url: ../openapi/jfrog-artifacts-storage-api-openapi.yml
  type: openapi
- name: searchesApi
  url: ../openapi/jfrog-searches-api-openapi.yml
  type: openapi
workflows:
- workflowId: promote-artifact-by-checksum
  summary: Locate an artifact by checksum and copy it to a release repository.
  description: >-
    Searches by SHA256 checksum, and if a result is returned copies the source
    item to the target repository path, then verifies the copy via storage info.
  inputs:
    type: object
    required:
    - sha256
    - srcRepoKey
    - srcItemPath
    - targetRepoKey
    - targetItemPath
    properties:
      sha256:
        type: string
        description: The SHA256 checksum to locate the artifact by.
      srcRepoKey:
        type: string
        description: The source repository key of the artifact.
      srcItemPath:
        type: string
        description: The source item path of the artifact.
      targetRepoKey:
        type: string
        description: The target repository key to promote into.
      targetItemPath:
        type: string
        description: The target item path for the promoted artifact.
  steps:
  - stepId: findByChecksum
    description: >-
      Search for the artifact by its SHA256 checksum to confirm it exists before
      promoting it.
    operationId: searchByChecksum
    parameters:
    - name: sha256
      in: query
      value: $inputs.sha256
    - name: repos
      in: query
      value: $inputs.srcRepoKey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      results: $response.body#/results
    onSuccess:
    - name: found
      type: goto
      stepId: copyArtifact
      criteria:
      - context: $response.body
        condition: $.results.length > 0
        type: jsonpath
    - name: notFound
      type: end
      criteria:
      - context: $response.body
        condition: $.results.length == 0
        type: jsonpath
  - stepId: copyArtifact
    description: >-
      Copy the located artifact from the source repository path to the target
      release repository path.
    operationId: copyArtifact
    parameters:
    - name: srcRepoKey
      in: path
      value: $inputs.srcRepoKey
    - name: srcItemPath
      in: path
      value: $inputs.srcItemPath
    - name: to
      in: query
      value: $inputs.targetRepoKey/$inputs.targetItemPath
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      messages: $response.body#/messages
  - stepId: verifyPromotion
    description: >-
      Confirm the artifact now exists at the target path by reading its storage
      info.
    operationId: getStorageInfo
    parameters:
    - name: repoKey
      in: path
      value: $inputs.targetRepoKey
    - name: itemPath
      in: path
      value: $inputs.targetItemPath
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      downloadUri: $response.body#/downloadUri
  outputs:
    downloadUri: $steps.verifyPromotion.outputs.downloadUri

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-promote-artifact-by-checksum-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.