Disable selection of tags already in use when creating a release

Release notes

Problem to solve

Related to #342822 (closed), when users are creating a release and select a tag that's already in use, they receive an error message.

This is a less than ideal experience, as a user might try choosing multiple tags already in use before picking a valid option.

image

Intended users

User experience goal

The user should be able to select only valid options for tags when creating a release.

Proposal

UX Proposal

Instead of disabling the items that are already use, we hide them entirely. There's still a possibility to manually enter the existing tag name, but this case will be handled by showing an error mentioning the tag is already in use.

Technical proposal

The list of tags is received by calling /api/v4/projects/<project_id>/repository/tags?search=&per_page=20 endpoint.

I suggest adding an additional query parameter that would allow filtering out the already used tags, for example /api/v4/projects/<project_id>/repository/tags?scope=unused&search=&per_page=20

Further details

Permissions and Security

No changes are expected to the current permission models or security considerations

Documentation

Availability & Testing

What does success look like, and how can we measure that?

Reduce pain-points raised by users during UX Scorecards and usability testing about error messages in release creation to 0.

What is the type of buyer?

Skyler - the Chief Information Security Officer

GitLab Core

Is this a cross-stage feature?

Links / references

gitlab-design#1670 (closed) #342822 (closed)

Edited by Andrei Zubov