What are workflows?

Workflows are a combination of Jobs, Tasks, and Variables which lead to functional units of work for DMT. A Job is created, then Tasks are attached to the Job. Jobs can have multiple Task. When a Task is created, Variables are created along with that Task. Variables drive Task behaviors. The types of Tasks can be expanded by creating new Plugins

Jobs, Tasks, and Variables

Jobs

Jobs are collections of Tasks. Executing a Job creates a "Run"

Tasks

Tasks are strewn together to form Jobs. Task have a 1 to 1 relationship with plugins.

Variables

Variables are tied to Tasks and Environments. A Task has a Variable that can be configured for it. These Variables also have "Overrides" that can be scoped to Environments. When a Job is executed against an Environment, the Task variables are loaded for the Job. If an Environment has any overrides for those Variables, we will read the value out of the Environment scoped Variable instead. This lets different environments be configured with entirely different values, and allows secrets to be different per Environment.

Workflows

Workflows

When we tie a Job together, what we get is a Workflow. You can use the workflow manager to select any given Task in the Workflow. The Task will be presented with several Environments as tabs. You can select any Environment tab and overwrite any the variable values here.

You can use the Job, Task, and Variable side menu options to create your Jobs and Tasks. Once you do that, I recommend jumping into the Workflow area to manage the Jobs and Tasks. If things display strangely after you've created Tasks and Jobs, refresh the page before you continue. We are working on some bugs with caching API responses.

Managing Workflows

All the Tasks in a Workflow will be presented in the Workflow management screen. Here, you can select any task and that allows you to set values for Variables.

Manging Workflows

Customing Workflow Variables

You can use the tabs below the selected Task in order to customize Variables for each Environment.

Custom Environment Variables