Adobe Launch · Arazzo Workflow

Adobe Launch Republish a Library's Latest Build

Version 1.0.0

Find a library's most recent build, republish it, and poll until the republish completes.

1 workflow 1 source API 1 provider
View Spec View on GitHub Data CollectionEdge NetworkEvent ForwardingMarketing TechnologyTag ManagementArazzoWorkflows

Provider

adobe-launch

Workflows

republish-latest-build
Resolve a library's latest build, republish it, and wait for completion.
Lists builds for a library, republishes the first returned build, and polls the build status until it is succeeded or failed.
4 steps inputs: accessToken, apiKey, imsOrgId, libraryId outputs: buildId, buildStatus, libraryName
1
getLibrary
getLibrary
Confirm the library exists before republishing.
2
listBuilds
listBuildsForLibrary
List the library's builds, newest first, to resolve a build id.
3
republishBuild
republishBuild
Republish the resolved build back to its environment.
4
pollBuild
getBuild
Retrieve the build and retry while it is still pending; end once the republish succeeds.

Source API Descriptions

Arazzo Workflow Specification

adobe-launch-republish-latest-build-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Adobe Launch Republish a Library's Latest Build
  summary: Find a library's most recent build, republish it, and poll until the republish completes.
  description: >-
    Republishing pushes an already-compiled Adobe Experience Platform Launch
    (Tags) build back out to its environment without recompiling. This workflow
    confirms the library, lists its builds to resolve the most recent build id,
    triggers a republish, and polls the build until it leaves the pending state,
    branching on success. Each request is written inline; the build status enum
    of pending, succeeded, and failed drives the poll loop.
  version: 1.0.0
sourceDescriptions:
- name: reactorApi
  url: ../openapi/reactor-api.yml
  type: openapi
workflows:
- workflowId: republish-latest-build
  summary: Resolve a library's latest build, republish it, and wait for completion.
  description: >-
    Lists builds for a library, republishes the first returned build, and polls
    the build status until it is succeeded or failed.
  inputs:
    type: object
    required:
    - accessToken
    - apiKey
    - imsOrgId
    - libraryId
    properties:
      accessToken:
        type: string
        description: OAuth 2.0 Server-to-Server bearer access token from Adobe Developer Console.
      apiKey:
        type: string
        description: Client ID credential sent as the x-api-key header.
      imsOrgId:
        type: string
        description: Adobe Organization ID sent as the x-gw-ims-org-id header.
      libraryId:
        type: string
        description: Id of the library whose latest build should be republished.
  steps:
  - stepId: getLibrary
    description: Confirm the library exists before republishing.
    operationId: getLibrary
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: x-gw-ims-org-id
      in: header
      value: $inputs.imsOrgId
    - name: libraryId
      in: path
      value: $inputs.libraryId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      libraryName: $response.body#/data/attributes/name
  - stepId: listBuilds
    description: List the library's builds, newest first, to resolve a build id.
    operationId: listBuildsForLibrary
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: x-gw-ims-org-id
      in: header
      value: $inputs.imsOrgId
    - name: libraryId
      in: path
      value: $inputs.libraryId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latestBuildId: $response.body#/data/0/id
  - stepId: republishBuild
    description: Republish the resolved build back to its environment.
    operationId: republishBuild
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: x-gw-ims-org-id
      in: header
      value: $inputs.imsOrgId
    - name: buildId
      in: path
      value: $steps.listBuilds.outputs.latestBuildId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      buildId: $response.body#/data/id
  - stepId: pollBuild
    description: >-
      Retrieve the build and retry while it is still pending; end once the
      republish succeeds.
    operationId: getBuild
    parameters:
    - name: Authorization
      in: header
      value: "Bearer $inputs.accessToken"
    - name: x-api-key
      in: header
      value: $inputs.apiKey
    - name: x-gw-ims-org-id
      in: header
      value: $inputs.imsOrgId
    - name: buildId
      in: path
      value: $steps.republishBuild.outputs.buildId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      buildStatus: $response.body#/data/attributes/status
    onSuccess:
    - name: stillBuilding
      type: retry
      retryAfter: 5
      retryLimit: 30
      criteria:
      - context: $response.body
        condition: $.data.attributes.status == "pending"
        type: jsonpath
    - name: republishSucceeded
      type: end
      criteria:
      - context: $response.body
        condition: $.data.attributes.status == "succeeded"
        type: jsonpath
  outputs:
    libraryName: $steps.getLibrary.outputs.libraryName
    buildId: $steps.republishBuild.outputs.buildId
    buildStatus: $steps.pollBuild.outputs.buildStatus