in src/github/operations/comments/feedback.ts [432:463]
async function postJiraFeedback(data: FinishFeedbackData): Promise<void> {
const jiraPayload = data.parsedContext.payload as JiraIssuePayload;
const client = getJiraClient();
const {owner, name} = data.parsedContext.payload.repository;
const ownerLogin = owner.login;
console.log(`Updating Jira issue ${jiraPayload.issueKey}...`);
let comment: string;
if (data.isJobFailed) {
console.log(`Add failure comment to Jira issue ${jiraPayload.issueKey}`);
comment = getFailedBody(ownerLogin, name, data.parsedContext.runId, data.failureData!);
} else {
console.log(`Add success comment to Jira issue ${jiraPayload.issueKey}`);
const repoFullName = `${ownerLogin}/${name}`;
comment = getSuccessBody(repoFullName, data.successData!);
// Move to "In Review" if PR was created
if (data.successData?.actionToDo === 'CREATE_PR' && data.successData.prLink) {
console.log(`Move Jira issue ${jiraPayload.issueKey} to "In Review"`);
await client.moveIssueToReview(jiraPayload.issueKey);
}
}
if (comment) {
// Convert Markdown to Atlassian Document Format (ADF)
const jiraComment = convertMarkdownToADF(comment);
await client.addComment(jiraPayload.issueKey, jiraComment);
console.log(`✓ Successfully updated Jira issue ${jiraPayload.issueKey}`);
}
}