Details
-
Type:
Story
-
Status: Resolved (View Workflow)
-
Priority:
Critical
-
Resolution: Fixed
-
Component/s: blueocean-pipeline-editor-plugin, blueocean-plugin
-
Labels:None
-
Similar Issues:
-
Epic Link:
-
Sprint:Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4, Blue Ocean 1.2, Blue Ocean 1.3
Description
This improvement is on the Blue Ocean project roadmap. Check the roadmap page for updates.
Scope
- User can click New Pipeline then pick Git and author a new Jenkinsfile using the Editor and save it back to the repository.
- User can click Edit Pipeline then author the existing Jenkinsfile using the Editor and save their changes back to the repository
- In a new branch
- On the current branch
Notes
There are a number of security and user experience concerns that the team have to solve to get this working.
Design brief
The user experience should match the equivalent Github feature as much as possible.
The largest notable difference is that creating and editing with plain Git has noticeably more network traffic than Github. This means the user may have to wait for Blue Ocean to retrieve the content of the repository before showing them the Editor or before their save action is completed.
Loading the editor
- Developer clicks the edit action
- Developer sees a progress dialog with a message "Loading your Jenkinsfile"
- This could take a while as we have to do a shallow clone of the repository
- How much progress information do we get from the clone? If we can easily get this info we can use a determinate progress indicator rather than a indeterminate one.
- Developer should be able to cancel the load if it takes too long
- Developer sees the Editor
Saving from the editor
- Developer clicks save
- Developer sees the save dialog and then confirms
- May commit back to new branch or current branch
- Developer sees progress dialog with message "Saving your pipeline"
- Developer lands back on the Activity screen
Technical notes
Unlike Github, Blue Ocean needs to make a shallow clone of the repository on the master in order to perform any operations. It is important to do whatever we can to make the editor work for developers at the best possible speed.
Attachments
Issue Links
- is duplicated by
-
JENKINS-47137 Blue ocean won't create or edit jenkinsfile when using git
-
- Reopened
-
-
JENKINS-44554 Duplication of credentials in blue-ocean
-
- Closed
-
-
JENKINS-43970 blueocean - not choosing github at the beginning : You don't have any branches that contain a Jenkinsfile
-
- Closed
-
-
JENKINS-45681 Pipeline Editor doesn't show when selecting private repository
-
- Closed
-
-
JENKINS-43549 Pipeline visual editor only works for GitHub
-
- Resolved
-
- is related to
-
JENKINS-46434 No obvious way to launch editor against repo with no preexisting Jenkinsfile
-
- Closed
-
- relates to
-
JENKINS-42791 Developer should be asked for their Github token when loading the editor
-
- Resolved
-
-
JENKINS-45302 Git creation not reliably showing the activity page with discovered pipelines
-
- Open
-
- links to
Activity
Field | Original Value | New Value |
---|---|---|
Epic Link | JENKINS-36291 [ 172300 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Summary | git load/save round tripping for editor | Developer can load and save pipelines from the editor using native git |
Description |
It would be nice to PoC (at least) a git load/save for round tripping. This will help for wider support as well as proving out an SCM generic api |
*Scope* * User can click New Pipeline then pick Git and author a new Jenkinsfile using the Editor and save it back to the repository. * User can click Edit Pipeline then author the existing Jenkinsfile using the Editor and save their changes back to the repository ** In a new branch ** On the current branch *Notes* There are a number of security and user experience concerns that the team have to solve to get this working. *Design* *brief* The largest notable difference is that creating and editing with plain Git has noticeably more network traffic than Github. This means the user may have to wait for Blue Ocean to retrieve the content of the repository before showing them the Editor or before their save action is completed. +Loading the editor+ * Developer clicks the edit action * Developer sees a progress dialog with a message "Loading your Jenkinsfile" ** This could take a while as we have to do a shallow clone of the repository ** How much progress information do we get from the clone? If we can easily get this info we can use a determinate progress indicator rather than a indeterminate one. * Developer should be able to cancel the load if it takes too long * Developer sees the Editor +Saving from the editor+ # Developer clicks save # Developer sees the save dialog and then confirms ** May commit back to new branch or current branch # Developer sees progress dialog with message "Saving your pipeline" # Developer lands back on the Activity screen |
Issue Type | Task [ 3 ] | Story [ 10002 ] |
Description |
*Scope* * User can click New Pipeline then pick Git and author a new Jenkinsfile using the Editor and save it back to the repository. * User can click Edit Pipeline then author the existing Jenkinsfile using the Editor and save their changes back to the repository ** In a new branch ** On the current branch *Notes* There are a number of security and user experience concerns that the team have to solve to get this working. *Design* *brief* The largest notable difference is that creating and editing with plain Git has noticeably more network traffic than Github. This means the user may have to wait for Blue Ocean to retrieve the content of the repository before showing them the Editor or before their save action is completed. +Loading the editor+ * Developer clicks the edit action * Developer sees a progress dialog with a message "Loading your Jenkinsfile" ** This could take a while as we have to do a shallow clone of the repository ** How much progress information do we get from the clone? If we can easily get this info we can use a determinate progress indicator rather than a indeterminate one. * Developer should be able to cancel the load if it takes too long * Developer sees the Editor +Saving from the editor+ # Developer clicks save # Developer sees the save dialog and then confirms ** May commit back to new branch or current branch # Developer sees progress dialog with message "Saving your pipeline" # Developer lands back on the Activity screen |
*Scope* * User can click New Pipeline then pick Git and author a new Jenkinsfile using the Editor and save it back to the repository. * User can click Edit Pipeline then author the existing Jenkinsfile using the Editor and save their changes back to the repository ** In a new branch ** On the current branch *Notes* There are a number of security and user experience concerns that the team have to solve to get this working. *Design* *brief* The user experience should match the equivalent Github feature as much as possible. The largest notable difference is that creating and editing with plain Git has noticeably more network traffic than Github. This means the user may have to wait for Blue Ocean to retrieve the content of the repository before showing them the Editor or before their save action is completed. +Loading the editor+ * Developer clicks the edit action * Developer sees a progress dialog with a message "Loading your Jenkinsfile" ** This could take a while as we have to do a shallow clone of the repository ** How much progress information do we get from the clone? If we can easily get this info we can use a determinate progress indicator rather than a indeterminate one. * Developer should be able to cancel the load if it takes too long * Developer sees the Editor +Saving from the editor+ # Developer clicks save # Developer sees the save dialog and then confirms ** May commit back to new branch or current branch # Developer sees progress dialog with message "Saving your pipeline" # Developer lands back on the Activity screen *Technical notes* Unlike Github, Blue Ocean needs to make a shallow clone of the repository on the master in order to perform any operations. It is important to do whatever we can to make the editor work for developers at the best possible speed. |
Sprint | Blue Ocean 1.0-rc4 [ 281 ] | Blue Ocean 1.0-rc4, Blue Ocean - techdebt sprint 1 [ 281, 291 ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Sprint | Blue Ocean 1.0-rc4, Blue Ocean - techdebt sprint 1 [ 281, 291 ] | Blue Ocean 1.0-rc4, Blue Ocean 1.2 [ 281, 296 ] |
Rank | Ranked lower |
Rank | Ranked higher |
Link |
This issue is duplicated by |
Remote Link | This issue links to "Wiki Page (Jenkins Wiki)" [ 16221 ] |
Remote Link | This issue links to "how can i use Blue Ocean's Visual Pipeline Editor without github. I use gitlab. (Web Link)" [ 16232 ] |
Remote Link | This issue links to "Generate SSH keypair with Java (Web Link)" [ 16233 ] |
Link |
This issue is duplicated by |
Rank | Ranked higher |
Summary | Developer can load and save pipelines from the editor using native git | Support native Git for pipeline creation and editing |
Link |
This issue is duplicated by |
Sprint | Blue Ocean 1.0-rc4, Blue Ocean 1.3 [ 281, 296 ] | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2 [ 281, 341 ] |
Description |
*Scope* * User can click New Pipeline then pick Git and author a new Jenkinsfile using the Editor and save it back to the repository. * User can click Edit Pipeline then author the existing Jenkinsfile using the Editor and save their changes back to the repository ** In a new branch ** On the current branch *Notes* There are a number of security and user experience concerns that the team have to solve to get this working. *Design* *brief* The user experience should match the equivalent Github feature as much as possible. The largest notable difference is that creating and editing with plain Git has noticeably more network traffic than Github. This means the user may have to wait for Blue Ocean to retrieve the content of the repository before showing them the Editor or before their save action is completed. +Loading the editor+ * Developer clicks the edit action * Developer sees a progress dialog with a message "Loading your Jenkinsfile" ** This could take a while as we have to do a shallow clone of the repository ** How much progress information do we get from the clone? If we can easily get this info we can use a determinate progress indicator rather than a indeterminate one. * Developer should be able to cancel the load if it takes too long * Developer sees the Editor +Saving from the editor+ # Developer clicks save # Developer sees the save dialog and then confirms ** May commit back to new branch or current branch # Developer sees progress dialog with message "Saving your pipeline" # Developer lands back on the Activity screen *Technical notes* Unlike Github, Blue Ocean needs to make a shallow clone of the repository on the master in order to perform any operations. It is important to do whatever we can to make the editor work for developers at the best possible speed. |
{panel:title=Improvement on roadmap|titleBGColor=#3878de|titleColor=white} This improvement is on the Blue Ocean project roadmap. Check the [roadmap page|https://jenkins.io/projects/blueocean/roadmap/] for updates. {panel} *Scope* * User can click New Pipeline then pick Git and author a new Jenkinsfile using the Editor and save it back to the repository. * User can click Edit Pipeline then author the existing Jenkinsfile using the Editor and save their changes back to the repository ** In a new branch ** On the current branch *Notes* There are a number of security and user experience concerns that the team have to solve to get this working. *Design* *brief* The user experience should match the equivalent Github feature as much as possible. The largest notable difference is that creating and editing with plain Git has noticeably more network traffic than Github. This means the user may have to wait for Blue Ocean to retrieve the content of the repository before showing them the Editor or before their save action is completed. +Loading the editor+ * Developer clicks the edit action * Developer sees a progress dialog with a message "Loading your Jenkinsfile" ** This could take a while as we have to do a shallow clone of the repository ** How much progress information do we get from the clone? If we can easily get this info we can use a determinate progress indicator rather than a indeterminate one. * Developer should be able to cancel the load if it takes too long * Developer sees the Editor +Saving from the editor+ # Developer clicks save # Developer sees the save dialog and then confirms ** May commit back to new branch or current branch # Developer sees progress dialog with message "Saving your pipeline" # Developer lands back on the Activity screen *Technical notes* Unlike Github, Blue Ocean needs to make a shallow clone of the repository on the master in order to perform any operations. It is important to do whatever we can to make the editor work for developers at the best possible speed. |
Status | In Progress [ 3 ] | Open [ 1 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | Open [ 1 ] |
Sprint | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2 [ 281, 341 ] | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3 [ 281, 341, 346 ] |
Link | This issue relates to JENKINS-45302 [ JENKINS-45302 ] |
Remote Link | This issue links to "Git creation and editing (Web Link)" [ 17261 ] |
Link |
This issue relates to |
Status | Open [ 1 ] | In Progress [ 3 ] |
Link |
This issue is duplicated by |
Sprint | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3 [ 281, 341, 346 ] | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4 [ 281, 341, 346, 361 ] |
Assignee | Keith Zantow [ kzantow ] | Vivek Pandey [ vivek ] |
Assignee | Vivek Pandey [ vivek ] | Keith Zantow [ kzantow ] |
Sprint | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4 [ 281, 341, 346, 361 ] | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4, Blue Ocean 1.2-beta5 [ 281, 341, 346, 361, 376 ] |
Sprint | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4, Blue Ocean 1.2 [ 281, 341, 346, 361, 376 ] | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4, Blue Ocean 1.2, Blue Ocean 1.3 - beta 1 [ 281, 341, 346, 361, 376, 386 ] |
Remote Link | This issue links to "PR 1299 (Web Link)" [ 17528 ] |
Status | In Progress [ 3 ] | In Review [ 10005 ] |
Link |
This issue is related to |
Link | This issue is duplicated by JENKINS-47137 [ JENKINS-47137 ] |
Resolution | Fixed [ 1 ] | |
Status | In Review [ 10005 ] | Resolved [ 5 ] |
Remote Link | This issue links to "Page (Jenkins Wiki)" [ 17853 ] |
Sprint | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4, Blue Ocean 1.2, Blue Ocean 1.3 [ 281, 341, 346, 361, 376, 386 ] | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4, Blue Ocean 1.2, Blue Ocean 1.3, Blue Ocean 1.5 - beta 3 [ 281, 341, 346, 361, 376, 386, 491 ] |
Sprint | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4, Blue Ocean 1.2, Blue Ocean 1.3, Blue Ocean 1.5 - beta 3 [ 281, 341, 346, 361, 376, 386, 491 ] | Blue Ocean 1.0-rc4, Blue Ocean 1.2-beta2, Blue Ocean 1.2-beta3, Blue Ocean 1.2-beta4, Blue Ocean 1.2, Blue Ocean 1.3 [ 281, 341, 346, 361, 376, 386 ] |