Add possibility to provide feedback for explain code functionality

What does this MR do and why?

Adds buttons to collect user feedback with snowplow tracking

Screenshots or screen recordings

Screenshot_2023-04-19_at_18.23.15

How to set up and validate locally

  1. Enable the following feature flags:
    • explain_code
    • explain_code_snippet
    • openai_experimentation
    • ai_experimentation_api
  2. Add an OpenAI API key by following the steps in !116364 (merged)
  3. Run the following command in the root of your project:
    • curl https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117636.diff | git apply
    • This will apply changes from !117636 (merged) on which this MR relies.
  4. Open a file containing Source Code (Note, this file should not be from the GitLab codebase).
  5. Highlight some of the Source Code.
  6. Click on the (?) button in the gutter to the left of the source code.
  7. A popup should appear with the possibility to provide feedback
  8. Click any feedback button
  9. Close chat and observe snowplow request being sent

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #404272 (closed)

Edited by Nataliia Radina

Merge request reports

Loading