[JIRA] [ghprb-plugin] (JENKINS-26591) Workflow support for GitHub Pull Requests Builder Trigger

14 views
Skip to first unread message

gentoo.integer@gmail.com (JIRA)

unread,
Dec 8, 2015, 6:52:01 PM12/8/15
to jenkinsc...@googlegroups.com
Kanstantsin Shautsou updated an issue
 
Jenkins / New Feature JENKINS-26591
Workflow support for GitHub Pull Requests Builder Trigger
Change By: Kanstantsin Shautsou
Summary: Workflow support for GitHub Pull Requests  Builder  Trigger
Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.2#64017-sha1:e244265)
Atlassian logo

faheem@cliqz.com (JIRA)

unread,
Feb 12, 2016, 8:06:01 AM2/12/16
to jenkinsc...@googlegroups.com
Faheem Nadeem commented on New Feature JENKINS-26591
 
Re: Workflow support for GitHub Pull Requests Builder Trigger

Any news on get it compatible to pipeline (aka workflow)... This would be an awesome addition

david.joel.tanner@gmail.com (JIRA)

unread,
Feb 25, 2016, 6:53:02 PM2/25/16
to jenkinsc...@googlegroups.com

I am not sure how to make these compatible, and if it will take more work than just changing over from AbstractProject to Job. If anyone would like to have a go at it I will be sure to review the PR and get it released.

work@anomalizer.net (JIRA)

unread,
Aug 15, 2016, 9:10:02 AM8/15/16
to jenkinsc...@googlegroups.com

FWIW, I've started making the changes but it is going to take me a long while to get this right as I've never worked on this plugin before. You can look at my progress in here: https://github.com/anomalizer/ghprb-plugin/tree/pipeline-compat

This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

work@anomalizer.net (JIRA)

unread,
Aug 15, 2016, 10:07:02 AM8/15/16
to jenkinsc...@googlegroups.com

It appears that the functionally of the current plugin must be unbundled to a certain extent for it be relevant in the world of pipelines.

Trigger on pull request

This part deals with setting up the github hook, listening to the pull request events posted from github, filtering out the events on which we do not wish to trigger a build, branches, skip phrases, etc. etc.. The role of this piece is to determine when a build should be triggered. A simple port of this to use the new types should suffice

Trigger setup

This part of the plugin interacts with github by manipulating the pull request in many ways such as updating the github status, posting comments, one liners on progress and eventual outcomes. This is the functionality that cannot be ported as-is into the pipeline world. Users would need to ability to wrap any step / stage within a trigger setup. For example, we can choose to have one github status that is controlled by the first stage of the pipeline that presumably compiles the code and another status that is controlled by a latter stage of the pipeline that creates a docker image and launches it to run integration tests against it. Note that this might be a useful capability to have even in the pre-pipeline world. However, it becomes a necessity once we move into the world of pipelines

Pull request merger

This should be thought of as an independent, step in the pipelined world.

missedone (JIRA)

unread,
Sep 19, 2016, 5:59:05 AM9/19/16
to jenkinsc...@googlegroups.com
nick tan commented on New Feature JENKINS-26591

I encounter the same exception with Stash Pull Request Builder Plugin + Pipeline Plugin on Jenkins 2.7.4 LTS:

javax.servlet.ServletException: java.lang.ClassCastException: org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject cannot be cast to hudson.model.AbstractProject
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
	at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:233)
	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
	at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:80)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
	at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
	at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
	at org.eclipse.jetty.server.Server.handle(Server.java:499)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

sean@flanigan.org (JIRA)

unread,
Sep 21, 2016, 2:53:01 AM9/21/16
to jenkinsc...@googlegroups.com

See also JENKINS-32749 (pull request support for GitHub branch source). I'm not sure how much overlap there is.

mchen464@bloomberg.net (JIRA)

unread,
Feb 1, 2017, 2:46:01 PM2/1/17
to jenkinsc...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages