Skip to main content

Process Service

The process resource contains all your process configurations

REST API​

The Process REST API is a full CRUD API allowing you to search and filter processes as well as update, version and delete them. It is accessed through the following URL:

https://api.opendatadsl.com/api/process

The API consists of the following calls:

MethodPathExampleDescription
GETGet the build information for this service
GET{release}v1List all your processes
GET{release}/{key}v1/TESTRetrieve a single process using its unique id
GET{release}/{key}/{version}v1/TEST/1Retrieve a version of a single process
GET{release}/{key}/*v1/TEST/*Get a list of versions for a specific process
PUT{release}/{key}/{version}/{tag}v1/TEST/1/PRODTag a version with a name (which can be used instead of the version number when retrieving it)
POST{release}v1Create or update a process, the process configuration is the body of the POST request
DELETE{release}/{key}v1/TESTRollback to the previous version of a process configuration, if it is the only version then the process will be deleted
DELETE{release}/{key}/{version}v1/TEST/1Delete a specific version of a process configuration
DELETE{release}/{key}/*v1/TEST/*Fully delete a process configuration, including all versions

Entities​

Process configuration​

The process configuration contains the following information:

NameDescriptionType
_idUnique id for the process (or object id if this is not the latest version of the action)String
_typeThe type - always VarProcessString
serviceThe service of the process configurationString
nameThe name of the process configurationString
descriptionA description of the process configurationString
scriptThe name of the script that the process runs - a process either runs a script or a workflowString
workflowThe name of the workflow that the process runs - a process either runs a script or a workflowString
cronA cron expression used to schedule this processString
enabledA boolean indicating if this process is currently enabledBoolean
inputInputs which are used in the workflowObject
propertiesProperties whaich are used as meta-data about the processObject
settingsSettings used to configure the processObject
tagsA list of tags used to search for the processList(String)

Process settings​

The settings object controls how and where the process runs in Azure Batch. All settings are optional.

NameDescriptionTypeDefault
jobThe Azure Batch job to run the process in (jobName is also accepted)StringThe standard job for your tenant
batchAccountThe name of a client batch account registered for your tenant to run the process on, see Running Processes on Your Own Azure Batch Account. Requires imageStringThe OpenDataDSL batch account
imageA container image to run instead of the standard ODSL runtimeString
commandlineThe command line to run, ${taskid} is replaced with the process execution idStringRuns the ODSL process runner
maxTimeThe maximum time the process can run for, as an ISO 8601 durationStringPT1H
retentionHow long the task files and logs are kept on the batch node after it completes, as an ISO 8601 durationStringPT10M
retriesThe number of times a failed task is retriedInteger0

Examples​

### Get build info
GET {{url}}/process
Authorization: Bearer {{token}}

### List all processes
GET {{url}}/process/v1
?_limit=-1
Authorization: Bearer {{token}}

### List all process names
GET {{url}}/process/v1?_distinct=_id
Authorization: Bearer {{token}}

### Get a process
GET {{url}}/process/v1/CURRENCY_METADATA_LOADER
Authorization: Bearer {{token}}

### Add a process
POST {{url}}/process/v1
Authorization: Bearer {{token}}

{
"_type": "VarProcess",
"service": "ETL",
"name": "AZURE_TEST",
"description": "Azure Test Process",
"enabled": true,
"workflow": "#wf_xml_data_loader",
"cron": "12 46 ? * * *",
"environment": "production",
"input": {
"url": "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml",
"tx": "#ECB_FX"
}
}

### Rename a process
PUT {{url}}/process/v1/AZURE_TEST
Authorization: Bearer {{token}}

{
"_id": "AZURE_TEST1"
}

### Get a list of versions
GET {{url}}/process/v1/AZURE_TEST/*
Authorization: Bearer {{token}}

### Get a process version
GET {{url}}/process/v1/AZURE_TEST/1
Authorization: Bearer {{token}}

### Tag a process version
PUT {{url}}/process/v1/AZURE_TEST/1/PROD
Authorization: Bearer {{token}}

### Get a tagged version
GET {{url}}/process/v1/AZURE_TEST/PROD
Authorization: Bearer {{token}}

### Delete a version
DELETE {{url}}/process/v1/AZURE_TEST
Authorization: Bearer {{token}}

### Fully delete
DELETE {{url}}/process/v1/AZURE_TEST/*
Authorization: Bearer {{token}}