Pipelines and plugins with visualizations (gatling?)

100 views
Skip to first unread message

Chris Price

unread,
May 14, 2016, 11:50:37 PM5/14/16
to Jenkins Developers
Well!  I haven't done anything adventurous in Jenkins in a year or two, and I must say: "wow".  The Pipelines stuff is really interesting and compelling.  Great stuff, I'm excited about it and hope I can convince $job to consider using it for some things.  (Tyler I owe you a beer or something for coaxing me into checking this stuff out!)

The specific thing that I'm trying to do right now involves running some Gatling load tests, and tracking them over time.  The Gatling jenkins plugin has some pretty great stuff for visualizing historical trends of your load test results.  However... best I can tell, it's not compatible with Pipeline jobs.

I'd be willing to put some work into porting it to make it compatible if that's the right path and if it's even possible.  I've looked over these docs about plugin compatibility:

https://github.com/jenkinsci/pipeline-plugin/blob/master/COMPATIBILITY.md
https://github.com/jenkinsci/pipeline-plugin/blob/master/DEVGUIDE.md

But it's still not quite clear to me whether or not *all* of the features available to freestyle plugins (through old APIs) are accessible to Pipeline plugins (assuming one is willing to port to new APIs).  For example, can a plugin used in a Pipeline job result in visual changes to the project page?  Such as adding graphs or other UI elements via the jelly files?

If this is possible, are there any other plugins that do this type of thing that have already been updated to work with Pipeline?  So that I could look at them for an example?

Thanks in advance if anyone can answer any of these questions :)
Chris

Sergei Egorov

unread,
May 15, 2016, 4:00:15 AM5/15/16
to Jenkins Developers
Hey Chris,

I recommend you to take a look at https://github.com/jenkinsci/pipeline-view-plugin - this is pipeline visualization plugin in ReactJS. No jelly, just plain modern JS with ES6/ES7, React, Webpack, etc... 


BR,
Sergei

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/e9367272-5d72-4d26-ab2a-e1ba8d6cb7f3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Chris Price

unread,
May 15, 2016, 12:30:29 PM5/15/16
to jenkin...@googlegroups.com
On Sun, May 15, 2016 at 1:00 AM, Sergei Egorov <bsi...@gmail.com> wrote:
Hey Chris,

I recommend you to take a look at https://github.com/jenkinsci/pipeline-view-plugin - this is pipeline visualization plugin in ReactJS. No jelly, just plain modern JS with ES6/ES7, React, Webpack, etc... 


Thanks, I will definitely check it out - I wouldn't be sad if I didn't need to deal with the jelly stuff anymore :)  But, in terms of just trying to port the existing Gatling plugin functionality over to work with Pipeline with the least amount of effort, I'm still curious whether the old-style UI stuff will work with Pipeline at all.

Chris Price

unread,
May 16, 2016, 12:57:38 PM5/16/16
to jenkin...@googlegroups.com
I installed the pipeline view plugin and poked at the source a bit, and can see that it is indeed able to add visualizations to the "build" page, so that's a great start.  (Also, the visualization seems cool and useful, so, thanks for the pointer to the plugin in its own right!)

Haven't gotten far enough yet to determine whether or not the same basic approach is feasible for adding visualizations to the "project" page.  Hopefully that'll become clear after a bit more poking around in the code / APIs, but if anyone knows of a plugin that is compatible with Pipeline that shows an example of this, I'd love to hear about it!

Chris Price

unread,
May 17, 2016, 11:40:18 AM5/17/16
to jenkin...@googlegroups.com
Sergei,

I'm messing around with your pipeline view plugin as a way to try to figure out what I might need to do to get the Gatling one working.  I notice that you have a file 'summary.jelly' for your Action.  I'm scouring docs and tutorials and even a little bit of the Jenkins source code to try to figure out how  'summary.jelly' gets picked up by the system, and I can't seem to find anything.  e.g., there are no 'summary.jelly' files in the "ui-samples-plugin"[1], nor is that filename mentioned in the "Basic Guide to Jelly Usage in Jenkins" doc[2].  Can anyone point me to any docs that explain what file names are allowed for Jelly files and what their implications are?  Or even just something that covers what 'summary.jelly' does?

Thanks in advance!
 

Sergei Egorov

unread,
May 17, 2016, 11:53:13 AM5/17/16
to jenkin...@googlegroups.com
Hey Chris,

summary.jelly is just the plugin's page in plugin manager :)

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

Chris Price

unread,
May 17, 2016, 12:39:03 PM5/17/16
to jenkin...@googlegroups.com
On Tue, May 17, 2016 at 8:52 AM, Sergei Egorov <bsi...@gmail.com> wrote:
Hey Chris,

summary.jelly is just the plugin's page in plugin manager :)

I think that you're maybe referring to the `index.jelly` at the root level?  I'm talking about `src/main/resources/com/github/bsideup/jenkins/pipeline/ui/view/PipelineViewAction/summary.jelly`, which loads `pipe.js`, and, I believe, is responsible for the majority of the functionality of the plugin.  I was trying to figure out how that `summary.jelly` gets loaded.  But I think I've pieced it together, I think it comes from here:

https://github.com/jenkinsci/workflow-job-plugin/blob/e57ccca20ae0200164974b4eb81c32b721fd5f2e/src/main/resources/org/jenkinsci/plugins/workflow/job/WorkflowRun/index.jelly#L62-L64

Was mostly trying to determine how a newbie plugin developer would know / discover that.
 

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/-Zmnq2jdEVo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAAJdKXki5kjiQfGphXZ9OdCEau%3DOwmUYM_VsPHjsEkZLXG7%2B5w%40mail.gmail.com.

Sergei Egorov

unread,
May 17, 2016, 12:44:35 PM5/17/16
to jenkin...@googlegroups.com
Chris,

Sorry to have confused you. Yes, you're right, summary.jelly is the one you're looking for and does exactly what you described :)

Jesse Glick

unread,
May 19, 2016, 4:34:52 PM5/19/16
to Jenkins Dev
On Sat, May 14, 2016 at 11:50 PM, Chris Price <ch...@puppet.com> wrote:
> it's still not quite clear to me whether or not *all* of the features
> available to freestyle plugins (through old APIs) are accessible to Pipeline
> plugins (assuming one is willing to port to new APIs). For example, can a
> plugin used in a Pipeline job result in visual changes to the project page?
> Such as adding graphs or other UI elements via the jelly files?

Yes, most such APIs should work without modification.

> If this is possible, are there any other plugins that do this type of thing
> that have already been updated to work with Pipeline?

Plenty. `junit` was one of the first.
Reply all
Reply to author
Forward
0 new messages