Workflow

analyze.workflow.add_label(project_id, workflow_id, label)

Sets a label on a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • label (str) – The label unique name

Returns

None

analyze.workflow.add_path(project_id, workflow_id, path)

Adds a workflow reference path in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • path (str) – Object rollup path using unix style forward slashes

Returns

None

analyze.workflow.add_paths(project_id, additions)

Adds multiple workflow reference paths in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • additions (list) – List of moves, containing: workflow_id (str): Unique workflow identifier to_path (str): New path

Returns

None

analyze.workflow.apply_variables(project_id, workflow_id, message)

Inserts combined project/workflow variables into a message string

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • message (str) – The format string to apply variables to

Returns

The message string formatted with combined project/workflow variables

Return type

str

analyze.workflow.archive(project_id, workflow_id, account_id, archive_path)

Generates a workflow archive and saves to the designated document storage location

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • account_id (str) – Unique account identifier

  • archive_path (dict) – dict with Document account and path to archive storage location

Returns

None

analyze.workflow.clear(project_id, workflow_id)

Resets the workflow state to a fresh condition

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

None

analyze.workflow.clear_all_steps(project_id, workflow_id)

Resets all the workflow step states to a fresh condition

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

None

analyze.workflow.clear_steps(project_id, workflow_id, step_ids=None)

Resets a list of workflow step states to a fresh condition

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier step_ids (list): List of unique step identifiers in the workflow to clear

Returns

None

analyze.workflow.copy(project_id, workflow_id, rollup_id, after_position)

Copies a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • rollup_id (str) – Unique rollup identifier

  • after_position (int) – Position within the object rollup the object should be placed after

Returns

Dict consisting of
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (timestamp): Date and time workflow was last updated as unix timestamp (UDT)

  • update_time_iso (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.copy_directory(project_id, from_path, to_path)

Copies a folder and all paths in the hierarchy but does not duplicate referenced objects

Parameters
  • project_id (str) – Unique project identifier

  • from_path (str) – Original directory path

  • to_path (str) – Destination directory path

Returns

None

analyze.workflow.create(project_id, path='/', name='New workflow', id=None, memo=None, enabled=True, locked=False, on_error='stop', remediation_workflow_id=None, view_manager=False, view_explorer=False)

Creates a workflow

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Path to place new workflow in hierarchy

  • name (str) – The object name

  • id (str) – Canonical ID for Workflow. Must be lowercase letters, numbers, -, or _

  • memo (str) – The object description

  • enabled (bool) – The enabled state of the workflow

  • locked (bool) – True if locked from changes

  • on_error (str) – stop or remediate

  • remediation_workflow_id (str) – Workflow unique identifier to run in event of an error

  • view_manager (bool) – Workflow is visible to Manager roles if True

  • view_explorer (bool) – Workflow is visible to Explorer roles if True

Returns

Dict consisting of
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.create_directory(project_id, path)

Creates a folder in the table hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Path to directory

Returns

None

analyze.workflow.create_step(project_id, workflow_id, workflow_path, name, node_position=None, step_path='/', id=None, memo=None, operation='pass', enabled=True, locked=False, view_manager=False, view_explorer=False, on_error='stop', goto_step=None, on_error_retry=False, on_error_retry_limit=3, on_error_retry_delay=10, check_conditions=False, condition_on_fail='skip', condition_goto_step=None, conditions=None, source_type=None, source_name=None, target_type=None, target_name=None)

Creates a step in a workflow and adds to project steps simultaneously

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • workflow_path (str) – Path to the step in a workflow

  • name (str) – The object name

  • node_position (int) – Position within the workflow rollup to place the step. None is append to end.

  • step_path (str) – Step path in project steps hierarchy

  • id (str) – Canonical ID for Step. Must be lowercase letters, numbers, -, or _

  • memo (str) – The object description

  • operation (str) – The step type operation

  • on_error (str) – Possible values are stop, continue or goto

  • goto_step (str) – Step Identifier to Goto on error if specified

  • enabled (bool) – True if the project is enabled

  • locked (bool) – True if the project is locked from editing

  • view_manager (bool) – Step is visible to Manager roles if True

  • view_explorer (bool) – Step is visible to Explorer roles if True

  • operation – Step operation type

  • on_error_retry (bool) – True if the step should attempt retries on error

  • on_error_retry_limit (int) – Number of times to retry a failed step before giving up

  • on_error_retry_delay (int) – Number of seconds between retry attempts

  • check_conditions (bool) – True if conditions should be evaluated before running the step

  • condition_on_fail (str) – Possible values are skip or goto

  • condition_goto_step (str) – Step Identifier to Goto if condition fails

  • conditions (list) – List of conditions to evaluate before running the step

  • source_type (str) – Type of input source

  • source_name (str) – Name of input source

  • target_type (str) – Type of output

  • target_name (str) – Name of output

Returns

result dict with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique step identifier

  • name (str): Step name

  • memo (str): Step description

  • paths (list): List of paths assigned to step

  • labels (list): List of labels assigned to step

  • on_error (str): Possible values are stop, continue or goto

  • goto_step (str): Step Identifier to Goto on error if specified

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Step is visible to Manager roles if True

  • view_explorer (bool): Step is visible to Explorer roles if True

  • operation (str): Step operation type

  • on_error_retry (bool): Retry the step on error flag

  • on_error_retry_limit (int): Number of times to retry a failed step before giving up

  • on_error_retry_delay (int): Number of seconds between retry attempts

  • check_conditions (bool): True if conditions should be evaluated before running the step

  • condition_on_fail (str): Possible values are skip or goto

  • condition_goto_step (str): Step Identifier to Goto if condition fails

  • conditions (list): List of conditions to evaluate before running the step

  • source_type (str): Type of input source

  • source_name (str): Input source name or path

  • target_type (str): Type of output

  • target_name (str): Output name or path

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.delete(project_id, workflow_id, force=False)

Deletes a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • force (bool, optional) – If true, this will delete the workflow, even if it is in use. Defaults to false

Returns

None

analyze.workflow.delete_directory(project_id, path)

Deletes a folder and removes path from all objects in that directory

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Path to directory

Returns

None

analyze.workflow.delete_log(project_id, workflow_id)

Clears the workflow log

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

None

analyze.workflow.disable(project_id, workflow_ids)

Disables a workflow or list of workflows

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (str) – Unique workflow identifier or list of unique workflow identifiers

Returns

None

analyze.workflow.download_report(project_id, workflow_id)

Generates workflow documentation report and downloads to requesting end point

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

None

analyze.workflow.enable(project_id, workflow_ids)

Enables a workflow or list of workflows

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (str) – Unique workflow identifier or list of unique workflow identifiers

Returns

None

analyze.workflow.flashback_backup(project_id, workflow_id)

Schedules a backup of the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

None

analyze.workflow.flashback_hold(project_id, workflow_id, version_id)

Puts a hold on a version to prevent lifecycle cleanup after retention period

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • version_id (str) – Version of the workflow to hold

Returns

None

analyze.workflow.flashback_release(project_id, workflow_id, version_id)

Releases a hold on a version to allow lifecycle cleanup after retention period

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • version_id (str) – Version of the workflow to release

Returns

None

analyze.workflow.flashback_restore(project_id, workflow_id, version_id, target_workflow_id)

Restores workflow data to the target workflow specified

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • version_id (str) – Version of the workflow to restore

  • target_workflow_id (str) – Target workflow UUID

Returns

None

analyze.workflow.flashback_restore_project(project_id)

Schedules a restore of all workflows in the project to their latest version stored

Parameters

project_id (str) – Unique project identifier

Returns

None

analyze.workflow.flashback_versions(project_id, workflow_id)

Provides list of versions of the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

List of workflow versions

Return type

list

analyze.workflow.flashback_workflows(project_id)

Provides list of workflows stored in flashback

Parameters

project_id (str) – Unique project identifier

Returns

List of workflows

Return type

list

analyze.workflow.get_log(project_id, workflow_id)

Retrieves the full workflow log

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

List of log messages

Return type

list

analyze.workflow.ids_from_path(project_id, path)

Provides the canonical id for the workflow from a provided path

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Object rollup path using unix style forward slashes

Returns

id (str): Workflow unique identifier

Return type

list

analyze.workflow.is_locked(project_id, workflow_id)

Returns True if workflow is locked else false

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

locked state

Return type

bool

analyze.workflow.is_queued(project_id, workflow_id)

Returns the queued status of the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

True if workflow is queued else False

Return type

bool

analyze.workflow.is_running(project_id, workflow_id, run_id=None)

Returns the running status of the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • run_id (str, optional) – Unique workflow execution run identifier, to check specific workflow run

Returns

True if workflow is running else False

Return type

bool

analyze.workflow.labels(project_id, workflow_id)

Provides a list of labels for the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

list of labels associated with Workflow

Return type

list

analyze.workflow.lock(project_id, workflow_ids)

Locks a workflow or list of workflows from configuration changes

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (str) – Unique workflow identifier or list of unique workflow identifiers

Returns

None

analyze.workflow.log(project_id, workflow_id, message, level='info')

Logs a workflow message

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • message (str) – Log message

  • level (str) – Notification level (info, debug, warn, error)

Returns

None

analyze.workflow.lookup_by_full_path(project_id, path)

Returns ID for path provided

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Object rollup path using unix style forward slashes

Returns

Workflow unique identifier

Return type

str

analyze.workflow.lookup_by_name(project_id, name)

Returns ID for name provided

Parameters
  • project_id (str) – Unique project identifier

  • name (str) – Unique workflow name

Returns

Workflow unique identifier

Return type

str

analyze.workflow.move(project_id, workflow_id, rollup_id, after_position)

Moves a workflow in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • rollup_id (str) – Unique rollup identifier

  • after_position (int) – Position within the object rollup the object should be placed after

Returns

Dict consisting of
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.move_directory(project_id, from_path, to_path)

Updates a folder name in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • from_path (str) – Original directory path

  • to_path (str) – Destination directory path

Returns

None

analyze.workflow.move_path(project_id, workflow_id, from_path, to_path)

Moves a table reference path in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • from_path (str) – Original path

  • to_path (str) – Destination path

Returns

None

analyze.workflow.move_paths(project_id, moves)

Moves a workflow reference path in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • moves (list) – List of moves, containing: workflow_id (str): Unique workflow identifier from_path (str): Original path to_path (str): Destination path

Returns

None

analyze.workflow.paths(project_id, path=None)

Provides a list of paths for all workflows and folders

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Initial path to search

Returns

List of workflow and directory paths

Return type

list

analyze.workflow.paths_from_id(project_id, workflow_id)

Provides a list of paths associated with the canonical id

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

List of paths associated with a Workflow ID

Return type

list

analyze.workflow.pause(project_id, workflow_id)

Pauses workflow execution

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

None

analyze.workflow.ping()

A simple test method that always returns the string pong

Returns

the word pong

Return type

str

analyze.workflow.queue(project_id, workflow_id, from_step_id=None, to_step_id=None, parent_workflow_id=None, parent_workflow_step_id=None, variables=None, resume=False, in_parallel=True)

Queues a workflow for execution

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • from_step_id (str) – Unique workflow step identifier

  • to_step_id (str) – Unique workflow step identifier

  • parent_workflow_id (str) – Unique workflow identifier of parent workflow

  • parent_workflow_step_id (str) – Unique workflow step identifier for parent workflow

  • variables (list) – A list of key-value pairs to use as variables (often sent from workflow-loop transforms)

  • resume (bool, optional) – If true then we are calling to resume a previously running workflow

  • in_parallel (bool) – True if this requires a separate workflow process/pod to start up. Serial workflows can set this False

Returns

None

analyze.workflow.range_start(project_id, workflow_id, from_step_id=None, to_step_id=None, parent_workflow_id=None, parent_workflow_step_id=None, variables=None, resume=False)

Triggers the workflow and runs from the specified start step to the specified end step

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • from_step_id (str) – Unique workflow step identifier

  • to_step_id (str) – Unique workflow step identifier

  • parent_workflow_id (str) – Unique workflow identifier of parent workflow

  • parent_workflow_step_id (str) – Unique workflow step identifier for parent workflow

  • variables (list) – A list of key-value pairs to use as variables (often sent from workflow-loop transforms)

  • resume (bool, optional) – If true then we are calling to resume a previously running workflow

Returns

None

analyze.workflow.remove_label(project_id, workflow_id, label)

Removes a label on a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • label (str) – The label unique name

Returns

None

analyze.workflow.remove_path(project_id, workflow_id, path)

Removes a workflow reference path in the hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • path (str) – Object rollup path using unix style forward slashes

Returns

None

analyze.workflow.report(project_id, workflow_id, account_id, report_path)

Generates workflow documentation report and saves it on the specified document account path

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • account_id (str) – Unique account identifier

  • report_path – # TODO Write description for this arg

Returns

None

analyze.workflow.restore(project_id, rollup_id, name, memo, account_id, archive_path)

Restores a workflow from a workflow archive

Parameters
  • project_id (str) – Unique project identifier

  • rollup_id (str) – Unique rollup identifier

  • name (str) – The object name

  • memo (str) – The object description

  • account_id (str) – Unique account identifier

  • archive_path (dict) – dict with Document account and path to archive storage location

Returns

Dict consisting of
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.resume(project_id, workflow_id)

Resumes a paused or stopped workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

None

analyze.workflow.save_variable(project_id, workflow_id, variable_id, value=None, memo=None, view_manager=False, view_explorer=False)

Returns the list of variables in the project and their current values

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • variable_id (str) – Variable name

  • value (str) – Variable value. If None is passed, the variable is unset.

  • memo (str) – Variable description

  • view_manager (bool) – True if variable should be visible to manager roles

  • view_explorer (bool) – True if variable should be visible to explorer roles

Returns

result dict with
  • memo (str): Variable memo

  • value (str): Variable value

  • view_manager (bool): True if variable is viewable by Manager role

  • view_explorer (bool): True if variable is viewable by Explorer role

  • update_time (timestamp): Date and time workflow was last updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.search_by_label(project_id, text, criteria='contains', sort=None, keys=None)

Returns list of workflows that match the search criteria

Parameters
  • project_id (str) – Unique project identifier

  • text (str) – The search text prefix

  • criteria (str) – The search criteria (contains, exact, startswith, or endswith)

  • sort (list) – List of sort tuples using syntax (key, reverse). e.g. [(‘name’, False)]

  • keys (list) – List of keys to return. Defaults to all.

Returns

list of dicts with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

list

analyze.workflow.search_by_name(project_id, text, criteria='contains', path='/', sort=None, keys=None)

Returns list of workflows that match the search criteria

Parameters
  • project_id (str) – Unique project identifier

  • text (str) – The search text to locate

  • criteria (str) – The search criteria (contains, exact, startswith, or endswith)

  • path (str) – Path to search below for matches

  • sort (list) – List of sort tuples using syntax (key, reverse). e.g. [(‘name’, False)]

  • keys (list) – List of keys to return. Defaults to all.

Returns

result tuple of dicts with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

tuple

analyze.workflow.set_directory_parallel(auth_id, project_id, workflow_id, path)

set_rollup_parallel(project_id, workflow_id, path) Sets the workflow group to execute in parallel

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • path (str) – Original path

Returns

None

analyze.workflow.set_directory_serial(project_id, workflow_id, path)

Sets the workflow group to execute in serial order according to the position of the step

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • path – Original path

analyze.workflow.set_remediation(project_id, workflow_id, remediation_workflow_id)

Sets the remediatioin workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • remediation_workflow_id (str) – Workflow identifier

Returns

Dict consisting of
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.set_running(project_id, workflow_id, pod=None)

Triggers the workflow and runs from the specified start step to the specified end step

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • pod (str) – ID of pod running the workflow

Returns

True if set to run state successfully

Return type

Bool

analyze.workflow.set_step_loop(project_id, workflow_id, run_id, step_id, loop)

Sets the processing of the step loop list

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • run_id (str) – Unique workflow execution run identifier

  • step_id (str) – Unique workflow step identifier

  • loop (list) – Loop items if the step is expected to loop over a list

Returns

None

analyze.workflow.set_step_retry(project_id, workflow_id, run_id, step_id, retry)

Sets the retry count on the step

Parameters
  • project_id (str) – Unique project identifier workflow_id (str): Unique workflow identifier

  • run_id (str) – Unique workflow execution run identifier

  • step_id (str) – Unique workflow step identifier

  • retry (int) – Number of retries the step attempted on error

Returns

None

analyze.workflow.set_step_state(project_id, workflow_id, run_id, step_id, state='done', message=None)

Sets the processing of the step complete with success, warning, or error

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • run_id (str) – Unique workflow execution run identifier

  • step_id (str) – Unique workflow step identifier

  • state (str) – Indicate completion type (‘queue’, ‘run’, ‘error’, ‘warn’, ‘skip’, ‘continue’, ‘done’, None)

  • message (str) – Completion message

  • branch (str, optional) – Deprecated, left in for agent backwards compatibility

Returns

None

analyze.workflow.set_variable(project_id, workflow_id, variable_id, value=None)

Sets a variable value and returns the variable

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • variable_id (str) – Variable name

  • value (str) – Variable value. If None is passed, the variable is unset.

Returns

result dict with
  • memo (str): Variable memo

  • value (str): Variable value

  • view_manager (bool): True if variable is viewable by Manager role

  • view_explorer (bool): True if variable is viewable by Explorer role

  • update_time (timestamp): Date and time workflow was last updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.shift_down(project_id, workflow_ids, path)

Move the node below following node within the same generation If bottom within parent, it moves to the next parent below at the same generation as it’s parent (if there is one)

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (list) – List of Unique workflow identifier

  • path (str) – Current hierarchy path

Returns

New path or None if cannot be moved

Return type

str

analyze.workflow.shift_left(project_id, workflow_ids, path)

Move the node one generation up (if possible)

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (list) – List of Unique workflow identifier

  • path (str) – Current hierarchy path

Returns

New path or None if cannot be moved

Return type

str

analyze.workflow.shift_right(project_id, workflow_ids, path)

Move the node one generation down, looking upwards in the hierarchy for a suitable parent (if there is one)

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (list) – List of Unique workflow identifier

  • path (str) – Current hierarchy path

Returns

New path or None if cannot be moved

Return type

str

analyze.workflow.shift_up(project_id, workflow_ids, path)

Move the node above prior node within the same generation If top within parent, it moves to the next parent above at the same generation as it’s parent (if there is one)

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (list) – List of Unique workflow identifier

  • path (str) – Current hierarchy path

Returns

New path or None if cannot be moved

Return type

str

analyze.workflow.start(project_id, workflow_id)

Triggers the workflow to start and run the complete workflow from end to end

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

None

analyze.workflow.state(project_id, workflow_id, keys=None)

Returns the current running, complete, error, warning, or stopped state of the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • keys (list) – List of keys to return. Defaults to all.

Returns

Current workflow state with the following parameters:
  • project_id (str): Unique project identifier

  • workflow_id (str): Unique workflow identifier

  • run_id (str): Unique workflow run identifier

  • from_node (str): The start node for the workflow run

  • to_node (str): The end node for the workflow run

  • parent_workflow_id (str): Unique parent workflow identifier if activated by another workflow

  • state (str): Workflow state as ‘run’, ‘error’, ‘warn’, ‘done’, ‘stop’, or null

  • message (str): Workflow status message usually from an error or warning

  • update_time (str): Date and time state was updated as ISO 8601 compliant time

  • start_time (str): Date and time workflow was started as ISO 8601 compliant time

  • end_time (str): Date and time workflow ended as ISO 8601 compliant time

  • duration (str): Duration of workflow run as ISO 8601 Duration compliant string

Return type

dict

analyze.workflow.step_ids_in_structure(project_id, workflow_id)

Generates a list of step IDs in the workflow structure included nested workflows

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

Step IDs contained in workflow

Return type

list

analyze.workflow.step_start(project_id, workflow_id, step_id)

Sets the running state of a step to active

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • step_id (str) – Unique workflow step identifier

Returns

None

analyze.workflow.step_state(project_id, workflow_id, step_id, keys=None)

Provides a dictionary of step state for the specified step

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • step_id (str) – Unique step identifier

  • keys (list) – List of keys to return. Defaults to all.

Returns

step dict with the following parameters
  • project_id (str): Unique project identifier

  • workflow_id (str): Unique workflow identifier

  • step_id (str): Unique step identifier

  • run_id (str): Unique workflow run identifier

  • state (str): Workflow state as ‘run’, ‘error’, ‘warn’, ‘done’, ‘stop’, or null

  • message (str): Workflow status message usually from an error or warning

  • update_time (str): Date and time state was updated as ISO 8601 compliant time

  • start_time (str): Date and time workflow was started as ISO 8601 compliant time

  • end_time (str): Date and time workflow ended as ISO 8601 compliant time

  • duration (str): Duration of workflow run as ISO 8601 Duration compliant string

Return type

dict

analyze.workflow.steps_in_structure(project_id, workflow_id, sort=None, keys=None)

Generates a list of steps in the workflow structure included nested workflows

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • sort (list) – List of sort tuples using syntax (key, reverse). e.g. [(‘name’, False)]

  • keys (list) – List of keys to return. Defaults to all.

Returns

result tuple of dicts with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique step identifier

  • name (str): Step name

  • memo (str): Step description

  • paths (list): List of paths assigned to step

  • labels (list): List of labels assigned to step

  • on_error (str): Possible values are stop, continue or goto

  • goto_step (str): Step Identifier to Goto on error if specified

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Step is visible to Manager roles if True

  • view_explorer (bool): Step is visible to Explorer roles if True

  • operation (str): Step operation type

  • on_error_retry (bool): Retry the step on error flag

  • on_error_retry_limit (int): Number of times to retry a failed step before giving up

  • on_error_retry_delay (int): Number of seconds between retry attempts

  • check_conditions (bool): True if conditions should be evaluated before running the step

  • condition_on_fail (str): Possible values are skip or goto

  • condition_goto_step (str): Step Identifier to Goto if condition fails

  • conditions (list): List of conditions to evaluate before running the step

  • source_type (str): Type of input source

  • source_name (str): Input source name or path

  • target_type (str): Type of output

  • target_name (str): Output name or path

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

list

analyze.workflow.steps_state_all(project_id, workflow_id, keys=None)

Provides a list of workflow step states for all states

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • keys (list) – List of keys to return. Defaults to all.

Returns

List of step dicts with the following parameters
  • project_id (str): Unique project identifier

  • workflow_id (str): Unique workflow identifier

  • step_id (str): Unique step identifier

  • run_id (str): Unique workflow run identifier

  • state (str): Workflow state as ‘run’, ‘error’, ‘warn’, ‘done’, ‘stop’, or null

  • message (str): Workflow status message usually from an error or warning

  • update_time (str): Date and time state was updated as ISO 8601 compliant time

  • start_time (str): Date and time workflow was started as ISO 8601 compliant time

  • end_time (str): Date and time workflow ended as ISO 8601 compliant time

  • duration (str): Duration of workflow run as ISO 8601 Duration compliant string

Return type

list

analyze.workflow.steps_state_done(project_id, workflow_id, keys=None)

Provides a list of workflow step states that are marked as done, skipped, or continued after error

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • keys (list) – List of keys to return. Defaults to all.

Returns

List of step dicts with the following parameters
  • project_id (str): Unique project identifier

  • workflow_id (str): Unique workflow identifier

  • step_id (str): Unique step identifier

  • run_id (str): Unique workflow run identifier

  • state (str): Workflow state as ‘run’, ‘error’, ‘warn’, ‘done’, ‘stop’, or null

  • message (str): Workflow status message usually from an error or warning

  • update_time (str): Date and time state was updated as ISO 8601 compliant time

  • start_time (str): Date and time workflow was started as ISO 8601 compliant time

  • end_time (str): Date and time workflow ended as ISO 8601 compliant time

  • duration (str): Duration of workflow run as ISO 8601 Duration compliant string

Return type

list

analyze.workflow.steps_state_error(project_id, workflow_id, keys=None)

Provides a list of workflow step states with error states

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • keys (list) – List of keys to return. Defaults to all.

Returns

List of step dicts with the following parameters
  • project_id (str): Unique project identifier

  • workflow_id (str): Unique workflow identifier

  • step_id (str): Unique step identifier

  • run_id (str): Unique workflow run identifier

  • state (str): Workflow state as ‘run’, ‘error’, ‘warn’, ‘done’, ‘stop’, or null

  • message (str): Workflow status message usually from an error or warning

  • update_time (str): Date and time state was updated as ISO 8601 compliant time

  • start_time (str): Date and time workflow was started as ISO 8601 compliant time

  • end_time (str): Date and time workflow ended as ISO 8601 compliant time

  • duration (str): Duration of workflow run as ISO 8601 Duration compliant string

Return type

list

analyze.workflow.steps_state_running(project_id, workflow_id, keys=None)

Provides a list of workflow step states for all running steps

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • keys (list) – List of keys to return. Defaults to all.

Returns

List of step dicts with the following parameters
  • project_id (str): Unique project identifier

  • workflow_id (str): Unique workflow identifier

  • step_id (str): Unique step identifier

  • run_id (str): Unique workflow run identifier

  • state (str): Workflow state as ‘run’, ‘error’, ‘warn’, ‘done’, ‘stop’, or null

  • message (str): Workflow status message usually from an error or warning

  • update_time (str): Date and time state was updated as ISO 8601 compliant time

  • start_time (str): Date and time workflow was started as ISO 8601 compliant time

  • end_time (str): Date and time workflow ended as ISO 8601 compliant time

  • duration (str): Duration of workflow run as ISO 8601 Duration compliant string

Return type

list

analyze.workflow.stop(project_id, workflow_id, state='stop', message=None)

Stops workflow execution

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • state (str) – Workflow end state as ‘done’, ‘error’, ‘warning’, ‘stop’

  • message (str) – Completion message

Returns

None

analyze.workflow.stop_all(project_id, state='stop', message=None)

Stops workflow execution

Parameters
  • project_id (str) – Unique project identifier

  • state (str) – Workflow end state as ‘done’, ‘error’, ‘warning’, ‘stop’

  • message (str) – Completion message

Returns

None

analyze.workflow.structure(project_id, workflow_id)

Provides workflow execution structure representation

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

List of Dicts defining the workflow

Return type

list

analyze.workflow.structure_copy_node(project_id, workflow_id, from_path, from_position, to_path, to_position)

Copies a node within a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • from_path (str) – Workflow structure path to copy from

  • from_position (int) – Position within the folder to copy from

  • to_path (str) – Workflow structure path to copy to

  • to_position (int) – Position within the folder to copy to

Returns

None

analyze.workflow.structure_insert_node(project_id, workflow_id, path, position, id, kind='step', enabled=True, update_object=True)

Inserts a step node into a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • path (str) – Workflow structure path

  • position (int) – Position within the folder

  • id (str) – Node identifier

  • kind (str) – Must be step, folder, or workflow

  • enabled (bool) – Whether the node is enabled in the workflow

  • update_object (bool) – True to update the node object workflow references

Returns

None

analyze.workflow.structure_insert_nodes(project_id, workflow_id, path, start_position, nodes)

Inserts multiple nodes into a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • path (str) – Workflow structure path

  • start_position (int) – Position within the folder

  • nodes (list) – List of Dict with the following parameters: id, kind, enabled (optional)

Returns

None

analyze.workflow.structure_move_node(project_id, workflow_id, from_path, from_position, to_path, to_position)

Moves a node within a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • from_path (str) – Workflow structure path to move from

  • from_position (int) – Position within the folder to move from

  • to_path (str) – Workflow structure path to move to

  • to_position (int) – Position within the folder to move to

Returns

None

analyze.workflow.structure_move_node_down(project_id, workflow_id, from_path, from_position)

Moves a node down one position within a workflow folder

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • from_path (str) – Workflow structure path to move from

  • from_position (int) – Position within the folder to move from

Returns

None

analyze.workflow.structure_move_node_up(project_id, workflow_id, from_path, from_position)

Moves a node up one position within a workflow folder

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • from_path (str) – Workflow structure path to move from

  • from_position (int) – Position within the folder to move from

Returns

None

analyze.workflow.structure_node_disable(project_id, workflow_id, step_ids)

Disables the specified workflow steps

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • step_ids (str or list) – Unique step identifier or list of identifiers

Returns

None

analyze.workflow.structure_node_enable(project_id, workflow_id, step_ids)

Enables the specified workflow steps

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • step_ids (str or list) – Unique step identifier or list of identifiers

Returns

None

analyze.workflow.structure_remove_node(project_id, workflow_id, path, position, update_object=True)

Removes a node from the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • path (str) – Workflow structure path

  • position (int) – Position within the folder

  • update_object (bool) – True to update the node object workflow references

Returns

None

analyze.workflow.structure_remove_step_by_id(project_id, workflow_id, step_id, update_object=True)

Removes all instances of the step from the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • step_id (str) – Unique step identifier

  • update_object (bool) – True to update the node object workflow references

Returns

None

analyze.workflow.structure_remove_workflow_by_id(project_id, workflow_id, nested_workflow_id, update_object=True)

Removes all instances of the workflow from the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • nested_workflow_id (str) – Unique workflow identifier of the nested workflow

  • update_object (bool) – True to update the node object workflow references

Returns

None

analyze.workflow.unlock(project_id, workflow_ids)

Unlocks a workflow or list of workflows for configuration changes

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (str) – Unique workflow identifier or list of unique workflow identifiers

Returns

None

analyze.workflow.update(project_id, workflow_id, **kwargs)

Updates a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Kwargs:

name (str): The object name memo (str): The object description enabled (bool): The enabled state of the workflow locked (bool): True if locked from changes on_error (str): stop or remediate remediation_workflow_id (str): Workflow unique identifier to run in event of an error view_manager (bool): Workflow is visible to Manager roles if True view_explorer (bool): Workflow is visible to Explorer roles if True

Returns

Dict consisting of
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.update_stream(auth_id, event_type, app, kwarg_dict)

update_stream(event_type, app, kwarg_dict): Posts a message to the activity stream

Parameters
  • event_type (str) – What event type to post

  • app (str) – which app the event relates to

  • kwarg_dict (dict) – dict to use to format the message

analyze.workflow.update_structure(project_id, workflow_id, structure=None)

Saves the workflow execution structure representation

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • structure (list) – Nested set of lists defining the workflow execution structure

Returns

None

analyze.workflow.variable(project_id, workflow_id, variable_id)

Returns the variable details

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • variable_id (str) – The variable unique name

Returns

dict with the following properties
  • value (str): Current variable value

  • memo (str): Description of the variable

  • view_manager (bool): True if variable is viewable by Manager role

  • view_explorer (bool): True if variable is viewable by Explorer role

  • update_time (timestamp): Date and time workflow was last updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.variable_values(project_id, workflow_id)

Returns a key / value dict of variables and their values

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

key / value pair of variable name as key and variable value as the value

Return type

dict

analyze.workflow.variables(project_id, workflow_id)

Returns the list of variables in the workflow and their current values

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

Returns

result dict of dicts with the following properties
  • value (str): Current variable value

  • memo (str): Description of the variable

  • view_manager (bool): True if variable is viewable by Manager role

  • view_explorer (bool): True if variable is viewable by Explorer role

  • update_time (timestamp): Date and time workflow was last updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.view_explorer(project_id, workflow_ids, allowed=True)

Sets View Explorer flag

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (str/list) – Unique workflow identifier or list of unique workflow identifiers

  • allowed (bool) – Indicate whether Explorer role can view item

Returns

None

analyze.workflow.view_manager(project_id, workflow_ids, allowed=True)

Sets View Manager flag

Parameters
  • project_id (str) – Unique project identifier

  • workflow_ids (str/list) – Unique workflow identifier or list of unique workflow identifiers

  • allowed (bool) – Indicate whether Manager role can view item

Returns

None

analyze.workflow.workflow(project_id, workflow_id, keys=None)

Provides detailed information about the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • keys (list) – List of keys to return. Defaults to all.

Returns

Dict consisting of
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

dict

analyze.workflow.workflows(project_id, id_filter=None, sort=None, keys=None, include_state=False, member_details=False)

Returns the list of workflows in the specified project or projects

Parameters
  • project_id (str) – Project unique identifier

  • id_filter (tuple/list) – Tuple or list of workflow unique identifiers to include in result

  • sort (list) – List of sort tuples using syntax (key, reverse). e.g. [(‘name’, False)]

  • keys (list) – List of keys to return. Defaults to all.

  • include_state (bool) – Whether to include the current workflow execution state information in the response

  • member_details (bool, optional) – If True then returns member info relating to updated_by

Returns

result tuple of dicts with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True (only returned if user is an Architect)

  • view_explorer (bool): Workflow is visible to Explorer roles if True (only returned if user is an Architect)

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

If member_details is set to True, the dict will also contain:
  • updated_by_full_name (str): The User Name of the user that last updated the project

  • updated_by_user_id (int): The id of the user that last updated the project

  • updated_by_gravatar_hash (str): Unique hash to pull gravatar for the user.

If include_state is set to True, the dict will also contain:
  • run_id (str, optional): Unique workflow run identifier

  • from_node (str, optional): The start node for the workflow run

  • to_node (str, optional): The end node for the workflow run

  • parent_workflow_id (str, optional): Unique parent workflow identifier if activated by another workflow

  • state (str, optional): Workflow state as ‘run’, ‘error’, ‘warn’, ‘done’, ‘stop’, or null

  • message (str, optional): Workflow status message usually from an error or warning

  • update_time (str, optional): Date and time state was updated as ISO 8601 compliant time

  • start_time (str, optional): Date and time workflow was started as ISO 8601 compliant time

  • end_time (str, optional): Date and time workflow ended as ISO 8601 compliant time

  • duration (str, optional): Duration of workflow run as ISO 8601 Duration compliant string

Return type

tuple

analyze.workflow.workflows_from_path(project_id, path, sort=None, keys=None)

Provides list of workflows based on a path fragment. Path fragment can be to parent level.

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Object rollup path using unix style forward slashes

  • sort (list) – List of sort tuples using syntax (key, reverse). e.g. [(‘name’, False)]

  • keys (list) – List of keys to return. Defaults to all.

Returns

result tuple of dicts with the following properties
  • project_id (str): Unique project identifier

  • id (str): Unique workflow identifier

  • name (str): Workflow name

  • memo (str): Workflow description

  • paths (list): List of paths assigned to workflow

  • labels (list): List of labels assigned to workflow

  • on_error (str): Possible values are stop or remediate

  • remediation_workflow_id (str): Workflow to trigger on error if remediation is active

  • enabled (bool): True if the project is enabled

  • locked (bool): True if the project is locked from editing

  • view_manager (bool): Workflow is visible to Manager roles if True

  • view_explorer (bool): Workflow is visible to Explorer roles if True

  • update_time (str): Date and time data was updated as ISO 8601 compliant time

  • updated_by (int): User ID of last updater

Return type

tuple