---
title: workflow
description: Reference for the workflow namespace, which contains information about the current workflow run.
---

# `workflow`

The `workflow` namespace contains information about the current workflow run.

### Properties

##### `commandLine: String`

Command line as entered by the user to launch the workflow execution.

##### `commitId: String`

Git commit ID of the executed workflow repository.

When providing a Git tag, branch name, or commit hash using the `-r` CLI option, the associated `workflow.commitId` is also populated.

##### `complete: OffsetDateTime`

*Available only in the `workflow.onComplete` handler*

Timestamp of workflow when execution is completed.

##### `configFiles: List<Path>`

Configuration files used for the workflow execution.

##### `container: String | Map<String,String>`

Docker image used to run workflow tasks, or a map of process names to process containers when multiple images are used.

##### `containerEngine: String`

Returns the name of the container engine (e.g. docker or singularity) or null if no container engine is enabled.

##### `duration: Duration`

*Available only in the `workflow.onComplete` handler*

Time elapsed to complete workflow execution.

##### `errorMessage: String`

*Available only in the `workflow.onComplete` and `workflow.onError` handlers*

Error message of the task that caused the workflow execution to fail.

##### `errorReport: String`

*Available only in the `workflow.onComplete` and `workflow.onError` handlers*

Detailed error of the task that caused the workflow execution to fail.

##### `exitStatus: int`

*Available only in the `workflow.onComplete` and `workflow.onError` handlers*

Exit status of the task that caused the workflow execution to fail.

##### `failOnIgnore: boolean`

<AddedInVersion version="24.10" />
Whether the `workflow.failOnIgnore` config option was enabled.

See also: [errorStrategy][process-error-strategy]

##### `fusion`

Namespace containing information about the current Fusion runtime.

The following properties are available:

###### `enabled: boolean`

Whether Fusion is enabled.

###### `version: String`

The Fusion version being used.

##### `homeDir: Path`

User system home directory.

##### `launchDir: Path`

Directory where the workflow was launched.

##### `manifest`

Namespace corresponding to the [`manifest`][config-manifest] config scope.

##### `outputDir: Path`

<AddedInVersion version="24.10" />

Workflow output directory.

##### `preview: boolean`

<AddedInVersion version="24.04" />

Whether the current workflow run is a preview run.

##### `profile: String`

Comma-separated list of active configuration profiles.

##### `projectDir: Path`

Directory where the workflow project is located.

##### `repository: String`

Project repository Git remote URL.

##### `resume: boolean`

Returns `true` whenever the current instance is resumed from a previous execution.

##### `revision: String`

Git branch/tag of the executed workflow repository.

When providing a Git tag or branch name using the `-r` CLI option, the `workflow.revision` is also populated.

##### `runName: String`

Mnemonic name assigned to this execution instance.

##### `scriptFile: Path`

Project main script file path.

##### `scriptId: String`

Project main script unique hash ID.

##### `scriptName: String`

Project main script file name.

##### `sessionId: UUID`

Unique identifier (UUID) associated to current execution.

##### `start: OffsetDateTime`

Timestamp of workflow at execution start.

##### `stubRun: boolean`

Returns `true` whenever the current instance is a stub-run execution .

##### `success: boolean`

*Available only in the `workflow.onComplete` and `workflow.onError` handlers*

Reports if the execution completed successfully.

##### `userName: String`

User system account name.

##### `wave`

Namespace containing Wave runtime information.

The following properties are available:

###### `enabled: boolean`

Whether Wave is enabled.

##### `workDir: Path`

The directory where task temporary files are stored.

### Functions

##### `onComplete( action: Closure )`

Define an action to take when the workflow completes (whether successful or not).

##### `onError( action: Closure )`

Define an action to take if the workflow is terminated due to a runtime error or task failure.

[config-manifest]: ../config/manifest
[process-error-strategy]: ../process#errorstrategy
