diff --git a/docs/usage/configuration-options.md b/docs/usage/configuration-options.md index 06988ec4c8b3bffb40d68ce9de6ae7a37eaaea5a..e6b372a013fc41e0fc455ea44146014c4aa75d34 100644 --- a/docs/usage/configuration-options.md +++ b/docs/usage/configuration-options.md @@ -1990,6 +1990,11 @@ In the above example, each regex manager will match a single dependency each. If `depName` cannot be captured with a named capture group in `matchString` then it can be defined manually using this field. It will be compiled using Handlebars and the regex `groups` result. +### extractVersionTemplate + +If `extractVersion` cannot be captured with a named capture group in `matchString` then it can be defined manually using this field. +It will be compiled using Handlebars and the regex `groups` result. + ### lookupNameTemplate `lookupName` is used for looking up dependency versions. diff --git a/lib/config/definitions.ts b/lib/config/definitions.ts index e76131de8a0778a423666f0bba4b65e125f9a97b..11cfde45e6245ee3fe3d48e4be0ede0e140b5d3d 100644 --- a/lib/config/definitions.ts +++ b/lib/config/definitions.ts @@ -1956,6 +1956,15 @@ const options: RenovateOptions[] = [ cli: false, env: false, }, + { + name: 'extractVersionTemplate', + description: + 'Optional extractVersion for extracted dependencies. Valid only within a `regexManagers` object.', + type: 'string', + parent: 'regexManagers', + cli: false, + env: false, + }, { name: 'fetchReleaseNotes', description: 'Allow to disable release notes fetching.', diff --git a/lib/config/validation.spec.ts b/lib/config/validation.spec.ts index eb7eb914b4f31712d1c9055562ea3002b9fc59aa..886fe778380b0bb37d1277c8cd9eb04c2d30331b 100644 --- a/lib/config/validation.spec.ts +++ b/lib/config/validation.spec.ts @@ -352,6 +352,7 @@ describe(getName(), () => { depNameTemplate: 'foo', datasourceTemplate: 'bar', registryUrlTemplate: 'foobar', + extractVersionTemplate: '^(?<version>v\\d+\\.\\d+)', }, ], }; diff --git a/lib/config/validation.ts b/lib/config/validation.ts index b331e7c29c1472aede24081167c2ca1224150e1a..2cf5b2adc4d269ac74318556155ff25a09d90242 100644 --- a/lib/config/validation.ts +++ b/lib/config/validation.ts @@ -388,6 +388,7 @@ export async function validateConfig( 'versioningTemplate', 'registryUrlTemplate', 'currentValueTemplate', + 'extractVersionTemplate', ]; // TODO: fix types for (const regexManager of val as any[]) {