Skip to main content

regex

Overview

The regex function enables you to perform pattern matching on field values using regular expressions. This is useful for finding issues based on complex text patterns in fields like summary, description, or custom text fields.

Syntax

issue in regex("subquery", "field", "pattern")

Parameters

  • subquery (required): A valid JQL query that defines the set of issues to evaluate
  • field (required): The name of the field to search in
  • pattern (required): A valid regular expression pattern

Supported Operators

  • in - issues where field matches the pattern
  • not in - issues where field does not match the pattern

Examples

Finding issues with version numbers in summary

issue in regex("project = SER", "summary", "v[0-9]+[.][0-9]+[.][0-9]+")

Matches summaries like "v1.2.3", "Release v1.2.3 is ready".

Finding issues with exact version number match

issue in regex("project = SER", "summary", "^v[0-9]+[.][0-9]+[.][0-9]+$")

Only matches summaries that are exactly a version number like "v1.2.3".

Finding issues with email addresses in description

issue in regex("project = SER", "description", "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+[.][a-zA-Z]{2,}")

Finding issues with specific date format in a custom field

issue in regex("project = SER", "Approvers", "[0-9]{2}/[0-9]{2}/[0-9]{4}")

Finding issues without numbers in summary

issue not in regex("project = SER", "summary", "[0-9]")

Finding issues with specific error codes

issue in regex("project = SER", "description", "ERROR-[A-Z]{2}[0-9]{4}")

Supported Field Types

The regex function works with:

  • Text fields (Summary, Description)
  • Custom text fields
  • Status, Priority, Labels, Issue types
  • Other text-based fields

For custom fields, use the field's display name (e.g., "Story Points" instead of "customfield_10001").

The function automatically handles Atlassian Document Format (ADF) fields by extracting plain text for pattern matching.

Regular Expression Syntax

Character Classes

  • Use [0-9] instead of \d for digits
  • Use [.] instead of \. for literal dots
  • Character classes like [a-z], [A-Z], [^abc] work as expected

Quantifiers

  • * (zero or more)
  • + (one or more)
  • ? (zero or one)
  • {n} (exactly n times)
  • {n,} (n or more times)
  • {n,m} (between n and m times)

Anchors

  • ^ (start of string)
  • $ (end of string)

Groups and Alternation

  • (...) for grouping
  • | for alternation

JQL Escape Sequences

JQL has limited escape sequence support. Valid escape sequences are:

  • \\' (single quote), \\" (double quote)
  • \\t (tab), \\n (newline), \\r (carriage return)
  • \\\\ (backslash), \\ (space)
  • \\uXXXX (Unicode character)

Performance Considerations

  • Simple patterns are faster than complex ones
  • Searching in large text fields (like description) may be slower
  • Use specific subqueries to limit the result set

Error Handling

The function will return an error if:

  • The regular expression pattern is invalid
  • The specified field name is not valid or not found
  • The JQL subquery is invalid