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:
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
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
- For each stage with manual actions, we will render a play button
- The button must have a tooltip with
Play all
-
Once the user clicks play all, we will render a stop button instead (same behavior as each individual jobs)=> #60129 (moved) - 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 |
---|
![]() |
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
Measure
Create a capybara script that benchmarks the two solutions in seconds: Clicking one button vs Clicking a button per build.