Workday Extend · Arazzo Workflow

Workday Extend Publish a New Application Version

Version 1.0.0

Confirm an app, create a new version, and verify the version was recorded.

1 workflow 1 source API 1 provider
View Spec View on GitHub AutomationCustom ApplicationsEnterpriseExtensionsHCMHuman Capital ManagementIntegrationOrchestrationPaaSArazzoWorkflows

Provider

workday-extend

Workflows

publish-app-version
Resolve an app, create a new version, and confirm it by retrieval.
Retrieves an Extend application, creates a new version with the supplied version number and changelog, and reads the created version back to confirm it was recorded.
3 steps inputs: appId, changelog, versionNumber outputs: appId, versionId, versionNumber
1
resolveApp
getApp
Retrieve the application to confirm it exists before creating a new version.
2
createVersion
createAppVersion
Create a new draft version of the application with the supplied version number and changelog.
3
confirmVersion
getAppVersion
Retrieve the newly created version to confirm it was recorded with the expected version number and status.

Source API Descriptions

Arazzo Workflow Specification

workday-extend-publish-app-version-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Workday Extend Publish a New Application Version
  summary: Confirm an app, create a new version, and verify the version was recorded.
  description: >-
    Cuts a new release of an existing Workday Extend application. The workflow
    confirms the app exists, creates a new draft version with a changelog, and
    retrieves that version to verify it was recorded with the expected version
    number. 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: restApi
  url: ../openapi/workday-extend-rest-api-openapi.yml
  type: openapi
workflows:
- workflowId: publish-app-version
  summary: Resolve an app, create a new version, and confirm it by retrieval.
  description: >-
    Retrieves an Extend application, creates a new version with the supplied
    version number and changelog, and reads the created version back to confirm
    it was recorded.
  inputs:
    type: object
    required:
    - appId
    - versionNumber
    properties:
      appId:
        type: string
        description: The unique identifier of the Extend application.
      versionNumber:
        type: string
        description: Semantic version number for the new version.
      changelog:
        type: string
        description: Description of changes in this version.
  steps:
  - stepId: resolveApp
    description: >-
      Retrieve the application to confirm it exists before creating a new version.
    operationId: getApp
    parameters:
    - name: appId
      in: path
      value: $inputs.appId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      appId: $response.body#/id
      appStatus: $response.body#/status
  - stepId: createVersion
    description: >-
      Create a new draft version of the application with the supplied version
      number and changelog.
    operationId: createAppVersion
    parameters:
    - name: appId
      in: path
      value: $steps.resolveApp.outputs.appId
    requestBody:
      contentType: application/json
      payload:
        versionNumber: $inputs.versionNumber
        changelog: $inputs.changelog
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      versionId: $response.body#/id
      versionStatus: $response.body#/status
  - stepId: confirmVersion
    description: >-
      Retrieve the newly created version to confirm it was recorded with the
      expected version number and status.
    operationId: getAppVersion
    parameters:
    - name: appId
      in: path
      value: $steps.resolveApp.outputs.appId
    - name: versionId
      in: path
      value: $steps.createVersion.outputs.versionId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      confirmedNumber: $response.body#/versionNumber
      confirmedStatus: $response.body#/status
  outputs:
    appId: $steps.resolveApp.outputs.appId
    versionId: $steps.createVersion.outputs.versionId
    versionNumber: $steps.confirmVersion.outputs.confirmedNumber