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.
This will contribute towards making verify pipeline pages loveable
|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
|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|
- For each stage with manual actions, we will render a play button
- The button must have a tooltip with
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
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
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.
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
- Feature will be tracked, if used X times...
Links / references
Create a capybara script that benchmarks the two solutions in seconds: Clicking one button vs Clicking a button per build.