- introduce additional placeholders supported by the template
- introduce placeholder support into `empty_template` - introduce new placeholders for templates, update README with new placeholders
This commit is contained in:
+30
-1
@@ -1,5 +1,6 @@
|
||||
import {PullRequestInfo, sortPullRequests} from './pullRequests'
|
||||
import * as core from '@actions/core'
|
||||
import {ReleaseNotesOptions} from './releaseNotes'
|
||||
import {
|
||||
Category,
|
||||
Configuration,
|
||||
@@ -9,7 +10,8 @@ import {
|
||||
|
||||
export function buildChangelog(
|
||||
prs: PullRequestInfo[],
|
||||
config: Configuration
|
||||
config: Configuration,
|
||||
options: ReleaseNotesOptions
|
||||
): string {
|
||||
// sort to target order
|
||||
const sort = config.sort || DefaultConfiguration.sort
|
||||
@@ -96,10 +98,37 @@ export function buildChangelog(
|
||||
'${{UNCATEGORIZED}}',
|
||||
changelogUncategorized
|
||||
)
|
||||
|
||||
// fill other placeholders
|
||||
transformedChangelog = transformedChangelog.replace(
|
||||
'${{CATEGORIZED_COUNT}}',
|
||||
categorized.size.toString()
|
||||
)
|
||||
transformedChangelog = transformedChangelog.replace(
|
||||
'${{UNCATEGORIZED_COUNT}}',
|
||||
uncategorized.length.toString()
|
||||
)
|
||||
transformedChangelog = fillAdditionalPlaceholders(
|
||||
transformedChangelog,
|
||||
options
|
||||
)
|
||||
|
||||
core.info(`ℹ️ Filled template`)
|
||||
return transformedChangelog
|
||||
}
|
||||
|
||||
export function fillAdditionalPlaceholders(
|
||||
text: string,
|
||||
options: ReleaseNotesOptions
|
||||
): string {
|
||||
let transformed = text
|
||||
transformed = transformed.replace('${{OWNER}}', options.owner)
|
||||
transformed = transformed.replace('${{REPO}}', options.repo)
|
||||
transformed = transformed.replace('${{FROM_TAG}}', options.fromTag)
|
||||
transformed = transformed.replace('${{TO_TAG}}', options.toTag)
|
||||
return transformed
|
||||
}
|
||||
|
||||
function haveCommonElements(arr1: string[], arr2: string[]): Boolean {
|
||||
return arr1.some(item => arr2.includes(item))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user