Workflow

analyze.workflow.add_label(project_id, workflow_id, label, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.add_path(project_id, workflow_id, path, branch='master')

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 branch (str): Project branch

Returns

None

analyze.workflow.add_paths(project_id, additions, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.apply_variables(project_id, workflow_id, message, branch='master')

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

  • branch (str) – Project branch

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, branch='master')

Resets the workflow state to a fresh condition

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

None

analyze.workflow.clear_all_steps(project_id, workflow_id, branch='master')

Resets all the workflow step states to a fresh condition

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

None

analyze.workflow.clear_steps(project_id, workflow_id, branch='master', 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

  • branch (str) – Project branch

  • 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, branch='master')

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

  • branch (str) – Project branch

Returns

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

  • id (str): Unique workflow identifier

  • branch (str): Project branch

  • 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, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.create(project_id, branch='master', 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

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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, branch='master')

Creates a folder in the table hierarchy

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Path to directory

  • branch (str) – Project branch

Returns

None

analyze.workflow.create_step(project_id, branch, 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', on_error_retry=False, on_error_retry_limit=3, on_error_retry_delay=10, check_conditions=False, 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

  • branch (str) – Project branch

  • 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 or continue

  • 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

  • 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

  • branch (str): Project branch

  • 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 or continue

  • 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

  • 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, branch='master', force=False)

Deletes a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

  • 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, branch='master')

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

Parameters
  • project_id (str) – Unique project identifier

  • path (str) – Path to directory

  • branch (str) – Project branch

Returns

None

analyze.workflow.delete_log(project_id, workflow_id, branch='master')

Clears the workflow log

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

None

analyze.workflow.disable(project_id, workflow_ids, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.download_report(project_id, workflow_id, branch='master')

Generates workflow documentation report and downloads to requesting end point

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

None

analyze.workflow.enable(project_id, workflow_ids, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.get_log(project_id, workflow_id, branch='master')

Retrieves the full workflow log

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

List of log messages

Return type

list

analyze.workflow.ids_from_path(project_id, path, branch='master')

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

  • branch (str) – Project branch

Returns

id (str): Workflow unique identifier

Return type

list

analyze.workflow.is_locked(project_id, workflow_id, branch='master')

Returns True if workflow is locked else false

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

locked state

Return type

bool

analyze.workflow.is_queued(project_id, workflow_id, branch='master')

Returns the queued status of the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

True if workflow is queued else False

Return type

bool

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

Returns the running status of the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

  • 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, branch='master')

Provides a list of labels for the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

list of labels associated with Workflow

Return type

list

analyze.workflow.lock(project_id, workflow_ids, branch='master')

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

  • branch (str) – Project branch

Returns

None

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

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)

  • branch (str) – Project branch

Returns

None

analyze.workflow.lookup_by_full_path(project_id, path, branch='master')

Returns ID for path provided

Parameters
  • project_id (str) – Unique project identifier

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

  • branch (str) – Project branch

Returns

Workflow unique identifier

Return type

str

analyze.workflow.lookup_by_name(project_id, name, branch='master')

Returns ID for name provided

Parameters
  • project_id (str) – Unique project identifier

  • name (str) – Unique workflow name

  • branch (str) – Project branch

Returns

Workflow unique identifier

Return type

str

analyze.workflow.move(project_id, workflow_id, rollup_id, after_position, branch='master')

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

  • branch (str) – Project branch

Returns

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

  • id (str): Unique workflow identifier

  • branch (str): Project branch

  • 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, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.move_path(project_id, workflow_id, from_path, to_path, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.move_paths(project_id, moves, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.paths(project_id, branch='master', path=None)

Provides a list of paths for all workflows and folders

Parameters
  • project_id (str) – Unique project identifier

  • branch (str) – Project branch

  • 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, branch='master')

Provides a list of paths associated with the canonical id

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

List of paths associated with a Workflow ID

Return type

list

analyze.workflow.pause(project_id, workflow_id, branch='master')

Pauses workflow execution

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

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, branch='master', 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

  • branch (str) – Project branch

  • 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, branch='master', 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

  • branch (str) – Project branch

  • 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, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.remove_path(project_id, workflow_id, path, branch='master')

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 branch (str): Project branch

Returns

None

analyze.workflow.report(project_id, workflow_id, account_id, report_path, branch='master')

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

  • branch (str) – Project branch

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

  • branch (str): Project branch

  • 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, branch='master')

Resumes a paused or stopped workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

None

analyze.workflow.save_variable(project_id, workflow_id, variable_id, branch='master', 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.

  • branch (str) – Project branch

  • 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', branch='master', 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)

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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='/', branch='master', 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

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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, branch='master')

set_rollup_parallel(project_id, workflow_id, path, branch=’master’) Sets the workflow group to execute in parallel

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

  • path (str) – Original path

Returns

None

analyze.workflow.set_directory_serial(project_id, workflow_id, path, branch='master')

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

  • branch (str) – Project branch

  • path – Original path

analyze.workflow.set_remediation(project_id, workflow_id, remediation_workflow_id, branch='master')

Sets the remediatioin workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • remediation_workflow_id (str) – Workflow identifier

  • branch (str) – Project branch

Returns

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

  • id (str): Unique workflow identifier

  • branch (str): Project branch

  • 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, branch='master', 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

  • branch (str) – Project branch

  • 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, branch, workflow_id, run_id, step_id, loop)

Sets the processing of the step loop list

Parameters
  • project_id (str) – Unique project identifier

  • branch (str) – Project branch

  • 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, branch, workflow_id, run_id, step_id, retry)

Sets the retry count on the step

Parameters
  • project_id (str) – Unique project identifier

  • branch (str) – Project branch

  • 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, branch, 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

  • branch (str) – Project branch

  • 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

Returns

None

analyze.workflow.set_variable(project_id, workflow_id, variable_id, branch='master', 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

  • branch (str) – Project branch

  • 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.start(project_id, workflow_id, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.state(project_id, workflow_id, branch='master', 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

  • branch (str) – Project branch

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

Returns

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

  • branch (str): Project branch

  • 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, branch='master')

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

  • branch (str) – Project branch

Returns

Step IDs contained in workflow

Return type

list

analyze.workflow.step_start(project_id, workflow_id, step_id, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.step_state(project_id, workflow_id, step_id, branch='master', 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

  • branch (str) – Project branch

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

Returns

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

  • branch (str): Project branch

  • 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, branch='master', 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

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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 or continue

  • 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

  • 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, branch='master', 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

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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, branch='master', 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

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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, branch='master', 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

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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, branch='master', 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

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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, branch='master', state='stop', message=None)

Stops workflow execution

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

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

  • message (str) – Completion message

Returns

None

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

Stops workflow execution

Parameters
  • project_id (str) – Unique project identifier

  • branch (str) – Project branch

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

  • message (str) – Completion message

Returns

None

analyze.workflow.structure(project_id, workflow_id, branch='master')

Provides workflow execution structure representation

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

Returns

List of Dicts defining the workflow

Return type

list

analyze.workflow.structure_copy_node(project_id, workflow_id, branch, 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

  • branch (str) – Project branch

  • 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, branch, 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

  • branch (str) – Project branch

  • 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, branch, path, start_position, nodes)

Inserts multiple nodes into a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

  • 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, branch, 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

  • branch (str) – Project branch

  • 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, branch, 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

  • branch (str) – Project branch

  • 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, branch, 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

  • branch (str) – Project branch

  • 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, branch, step_ids)

Disables the specified workflow steps

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

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

Returns

None

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

Enables the specified workflow steps

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

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

Returns

None

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

Removes a node from the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

  • 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, branch, 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

  • branch (str) – Project branch

  • 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, branch, 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

  • branch (str) – Project branch

  • 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, branch='master')

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.update(project_id, workflow_id, branch='master', **kwargs)

Updates a workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

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

  • branch (str): Project branch

  • 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, branch='master', structure=None)

Saves the workflow execution structure representation

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

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

Returns

None

analyze.workflow.variable(project_id, workflow_id, variable_id, branch='master')

Returns the variable details

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • variable_id (str) – The variable unique name

  • branch (str) – Project branch

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, branch='master')

Returns a key / value dict of variables and their values

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

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, branch='master')

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

  • branch (str) – Project branch

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, branch='master')

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

  • branch (str) – Project branch

Returns

None

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

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

  • branch (str) – Project branch

Returns

None

analyze.workflow.workflow(project_id, workflow_id, branch='master', keys=None)

Provides detailed information about the workflow

Parameters
  • project_id (str) – Unique project identifier

  • workflow_id (str) – Unique workflow identifier

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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, branch='master', 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

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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, branch='master', 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

  • branch (str) – Project branch

  • 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

  • branch (str): Project branch

  • 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