- introduce more placeholders (milestone, labels, asignees, reviewers)

- update testcase to check new placeholders
This commit is contained in:
Mike Penz
2020-10-17 18:11:22 +02:00
parent 8058353346
commit da89739163
5 changed files with 49 additions and 34 deletions
+22 -3
View File
@@ -12,7 +12,10 @@ export interface PullRequestInfo {
author: string
repoName: string
labels: string[]
milestone: string
body: string
assignees: string[]
requestedReviewers: string[]
}
export class PullRequests {
@@ -40,7 +43,16 @@ export class PullRequests {
labels: pr.data.labels.map(function (label) {
return label.name
}),
body: pr.data.body
milestone: pr.data.milestone?.title,
body: pr.data.body,
assignees: pr.data.assignees?.map(function (asignee) {
return asignee.login
}),
requestedReviewers: pr.data.requested_reviewers?.map(function (
reviewer
) {
return reviewer.login
})
}
} catch (e) {
core.warning(`Cannot find PR ${owner}/${repo}#${prNumber} - ${e.message}`)
@@ -76,10 +88,17 @@ export class PullRequests {
mergedAt: moment(pr.merged_at),
author: pr.user.login,
repoName: pr.base.repo.full_name,
labels: pr.labels.map(function (label) {
labels: pr.labels?.map(function (label) {
return label.name
}),
body: pr.body
milestone: pr.milestone?.title,
body: pr.body,
assignees: pr.assignees?.map(function (asignee) {
return asignee.login
}),
requestedReviewers: pr.requested_reviewers?.map(function (reviewer) {
return reviewer.login
})
})
}
+13 -4
View File
@@ -38,10 +38,9 @@ export function buildChangelog(
// bring PRs into the order of categories
const categorized = new Map<Category, string[]>()
if (config.categories) {
for (const category of config.categories) {
categorized.set(category, [])
}
const categories = config.categories ?? DefaultConfiguration.categories
for (const category of categories) {
categorized.set(category, [])
}
const uncategorized: string[] = []
@@ -107,7 +106,17 @@ function fillTemplate(pr: PullRequestInfo, template: string): string {
transformed = transformed.replace('${{URL}}', pr.htmlURL)
transformed = transformed.replace('${{MERGED_AT}}', pr.mergedAt.toISOString())
transformed = transformed.replace('${{AUTHOR}}', pr.author)
transformed = transformed.replace('${{LABELS}}', pr.labels?.join(', ') ?? '')
transformed = transformed.replace('${{MILESTONE}}', pr.milestone ?? '')
transformed = transformed.replace('${{BODY}}', pr.body)
transformed = transformed.replace(
'${{ASIGNEES}}',
pr.assignees?.join(', ') ?? ''
)
transformed = transformed.replace(
'${{REVIEWERS}}',
pr.requestedReviewers?.join(', ') ?? ''
)
return transformed
}