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

Report Swarm URL PASS FAIL errors in the console log as informational but do not fail job

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Minor Minor
    • p4-plugin
    • 1.17.1

      When setting up a new Jenkins server with Swarm and use a review workflow the response to Swarm can sometimes fail due to hostname resolution  or certificate errors. 

      From the console there is no indication that the Swarm notification has failed. 

      In the main Jenkins logger you see:

      Feb 25, 2025 1:31:50 PM INFO org.jenkinsci.plugins.p4.review.ReviewNotifier postURLReviewNotifier: https://arghhhh/api/v10/testruns/83/pass/BD6771E0-B65A-C9B7-77E8-89C5D16A8E3F.v1/ url=http://MyJenkins:8080/job/project1SwarmFreestyle/53/
      Feb 25, 2025 1:32:06 PM WARNING org.jenkinsci.plugins.p4.review.ReviewNotifier onCompletedUnable to Notify Review 

      But for the real error you need to look at Jenkins standard out at the OS:

       

      $ journalctl
      ...
      Feb 25 13:31:50 MyJenkins jenkins[655]: 2025-02-25 13:31:50.871+0000 [id=42]        INFO        o.j.p.p4.review.ReviewNotifier#postURL: ReviewNotifier: https://arghhhh/api/v10/testruns>Feb 25 13:32:01 MyJenkins CRON[2086]: pam_unix(cron:session): session closed for user nobody
      Feb 25 13:32:06 MyJenkins jenkins[655]: 2025-02-25 13:32:06.009+0000 [id=42]        WARNING        o.j.p.p4.review.ReviewNotifier#onCompleted: Unable to Notify Review
      Feb 25 13:32:06 MyJenkins jenkins[655]: java.net.UnknownHostException: arghhhh
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:229)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/java.net.Socket.connect(Socket.java:609)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:305)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:182)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:507)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:602)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:373)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:207)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:193)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:168)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at PluginClassLoader for p4//org.jenkinsci.plugins.p4.review.ReviewNotifier.postURL(ReviewNotifier.java:71)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at PluginClassLoader for p4//org.jenkinsci.plugins.p4.review.ReviewNotifier.onCompleted(ReviewNotifier.java:51)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at hudson.model.listeners.RunListener.lambda$fireCompleted$0(RunListener.java:223)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at jenkins.util.Listeners.lambda$notify$0(Listeners.java:59)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at jenkins.util.Listeners.notify(Listeners.java:67)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at hudson.model.listeners.RunListener.fireCompleted(RunListener.java:221)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at hudson.model.Run.execute(Run.java:1935)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at hudson.model.ResourceController.execute(ResourceController.java:101)
      Feb 25 13:32:06 MyJenkins jenkins[655]:         at hudson.model.Executor.run(Executor.java:446) 

       

       

      Reproduction Steps:

      (1) Create a Freestyle job that syncs code from Perforce. Shelve a file in that codeline.

      (2) Click 'Build review'.

      (3) Fill in the fields but put an invalid URL in the pass and fail fields.

      review: 1
      change: 2
      status: shelved
      pass: https://dont-exist.fail/api/v10/testruns/83/pass/BD6771E0-B65A-C9B7-77E8-89C5D16A8E3F.v1/
      fail: pass: https://dont-exist.fail/api/v10/testruns/83/fail/BD6771E0-B65A-C9B7-77E8-89C5D16A8E3F.v1/

      (4) Click Build.

      No error is seen unless you go searching in the logger or Jenkins server standard out.

       

       

       

          [JENKINS-75334] Report Swarm URL PASS FAIL errors in the console log as informational but do not fail job

          There are no comments yet on this issue.

            Unassigned Unassigned
            p4karl Karl Wirth
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: