List Operations
When a field path resolves to an array (e.g. labels, components, fixVersions), you can apply list operations to transform or extract values.
Operation | Description | Example | Output |
.first | First element | smartValue(issue.fields.components.name.first) | "API" |
.last | Last element | smartValue(issue.fields.components.name.last) | "Auth" |
.get(n) | Element at index n (0-based) | smartValue(issue.fields.labels.get(1)) | "urgent" |
.getFromEnd(n) | Element n positions from end | smartValue(issue.fields.labels.getFromEnd(0)) | "urgent" |
.distinct | Remove duplicates | smartValue(issue.fields.labels.distinct) | (unique values) |
.size | Number of elements | smartValue(issue.fields.labels.size) | 2 |
.sum | Sum of numeric values | smartValue(issue.fields.worklogs.timeSpentSeconds.sum) | (numeric sum) |
.average | Average of numeric values | smartValue(issue.fields.worklogs.timeSpentSeconds.average) | (average) |
.max | Maximum value | smartValue(issue.fields.worklogs.timeSpentSeconds.max) | (max) |
.min | Minimum value | smartValue(issue.fields.worklogs.timeSpentSeconds.min) | (min) |
.join(sep) | Join elements with a separator | smartValue(issue.fields.labels.join(" OR ")) | "backend OR urgent" |