diff --git a/packages/backend/server/routes/publish.post.ts b/packages/backend/server/routes/publish.post.ts index f6a9f795..f6226025 100644 --- a/packages/backend/server/routes/publish.post.ts +++ b/packages/backend/server/routes/publish.post.ts @@ -229,46 +229,58 @@ export default eventHandler(async (event) => { ); if (comment !== "off") { - if (comment === "update" && prevComment!) { - await installation.request( - "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", - { - owner: workflowData.owner, - repo: workflowData.repo, - comment_id: prevComment.id, - body: generatePullRequestPublishMessage( - origin, - templatesHtmlMap, - packagesWithoutPrefix, - workflowData, - compact, - onlyTemplates, - checkRunUrl, - packageManager, - "ref", - ), - }, - ); - } else { - await installation.request( - "POST /repos/{owner}/{repo}/issues/{issue_number}/comments", - { - owner: workflowData.owner, - repo: workflowData.repo, - issue_number: Number(workflowData.ref), - body: generatePullRequestPublishMessage( - origin, - templatesHtmlMap, - packagesWithoutPrefix, - workflowData, - compact, - onlyTemplates, - checkRunUrl, - packageManager, - comment === "update" ? "ref" : "sha", - ), - }, - ); + const { data: { permissions } } = await installation.request( + "GET /repos/{owner}/{repo}/installation", + { + owner: workflowData.owner, + repo: workflowData.repo, + } + ); + + try { + if (comment === "update" && prevComment!) { + await installation.request( + "PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}", + { + owner: workflowData.owner, + repo: workflowData.repo, + comment_id: prevComment.id, + body: generatePullRequestPublishMessage( + origin, + templatesHtmlMap, + packagesWithoutPrefix, + workflowData, + compact, + onlyTemplates, + checkRunUrl, + packageManager, + "ref", + ), + }, + ); + } else { + await installation.request( + "POST /repos/{owner}/{repo}/issues/{issue_number}/comments", + { + owner: workflowData.owner, + repo: workflowData.repo, + issue_number: Number(workflowData.ref), + body: generatePullRequestPublishMessage( + origin, + templatesHtmlMap, + packagesWithoutPrefix, + workflowData, + compact, + onlyTemplates, + checkRunUrl, + packageManager, + comment === "update" ? "ref" : "sha", + ), + }, + ); + } + } catch (e) { + console.error("failed to create/update comment", e, permissions); } } }