Request for new plugin hosting

36 views
Skip to first unread message

Nicholas Grealy

unread,
Sep 13, 2015, 8:22:16 AM9/13/15
to jenkin...@googlegroups.com
Hi,

Could you please setup a place for me to host the following plugin?

The name the repository should have: global-events-plugin
My GitHub username: nickgrealy
My jenkins-ci.org username: nickg

A description of what the plugin does, and what makes it different from other similar plugins:

The global-events-plugin, is a jenkins plugin, which executes groovy code when an event occurs.

The reason I created the plugin was because I wanted to integrate Jenkins with an external application. Invoking a Jenkins jobs via the REST api was simple, but getting Jenkins to callback the external application wasn't straight forward.

All the plugins I'd seen either had to be individually configured per job (i.e. in a post build step), or their features were limited to making a HTTP GET/POST request (a bit restrictive).

Bascially:
  • I wanted to be able to write my own code
  • I didn't want to repeat myself
So I wrote this plugin. Along the way, I realised it could have some other applications too:
  • customised logging
  • performance monitoring
  • incident escalation
  • integration with 3rd party applications

Similar Plugins

These plugins have similar (but different) functionality:
Kind regards,

Nick Grealy

Oleg Nenashev

unread,
Sep 16, 2015, 5:45:16 AM9/16/15
to Jenkins Developers
According to the implementation, it should be renamed to something like "groovy-run-listener" plugin.

Are you aware about Security implications of the plugin? Probably it needs to be integrated with https://wiki.jenkins-ci.org/display/JENKINS/Script+Security+Plugin (though the configurations are accessible to admins only).

воскресенье, 13 сентября 2015 г., 15:22:16 UTC+3 пользователь Nick Grealy написал:

Nick Grealy

unread,
Sep 17, 2015, 9:18:51 AM9/17/15
to Jenkins Developers
Hi Oleg,

Naming

Regarding the name, I've named it "global-events-plugin", because:

- global - because it listens to events right across the Jenkins context
- events - because I want to run groovy code in response to events

It's not limited to "RunListener" events, it also contains "Start" and "Stop" events for the plugin. I'd eventually like to extend it to incorporate even more events (along the lines of the "extreme-notification-plugin"). 
I suppose it makes sense to incorporate groovy into the name, as it only currently supports running a groovy script. I see groovy as a defacto standard for Jenkins though... is it worth including in the plugin name?
I'd be happy to substitute events for listener, if you think it makes more sense. 

How about "global-listener-plugin" or "groovy-events-plugin" or "groovy-listener-plugin"? (I don't really mind).

Script Security

Am I aware of the security implications of the plugin? Yes. This plugin can only be configured through the "Jenkins > Manage Jenkins > Configure System" page, which (as you mentioned) in a production system should only be accessible by an Administrator. As an administrator, I would want the Groovy script to have full access to the Jenkins architecture - e.g. to kick off jobs, to change security settings or run shell commands on the server.

Probably it needs to be integrated with https://wiki.jenkins-ci.org/display/JENKINS/Script+Security+Plugin  (though the configurations are accessible to admins only).
I've had a quick look at the "Script Security Plugin", and it also requires an administrator access to the "Jenkins > Manage Jenkins > In-process Script Approval" page (similar to above). It looks like this plugin is tailored towards Groovy Scripts being configured in the build steps of Jenkins jobs by developers/users, so I'm not sure it's necessarily applicable to the "global-events-plugin" (there were no screenshots or mention of where to configure the plugin).

I see you're a recent committer to the plugin, so perhaps you've got a better idea. How about we put this "integration" in the backlog of work.

If you're happy with the name change suggestions (I am), and sidelining the "integration with Script-Security-Plugin" work until later (and there aren't any more blockers) - can we setup plugin hosting?

Kind regards,

Nick Grealy

Oleg Nenashev

unread,
Sep 17, 2015, 3:18:05 PM9/17/15
to Jenkins Developers
Let's try "groovy-events-listener-plugin". It's also vague a bit, but should work along with the summary description. WDYT?

I see you're a recent committer to the plugin, so perhaps you've got a better idea. How about we put this "integration" in the backlog of work.

Agreed. The plugin may be blacklisted on particular environments like CloudBees DEV@Cloud setting up high security requirements, but Jenkins.ADMINISTER should be enough to restrict the access for 99% use-case.

воскресенье, 13 сентября 2015 г., 15:22:16 UTC+3 пользователь Nick Grealy написал:
Hi,

Nick Grealy

unread,
Sep 17, 2015, 6:40:11 PM9/17/15
to Jenkins Developers
I'm happy with "groovy-events-listener-plugin" - sounds good.

I'll create a JIRA task for ththe integration, once the project is setup.

Thanks!


Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

Oleg Nenashev

unread,
Sep 18, 2015, 12:14:45 AM9/18/15
to Jenkins Developers
I've forked the repo and created the JIRA component. https://github.com/jenkinsci/groovy-events-listener-plugin
You should get a notification to jenkinsci organisation soon.

Welcome aboard!

пятница, 18 сентября 2015 г., 1:40:11 UTC+3 пользователь Nick Grealy написал:
Reply all
Reply to author
Forward
0 new messages