Skip to content

Declare search tokens for CE Service Desk list

Paulina Sedlak-Jakubowska requested to merge 413092-sd-search-tokens-ce into master

What does this MR do and why?

This is the third MR in a series of changes that will change Service Desk issues list from haml file to a Vue app.

Issues Status
Create the app for service desk issues and add queries that will show all the issues created by the bot and issues count for tabs

Recreate info banner about service desk

Define tokens for search bar
  • CE search tokens
  • EE search tokens
  • searching functionality
Add sorting functionality

🚫

Add loading state and improve empty state

🚫

This MR covers:

  • define tokens available for CE in Service Desk listing
  • fetch data necessary for filtering (users, milestones, labels, releases, emojis)
  • make the Service Desk List app independent from Issues List app - define local constants instead of importing existing one (statuses are no the same, but will change, when we migrate to Ticket type).

I was originally planning on putting all searching functionality in one MR, but seeing how quickly the diff grew, I decided to split it up even further.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After
Screen Recording 2023-07-10 at 15.55.00.mov Screen Recording 2023-07-10 at 15.51.06.mov

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

SERVICE DESK SETUP

  1. Setup a service desk on your GDK: https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/service_desk_mail_room.md
  2. Send an email to your Service Desk, so you have something to display on the list.

ALTERNATIVE SETUP

  1. You can omit Service Desk setup and force an already existing issue to become a SD issue. Open the rails console: rails c
  2. Use these commands. Change 7 to the project id that matches the one you want to use for testing:
email = 'your-email@gitlab.com'
project = Project.find 7
issue = project.issues.last
issue.update!(service_desk_reply_to: email, author: User.support_bot)
IssueEmailParticipant.create!(issue: issue, email: email)
  1. In rails console enable the feature flag

    Feature.enable(:service_desk_vue_list)
    Feature.enable(:frontend_caching)
  2. Visit the project that has Service Desk setup

  3. In the main navigation click Monitor, than Service Desk.

  4. Click within the search bar and start choosing tokens. You should be able to see users, labels, milestones, releases that you have setup on your GDK, along with available emojis.

FYI There is a known problem that Issues in the main navigation highlight when you are on Service Desk view.

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 #413092 (closed)

Edited by Paulina Sedlak-Jakubowska

Merge request reports