Generates Arazzo Workflow Documents from your OpenAPI Documents
npm install arazzo-generatorGenerate Arazzo Workflows from your OpenAPI Documents.
Using npm:
``bash`
npm install -g arazzo-generator
`bashRun the CLI
arazzo-generator --openapi ./openapi.json --output ./arazzo.json
$3
Arazzo Generator allows for a config file to keep hold of secrets to get OpenAPI Documents held on paths behind apikeys:
`js
"use strict";module.exports = {
apiKey: {
value: process.env.APIKey,
in: "header|query", // either in the header or the query params
name: "apiKey",
},
};
`When downloading OpenAPI Documents, it will use the
apiKey to access those files. This file should be stored in ./options/generatorConfig.js.What it does
This will take an OpenAPI Document and create a naive Arazzo Workflow Document from it.
It will first of all attempt to bundle your OpenAPI Document, allowing for access to the schemas. It will then move through each path of the OpenAPI file, creating a workflow for each operation under that path, and that operation being the first step of that workflow.
It will take all required parameters and request bodies and map them to the parameters and requestBody of the Arrazo Workflow, it will also add apiKey as a parameter if that operation requires security (it takes into account globally set security and operation level security).
It will add the schemas for the required parameters and request bodies to the
inputs schema for the Arazzo workflow.If the operation does not have an
operationId, it will correctly set the operationPath on the Arrazo Document.It will also create some naive
successCriteria based on the statusCode. It will only do this for the 2XX range of statusCodes.If you have multiple 2XX statusCodes, it will create an
successCriteria with an OR condition:`json
{
"condition": "$statuscode == 200 || $statusCode == 201"
}
`If you use the
2XX statusCode, it will create a regEx successCriteria object:`json
{
"condition": "^2(\\d\\d)$",
"context": "$statusCode",
"type": "regex"
}
``