arazzo: 1.0.1 info: title: Zuplo Inspect and Redeploy a Project Deployment summary: List a project's deployments, read the live deployment detail, then trigger a redeploy. description: >- Refreshes a running Zuplo deployment so it picks up configuration or environment changes. The workflow lists the project's deployments, branches on whether any deployments exist, reads the first deployment's detail to confirm its state and url, and then triggers a redeploy. 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: zuploApi url: ../openapi/zuplo-openapi.yml type: openapi workflows: - workflowId: redeploy-project-deployment summary: Find a project's deployment, inspect it, and redeploy it. description: >- Lists deployments, branches when at least one is present, reads the deployment detail, and redeploys it to apply configuration changes. inputs: type: object required: - accountName - apiKey - projectName properties: accountName: type: string description: The Zuplo account name (Settings > Project Information). apiKey: type: string description: The Zuplo Developer API key, sent as a Bearer token. projectName: type: string description: The name of the project whose deployment is refreshed. steps: - stepId: listDeployments description: List the project's deployments to find the live deployment. operationId: DeploymentsService_list parameters: - name: Authorization in: header value: Bearer $inputs.apiKey - name: accountName in: path value: $inputs.accountName - name: projectName in: path value: $inputs.projectName successCriteria: - condition: $statusCode == 200 outputs: deploymentName: $response.body#/data/0/name onSuccess: - name: deploymentsPresent type: goto stepId: readDeployment criteria: - context: $response.body condition: $.data.length > 0 type: jsonpath - stepId: readDeployment description: Read the deployment detail to confirm its state and url. operationId: DeploymentsService_read parameters: - name: Authorization in: header value: Bearer $inputs.apiKey - name: deploymentName in: path value: $steps.listDeployments.outputs.deploymentName successCriteria: - condition: $statusCode == 200 outputs: deploymentName: $response.body#/name state: $response.body#/state url: $response.body#/url - stepId: redeploy description: Redeploy the deployment to apply configuration changes. operationId: DeployService_redeploy parameters: - name: Authorization in: header value: Bearer $inputs.apiKey - name: deploymentName in: path value: $steps.readDeployment.outputs.deploymentName successCriteria: - condition: $statusCode == 200 outputs: status: $response.body#/status outputs: deploymentName: $steps.readDeployment.outputs.deploymentName state: $steps.readDeployment.outputs.state status: $steps.redeploy.outputs.status