Move job app to GraphQL
What does this MR do and why?
Ref #361237 (closed)
We are porting some of the job app over to GraphQL in anticipation of some manual job variable work.
This MR is just a prerequisite for the upcoming feature MR. Everything should function the same.
I've added comments to the code to note where additions have been made. Everything else in the diff is just due to the directory restructure.
Changes:
- Restructures the job app to organize into directories
- Abstracts the sidebar header into it's own component
- Adds in the GraphQL feature flag (graphql_job_app)
- Adds in 2 new components, duplicating previous components and prepending them with
legacy_
- Adds in support for GraphQL into
index.js
- Updates unit tests to match the restructure
Screenshots or screen recordings
The app should look the same at this time whether the feature flag is enabled or not
Manual Variables Form | Sidebar Header |
---|---|
How to set up and validate locally
- Visit a job page which uses a manual job
- If you need to add a manual variable, you can add this to the script in your pipeline editor:
job_name:
script: ls
when: manual
rules:
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH`
- Note the behavior of the sidebar header, and the empty state with the variable form
- Enable the feature flag
Feature.enable(:graphql_job_app)
- Note that the behavior of both features should be the same.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Briley Sandlin