---
title: workflow
description: Reference for the workflow config scope, which provides workflow execution options.
---

# `workflow`

<AddedInVersion version="24.10" />

The `workflow` scope provides workflow execution options.

##### `workflow.failOnIgnore`

<AddedInVersion version="24.10" />

When `true`, the pipeline will exit with a non-zero exit code if any failed tasks are ignored using the `ignore` [error strategy][process-error-strategy] (default: `false`).

##### `workflow.onComplete`

Specify a closure that will be invoked at the end of a workflow run (including failed runs). See [Workflow handlers][workflow-handlers] for more information.

##### `workflow.onError`

Specify a closure that will be invoked if a workflow run is terminated. See [Workflow handlers][workflow-handlers] for more information.

##### `workflow.output.contentType`

*Currently only supported for S3.*

Specify the media type, also known as [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types), of published files (default: `false`). Can be a string (e.g. `'text/html'`), or `true` to infer the content type from the file extension.

##### `workflow.output.copyAttributes`

<AddedInVersion version="25.04" />

*Currently only supported for local and shared filesystems.*

Copy file attributes (such as the last modified timestamp) to the published file (default: `false`).

##### `workflow.output.enabled`

Enable or disable publishing (default: `true`).

##### `workflow.output.ignoreErrors`

When `true`, the workflow will not fail if a file can't be published for some reason (default: `false`).

##### `workflow.output.mode`

The file publishing method (default: `'symlink'`).

Available options:

###### `'copy'`

Copy each file into the output directory.

###### `'copyNoFollow'`

Copy each file into the output directory without following symlinks, i.e. only the link is copied.

###### `'link'`

Create a hard link in the output directory for each file.

###### `'move'`

Move each file into the output directory.

Should only be used for files which are not used by downstream processes in the workflow.

###### `'rellink'`

Create a relative symbolic link in the output directory for each file.

###### `'symlink'`

Create an absolute symbolic link in the output directory for each output file.

##### `workflow.output.overwrite`

Determines when to overwrite an existing file in the output directory (default: `'standard'`).

Available options:

###### `false`

Never overwrite existing files.

###### `true`

Always overwrite existing files.

######  `'deep'`

Overwrite existing files when the file content is different.

######  `'lenient'`

Overwrite existing files when the file size is different.

######   `'standard'`

Overwrite existing files when the file size or last modified timestamp is different.

##### `workflow.output.storageClass`

*Currently only supported for S3.*

Specify the storage class for published files.

#####  `workflow.output.tags`

*Currently only supported for S3.*

Specify arbitrary tags for published files.

For example:

```groovy
workflow.output.tags = [FOO: 'hello', BAR: 'world']
```

[process-error-strategy]: ../process#errorstrategy
[workflow-handlers]: ../../notifications#workflow-handlers
