2.9 KiB
title | description |
---|---|
Template fields | Explain Renovate template fields |
Template fields
In order to provide flexible configuration, Renovate supports using "templates" for certain fields like addLabels
, branchName
, extractVersionTemplate
, labels
.
Renovate's templates use handlebars under the hood.
You can recognize templates when you see strings like {{depName}}
in configuration fields.
Below you can find lists of fields/values that you can use in templates. Some are configuration options passed through, while others are generated as part of Renovate's run.
logJSON
and releases
are only allowed in commitBody
template.
Exposed config options
Other available fields
Additional Handlebars helpers
stringToPrettyJSON
If you want to print pretty JSON with Handlebars you can use the built-in function stringToPrettyJSON
like this:
{{{stringToPrettyJSON myvar}}}
In the example above myvar
is a variable/field, that has valid JSON.
encodeURIComponent
If you want to convert a string to a valid URI, use the built-in function encodeURIComponent
like this:
{{{encodeURIComponent baseDir}}}
In the example above baseDir
is the string you want to transform into a valid URI.
Read the MDN Web Docs, encodeURIComponent() to learn more.
replace
The replace
helper replaces all found strings with the replacement string.
If you want to replace some characters in a string, use the built-in function replace
like this:
{{{replace 'github.com' 'ghc' depName}}}
In the example above all matches of github.com
will be replaced by ghc
in depName
.
Read the MDN Web Docs, String.prototype.replace() to learn more.
lowercase
The lowercase
helper converts a given string to lower case.
{{{ lowercase depName }}}
containsString
Returns true
if a given string is a substring.
{{#if (containsString depName 'python')}}Python{{else}}Other{{/if}}
and
Returns true
only if all expressions are true
.
{{#if (and isMajor hasReleaseNotes)}}Backwards Incompatible release! Check out the Release notes.{{/if}}
In the example above, it will only show a text if isMajor=true
and hasReleaseNotes=true
.
or
Returns true
if at least one expression is true
.
{{#if (or isPatch isSingleVersion}}Small update, safer to merge and release.{{else}}Check out the changelog for all versions before merging!{{/if}}