Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-49454

Issue with HP ALM Quality Center Plugin

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

       

      Hi,

      When I select HP Quality Center Integration I get stack trace for each options. as shown in the image

      My jenkins version is 2.105

      Stack Trace for Domain:
      java.lang.NullPointerException: URI template of the newly created target must not be null.
      at jersey.repackaged.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:208)
      at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:184)
      at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:70)
      at org.jenkinsci.plugins.qc.client.QualityCenter.create(QualityCenter.java:18)
      at org.jenkinsci.plugins.qc.QualityCenterIntegrationRecorder$QualityCenterIntegrationDescriptor.doFillDomainItems(QualityCenterIntegrationRecorder.java:469)
      at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
      at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      Caused: javax.servlet.ServletException
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:765)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      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:841)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:99)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      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:90)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      at org.eclipse.jetty.server.Server.handle(Server.java:564)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
      at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
      at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
      at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

      Stack Trace for Project:
      java.lang.NullPointerException: URI template of the newly created target must not be null.
      at jersey.repackaged.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:208)
      at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:184)
      at org.glassfish.jersey.client.JerseyClient.target(JerseyClient.java:70)
      at org.jenkinsci.plugins.qc.client.QualityCenter.create(QualityCenter.java:18)
      at org.jenkinsci.plugins.qc.QualityCenterIntegrationRecorder$QualityCenterIntegrationDescriptor.doFillProjectItems(QualityCenterIntegrationRecorder.java:483)
      at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
      at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:117)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:129)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      Caused: javax.servlet.ServletException
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:765)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)
      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:841)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:99)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      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:90)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
      at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
      at org.eclipse.jetty.server.Server.handle(Server.java:564)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
      at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
      at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
      at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

        Attachments

        1. Configuration.png
          Configuration.png
          70 kB
        2. HP_ALM_ConnectionIssue.png
          HP_ALM_ConnectionIssue.png
          53 kB
        3. image-2018-02-08-12-49-29-965.png
          image-2018-02-08-12-49-29-965.png
          115 kB
        4. image-2018-02-09-10-34-37-647.png
          image-2018-02-09-10-34-37-647.png
          36 kB
        5. Job level.png
          Job level.png
          79 kB
        6. QC.png
          QC.png
          105 kB
        7. Untitled.png
          Untitled.png
          99 kB

          Activity

          Hide
          faziom Michael Fazio added a comment -

          If you have not defined any user defined fields in Quality Centre then you can just leave it blank.

          Show
          faziom Michael Fazio added a comment - If you have not defined any user defined fields in Quality Centre then you can just leave it blank.
          Hide
          rijo_26 Rijo Varghese added a comment -

          Michael Fazio When I leave that field empty
          This is the error that i'm facing

          ERROR: Build step failed with exception
          org.jenkinsci.plugins.qc.client.QualityCenterException: qccore.required-field-missing
          Missing required field: user-06 for entity test
          org.hp.qc.api.validations.RequiredFieldMissingException: Missing required field: user-06 for entity test
          at org.hp.qc.impl.validations.RequiredFieldsValidator.validate(RequiredFieldsValidator.java:66)
          at org.hp.qc.impl.plugins.CreatePluginBase.validateBeforeCreate(CreatePluginBase.java:25)

          Show
          rijo_26 Rijo Varghese added a comment - Michael Fazio When I leave that field empty This is the error that i'm facing ERROR: Build step failed with exception org.jenkinsci.plugins.qc.client.QualityCenterException: qccore.required-field-missing Missing required field: user-06 for entity test org.hp.qc.api.validations.RequiredFieldMissingException: Missing required field: user-06 for entity test at org.hp.qc.impl.validations.RequiredFieldsValidator.validate(RequiredFieldsValidator.java:66) at org.hp.qc.impl.plugins.CreatePluginBase.validateBeforeCreate(CreatePluginBase.java:25)
          Hide
          faziom Michael Fazio added a comment -

          So this basically indicates that your QC instance has been modified to include at least one user-defined required field (user-06). Therefore you must determine a static value for that field by adding a user defined field in the form: "user-06=VALUE"

          Show
          faziom Michael Fazio added a comment - So this basically indicates that your QC instance has been modified to include at least one user-defined required field (user-06). Therefore you must determine a static value for that field by adding a user defined field in the form: "user-06=VALUE"
          Hide
          jfb Jean-Francois BAUDE added a comment -

          Hello

          I have a similar problem but at setup connection time. Currently I am not able to use the plugin https://wiki.jenkins.io/display/JENKINS/HP+ALM+Quality+Center+Plugin with Jenkins vers 2.156. See attached error

           

          Show
          jfb Jean-Francois BAUDE added a comment - Hello I have a similar problem but at setup connection time. Currently I am not able to use the plugin https://wiki.jenkins.io/display/JENKINS/HP+ALM+Quality+Center+Plugin with Jenkins vers 2.156. See attached error  
          Hide
          faziom Michael Fazio added a comment - - edited

          Hi Jean-Francois BAUDE,

          Firstly. Welcome to Thales (I'm a Thales employee myself so I guess you could say that we are now co-workers given Thales' acquisition of Gemalto).

          The problem you are seeing is due to the fact that your Quality Centre server is being accessed via HTTP over SSL and the certificate used to secure the server cannot be verified by the Jenkins server (it's probably self signed?).

          There are a few options here that will 'fix' the issue.

           

          • Install the certificate into the trusted keystore for the JDK installation used to run Jenkins. This is the most secure, and "correct", way of resolving the issue. (i found this example which I believe is relevant https://gist.github.com/shanedroid/20ab6f1b50ac9a2d8713c570c165e598).
          • Use HTTP instead of HTTPS (if your quality centre instance supports access via standard HTTP). To test just change https:// to http://.
          • Raise a pull request to add a boolean configuration parameter that bypasses SSL for just this plugin. Shouldn't be too hard for me to implement.

          -M

          Show
          faziom Michael Fazio added a comment - - edited Hi  Jean-Francois BAUDE , Firstly. Welcome to Thales (I'm a Thales employee myself so I guess you could say that we are now co-workers given Thales' acquisition of Gemalto). The problem you are seeing is due to the fact that your Quality Centre server is being accessed via HTTP over SSL and the certificate used to secure the server cannot be verified by the Jenkins server (it's probably self signed?). There are a few options here that will 'fix' the issue.   Install the certificate into the trusted keystore for the JDK installation used to run Jenkins. This is the most secure, and "correct", way of resolving the issue. (i found this example which I believe is relevant https://gist.github.com/shanedroid/20ab6f1b50ac9a2d8713c570c165e598). Use HTTP instead of HTTPS (if your quality centre instance supports access via standard HTTP). To test just change https:// to http://. Raise a pull request to add a boolean configuration parameter that bypasses SSL for just this plugin. Shouldn't be too hard for me to implement. -M

            People

            • Assignee:
              faziom Michael Fazio
              Reporter:
              rijo_26 Rijo Varghese
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: