Transformer
Transform information before using it
On this page
Description
The "transformers" parameter can be used by any stage definition as a "source", "condition", or "target". A "transformers" object contains a list of transformers. Each kind of transformer rules applies a string manipulation like adding or removing characters.
source
Source returns information modified by a list of transformers.
condition
A condition receives information from the source then modifies that value using transformers before using it in the resource.
target
A target receives information from the source then modifies that value with the transformers rule before using the resource.
Parameters
Name |
Default |
Description |
replacer |
- |
Replace a string with another one, more here |
replacers |
- |
A list of Replacer |
addprefix |
- |
Add prefix to the value |
addsuffix |
- |
Add suffix to the value |
trimprefix |
- |
Remove prefix to the value |
trimsuffix |
- |
Remove suffix to the value |
find |
- |
Search for a string value using regular expression and then return its value exist |
findsubmatch |
- |
Search for a substring using a regular expression and return its content, more here |
semverinc |
- |
Bump semantic version, accept a comma separated list of ["major","minor","patch"] |
quote |
false |
Add quotes around the value |
unquote |
false |
Remove quotes around the value |
Replacer
A replacer rule modifies the information by replacing the "from" value by the "to" value.
| Name | Required | Default | Description |
|---|---|---|---|
from |
✔ |
- |
"from" value defines the string that will be replaced |
to |
✔ |
- |
"to" value defines the string that we want to have |
FindSubMatch
A findsubmatch rule captures the desired information by applying pattern as a regexp and using captureindex value as the index for the capture to return (defaults to 0 which returns all submatches).
| Name | Required | Default | Description |
|---|---|---|---|
pattern |
✔ |
- |
|
captureindex |
- |
- |
|
Example
The findsubmatch below returns the submatch captured with (.*?):
sources:
default:
name: "Get latest jenkins weekly version"
kind: jenkins
transformers:
- addprefix: "alpha-"
- addsuffix: "-jdk11"
- trimsuffix: "-jdk11"
- trimprefix: "alpha-"
- replacer:
from: "-jdk11"
to: "-jdk15"
- replacers:
- from: "-jdk15"
to: "-jdk17"
- findsubmatch:
pattern: '"(.*?):(.*)'
captureindex: 1
- findsubmatch:
pattern: '(\d*).(\d*).(\d*)'
capturepattern: "major: \\3, minor: \\2, patch: \\1"
- semverinc: "major,minor"
- find: "2.234.(.*)$"
spec:
release: weekly
targets:
targetID:
name: "Update file file"
kind: file
spec:
file: TODO