Issue Type: New Feature New Feature
Assignee: Unassigned
Attachments: jenkins-collapser.js
Components: core
Created: 18/Mar/15 3:42 PM
Description:

One of main issues with Jenkins is editing configuration. It's just not readable because it's too long. You cannot get a glimpse at a job and say what steps are made within it, what are its parameters and so on.

The idea is to collapse all those steps and parameters into something that will allow you to glimpse over configuration and still be able to change order of steps or add more steps.

I'm attaching a working proof-of-concept that can collapse all parameters and steps and adds abstracted information to some of them. Obviously it needs work to support more step types (and maybe some exotic parameter types). Some extension points might be added to getCollapser for plugins - e.g. a simple addCollapser function that takes two functions isMine(container) and collapser(rows, container). Extension point already explained in getCollapser function.

Some ideas for specific collapsing behavior:

  • Parameters - collapse to name (done in POC).
  • Execute shell - inline display of command with lines separated with ; (done in POC) – might be user-configured to choose lines separator or number of lines to show.
  • Execute Windows batch... - as above.
  • Copy artifacts... - collapse to project name.
  • Invoke top-level... - goals.
  • SSH - server name, number of transfer sets.
  • Archive... - files to archive filed.
  • Build other... - projects.
  • Jenkins Text Finder - files

If someone is willing to integrate this with Jenkins core I would be glad to work on everything else . I see this as a bunch of _javascript_ functions in a class that implements collapsers and another class that handles user actions like collapse all, collapse step (and their un-collapse counterpart and/or toggle functions). I'm guessing most other work is adding buttons for those functions to jelly templates.

Just to clarify - I'm not using the latest Jenkins version so the POC might not be working with the latest version. It would probably need minor tweaks though.

Project: Jenkins
Labels: user-experience
Priority: Major Major
Reporter: Maciej Jaros
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to