Skip to main content
Errand provides a set of built-in functions that you can use in any expression: computed block values, task conditions, working directories, and command strings.

Categories

String

Manipulate and transform strings.

Number

Arithmetic and parsing functions.

Collection

Work with lists, sets, and maps.

Encoding

Encode and decode data formats.

Crypto

Hash values for integrity and cache keys.

Filesystem

Read files, resolve paths, and discover files.

Datetime

Format dates and timestamps.

Regex

Pattern matching and extraction.

UUID

Generate unique identifiers.

Conversion

Convert values between types.

Environment

Read environment variables.

Runtime

Detect the current platform.

Using functions

Call a function by name with parentheses:
computed "image_tag" {
  expression = lower(replace(var.branch, "/", "-"))
}
Functions can be nested:
computed "safe_name" {
  expression = trimspace(lower(env("APP_NAME", "myapp")))
}
Use functions inside string interpolation:
task "deploy" {
  commands = [
    "docker push myapp:${substr(var.commit, 0, 8)}",
  ]
}