in gitlab/src/utils.ts [387:417]
export async function findCommentByTag(tag: string): Promise<{
discussionId: string | undefined
noteId: number | undefined
}> {
try {
const api = getGitlabApi()
const mergeRequestId = getEnvVariable('CI_MERGE_REQUEST_IID')
const projectId = getEnvVariable('CI_PROJECT_ID')
const discussions = (await api.MergeRequestDiscussions.all(
projectId,
mergeRequestId
)) as DiscussionSchema[]
for (const discussion of discussions) {
if (discussion.notes === undefined) continue
const note = discussion.notes.find(note => note.body.includes(tag))
if (note)
return {
discussionId: discussion.id,
noteId: note.id
}
}
return {
discussionId: undefined,
noteId: undefined
}
} catch (e) {
console.error('Error occurred while finding comment produced by Qodana')
throw e
}
}