export async function findCommentByTag()

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
  }
}