Skip to content

Provide a way to easily start multiple manual jobs

Problem to solve

It is time-consuming to activate multiple manual actions for a single stage within a pipeline.

Original user story

I have a pipeline that contains multiple manual jobs:

Bildschirmfoto_von__2017-02-27_00_29_03_

If I want to start all of them I need to click the "play" button on each item and get redirected to the jobs page for each (got fixed with https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18185). So I need to go back for the next button to click. This is very time-consuming.

Intended users

Persona: DevOps Engineer

Further details

This will contribute towards making verify pipeline pages loveable

Solution

User stories

# User Story Persona Scope
1 As an engineer, I want to be able to more easily start all manual jobs within a single pipeline stage Persona: DevOps Engineer Current
2 As an engineer, I want to be able to more easily stop all manual jobs within a single pipeline stage Persona: DevOps Engineer Next iteration #60129 (moved)
Technical user stories
# User Story Scope
1 As a designer, I want to create a better information hierarchy to support this feature Next iteration #54331 (moved)
1 As a product manager, I want to keep this as minimal as possible, thus keeping this effort separate from #54331 (moved) Current

Acceptance criteria

  1. For each stage with manual actions, we will render a play button
  2. The button must have a tooltip with Play all
  3. Once the user clicks play all, we will render a stop button instead (same behavior as each individual jobs) => #60129 (moved)
  4. Once the user clicks play all, each individual job action will be triggered and updated to reflect an updated status (same behavior we have now)
  • Last 2 points assume backend sends updated endpoints
  • Clicking the button would schedule all builds in the current stage and reload the page.
  • The button will not be visible for users without enough permissions
User journey
graph TD
UOP[user opens pipeline page]
UCSMAB[User clicks stage manual action button]
BBI[Button briefly shows progress indicator]
PRS[Page reloads state]
AMT[All manual actions within the stage are triggered]
BSDS[Button is no longer visible]

UOP-->UCSMAB
UCSMAB-->BBI
BBI-->PRS
PRS-->AMT
AMT-->BSDS

Design

Mockup
image

Permissions and Security

Same permission management functionality as already exists will be functional for this feature. The button will not be visible for users without permission.

Documentation

Testing

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

  • Acceptance criteria will be met
  • Current user story('s) will be made true
  • User journey will be followed

success metrics:

  • Feature will be tracked, if used X times...

Links / references

#24755 (moved)

Measure

Create a capybara script that benchmarks the two solutions in seconds: Clicking one button vs Clicking a button per build.

Edited by Mayra Cabrera