JFrog Artifactory · Arazzo Workflow

Artifactory Move Artifact and Clean Up

Version 1.0.0

Move an artifact to a new repository path and verify the destination.

1 workflow 1 source API 1 provider
View Spec View on GitHub ArtifactsDevOpsCI/CDDocker RegistryMavenPackage ManagementRepositoryArazzoWorkflows

Provider

artifactory

Workflows

move-artifact-and-clean-up
Move an artifact to a new location and verify it arrived.
Moves an artifact from a source repository path to a destination path and reads the destination storage info to verify the move completed.
2 steps inputs: accessToken, destItemPath, destRepoKey, srcItemPath, srcRepoKey outputs: downloadUri, moveMessages
1
moveArtifact
moveArtifact
Move the artifact from its source location to the destination path, removing the original in the process.
2
verifyDestination
getStorageInfo
Read the destination storage info to confirm the moved artifact now lives at its new location.

Source API Descriptions

Arazzo Workflow Specification

artifactory-move-artifact-cleanup-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Artifactory Move Artifact and Clean Up
  summary: Move an artifact to a new repository path and verify the destination.
  description: >-
    A relocation flow for JFrog Artifactory. The workflow moves an artifact from
    a source repository path to a destination path (the move both copies and
    removes the original in a single operation) and then reads the destination
    storage info to confirm the relocation. 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: artifactoryRestApi
  url: ../openapi/artifactory-rest-api-openapi.yml
  type: openapi
workflows:
- workflowId: move-artifact-and-clean-up
  summary: Move an artifact to a new location and verify it arrived.
  description: >-
    Moves an artifact from a source repository path to a destination path and
    reads the destination storage info to verify the move completed.
  inputs:
    type: object
    required:
    - accessToken
    - srcRepoKey
    - srcItemPath
    - destRepoKey
    - destItemPath
    properties:
      accessToken:
        type: string
        description: Bearer access token for authenticating with Artifactory.
      srcRepoKey:
        type: string
        description: Source repository key to move the artifact from.
      srcItemPath:
        type: string
        description: Source artifact path within the source repository.
      destRepoKey:
        type: string
        description: Destination repository key to move the artifact to.
      destItemPath:
        type: string
        description: Destination artifact path within the destination repository.
  steps:
  - stepId: moveArtifact
    description: >-
      Move the artifact from its source location to the destination path,
      removing the original in the process.
    operationId: moveArtifact
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: srcRepoKey
      in: path
      value: $inputs.srcRepoKey
    - name: srcItemPath
      in: path
      value: $inputs.srcItemPath
    - name: to
      in: query
      value: "/$inputs.destRepoKey/$inputs.destItemPath"
    - name: dry
      in: query
      value: 0
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      messages: $response.body#/messages
  - stepId: verifyDestination
    description: >-
      Read the destination storage info to confirm the moved artifact now lives
      at its new location.
    operationId: getStorageInfo
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: repoKey
      in: path
      value: $inputs.destRepoKey
    - name: itemPath
      in: path
      value: $inputs.destItemPath
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      downloadUri: $response.body#/downloadUri
      size: $response.body#/size
  outputs:
    moveMessages: $steps.moveArtifact.outputs.messages
    downloadUri: $steps.verifyDestination.outputs.downloadUri