Skip to content

Frontend: Change the pattern and sequence of sub-tasks for adding and editing a variable

Feedback issue: #428807 (closed)

Release notes

Problem to solve

The modal for adding a new variable does not have a logical task-flow associated with it. The fields are placed at the top so users fill them out first, then comes the security settings like protected, masked, etc.. After selecting those, new validation kicks in for the key and value fields. So what was valid before, is invalid now!

To make it task-flow more intuitive, the order of elements and actions need to be completely changed.

Supporting insight

Developer would like an easier way to add multiple variables

Intended users

Anyone with a maintainer permission to be able to add a variable.

User experience goal

The taskflow shouldn't make users revisit the tasks they've already accomplished and keep going back and forth.

Proposal

  • Instead of a modal, use a drawer. Its a better choice as it allows users to simultaneously see the variables being added to the list. Even while editing, the feedback is real time.
  • Bring the type, environment and security options to the top. Remove sub-header flags.
  • Change the variant of Add variable button to default so we don't have 2 primary buttons visible on the screen.

Implementation Plan

This issue will focus on setting up the feature flag and main drawer component with the fields (no validation/form submission yet). The drawer should be able to open/close as expected when the FF is enabled and the user tries to edit or create a CI variable.

In follow-up MRs, we can work on validating the fields and making sure events are emitted correctly.

We can iterate over this issue like so:

Iteration MR
Setup drawer with feature flag 👈 You are here!
Add form validations #421262 (closed)
Implement actions #421263 (closed)
Feature flag rollout #418005 (closed)

Further details

Permissions and Security

Documentation

Availability & Testing

Available Tier

Feature Usage Metrics

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

What is the type of buyer?

Is this a cross-stage feature?

What is the competitive advantage or differentiation for this feature?

Links / references

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by Jocelyn Eillis