in scan/src/utils.ts [522:565]
export async function putReaction(
newReaction: Reaction,
oldReaction: string
): Promise<void> {
const pr = github.context.payload.pull_request as
| PullRequestPayload
| undefined
if (!pr) {
return
}
const client = github.getOctokit(getInputs().githubToken)
const issue_number = pr.number
if (oldReaction !== '') {
try {
const {data: reactions} = await client.rest.reactions.listForIssue({
...github.context.repo,
issue_number
})
const previousReaction = reactions.find(r => r.content === oldReaction)
if (previousReaction) {
await client.rest.reactions.deleteForIssue({
...github.context.repo,
issue_number,
reaction_id: previousReaction.id
})
}
} catch (error) {
core.debug(
`Failed to delete the initial reaction – ${(error as Error).message}`
)
}
}
try {
await client.rest.reactions.createForIssue({
...github.context.repo,
issue_number,
content: newReaction
})
} catch (error) {
core.debug(`Failed to set reaction – ${(error as Error).message}`)
}
}