diff --git a/src/content-generator.ts b/src/content-generator.ts index b9b8c11..7e71a2c 100644 --- a/src/content-generator.ts +++ b/src/content-generator.ts @@ -79,12 +79,12 @@ url: "${issue.html_url}" opened_by: "${issue.user?.login}" assignees: [${( issue.assignees?.map( - (assignee: { login: string }) => '"' + assignee.login + '"', + (assignee: { login: string }) => '"' + escapeYamlString(assignee.login) + '"', ) || [] ).join(", ")}] labels: [${( issue.labels?.map( - (label: { name: string }) => '"' + label.name + '"', + (label: { name: string }) => '"' + escapeYamlString(label.name) + '"', ) || [] ).join(", ")}] updateMode: "${repo.issueUpdateMode}" @@ -225,17 +225,17 @@ url: "${pr.html_url}" opened_by: "${pr.user?.login}" assignees: [${( pr.assignees?.map( - (assignee: { login: string }) => '"' + assignee.login + '"', + (assignee: { login: string }) => '"' + escapeYamlString(assignee.login) + '"', ) || [] ).join(", ")}] requested_reviewers: [${( pr.requested_reviewers?.map( - (reviewer: { login: string }) => '"' + reviewer.login + '"', + (reviewer: { login: string }) => '"' + escapeYamlString(reviewer.login) + '"', ) || [] ).join(", ")}] labels: [${( pr.labels?.map( - (label: { name: string }) => '"' + label.name + '"', + (label: { name: string }) => '"' + escapeYamlString(label.name) + '"', ) || [] ).join(", ")}]`; diff --git a/src/util/templateUtils.ts b/src/util/templateUtils.ts index f24a6b1..272daa6 100644 --- a/src/util/templateUtils.ts +++ b/src/util/templateUtils.ts @@ -162,7 +162,7 @@ function buildReplacements( ): Record { const replacements: Record = { "{title}": data.title || "Untitled", - "{title_yaml}": data.title_yaml || "Untitled", + "{title_yaml}": `"${data.title_yaml || "Untitled"}"`, "{number}": data.number.toString(), "{status}": data.status || "unknown", "{state}": data.state || data.status || "unknown",