"Stash pullrequest builder" Jenkins 插件无法连接到 Stash
"Stash pullrequest builder" plugin for Jenkins can't connect to Stash
我尝试使用 "Stash pullrequest builder plugin" 将 Stash 和 Jenkins 集成在一起。在他们的页面上说,它应该是可用的变量“${pullRequestId}”。但我的工作没有它。该错误的作业日志中没有任何内容(构建失败,因为变量 ${pullRequestId} 不可用),但我在 Jenkin 的系统日志中遇到以下异常:
stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger.run() hudson.model.FreeStyleProject@678cb9ff[JOB_NAME] 失败
java.lang.RuntimeException: PR 获取请求处理失败; https://STASH_URL/rest/api/1.0/projects/PROJECT_NAME/repos/REPO_NAME/pull-requests?start=0
在 stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getRequest(StashApiClient.java:180)
在 stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getPullRequests(StashApiClient.java:68)
在 stashpullrequestbuilder.stashpullrequestbuilder.StashRepository.getTargetPullRequests(StashRepository.java:69)
在 stashpullrequestbuilder.stashpullrequestbuilder.StashPullRequestsBuilder.run(StashPullRequestsBuilder.java:30)
在 stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger.run(StashBuildTrigger.java:218)
在 hudson.triggers.Trigger.checkTriggers(Trigger.java:272)
在 hudson.triggers.Trigger$Cron.doRun(Trigger.java:221)
在 hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:50)
在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
在 java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
在 java.lang.Thread.run(Thread.java:745)
原因:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
在 sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
在 sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1916)
在 sun.security.ssl.Handshaker.fatalSE(Handshaker.java:279)
在 sun.security.ssl.Handshaker.fatalSE(Handshaker.java:273)
在 sun.security.ssl.ClientHandshaker.serverCertificate(客户Handshaker.java:1472)
在 sun.security.ssl.ClientHandshaker.processMessage(客户Handshaker.java:213)
在 sun.security.ssl.Handshaker.processLoop(Handshaker.java:913)
在 sun.security.ssl.Handshaker.process_record(Handshaker.java:849)
在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035)
在 sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344)
在 sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:721)
在 sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
在 java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
在 org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)
在 org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)
在 org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
在 org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
在 org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
在 org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
在 org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
在 stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getRequest(StashApiClient.java:173)
... 14 更多
原因:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
在 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
在 sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
在 sun.security.validator.Validator.validate(Validator.java:260)
在 sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
在 sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
在 sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
在 sun.security.ssl.ClientHandshaker.serverCertificate(客户端Handshaker.java:1454)
... 31 更多
原因:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径
在 sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196)
在 java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
在 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
... 还有 37 个
如何解决这个问题?
谢谢。
我找到了解决办法。 "Advanced" 选项卡下有复选框 "Ignore ssl certificates"。检查后确定没有问题。
我尝试使用 "Stash pullrequest builder plugin" 将 Stash 和 Jenkins 集成在一起。在他们的页面上说,它应该是可用的变量“${pullRequestId}”。但我的工作没有它。该错误的作业日志中没有任何内容(构建失败,因为变量 ${pullRequestId} 不可用),但我在 Jenkin 的系统日志中遇到以下异常:
stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger.run() hudson.model.FreeStyleProject@678cb9ff[JOB_NAME] 失败 java.lang.RuntimeException: PR 获取请求处理失败; https://STASH_URL/rest/api/1.0/projects/PROJECT_NAME/repos/REPO_NAME/pull-requests?start=0 在 stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getRequest(StashApiClient.java:180) 在 stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getPullRequests(StashApiClient.java:68) 在 stashpullrequestbuilder.stashpullrequestbuilder.StashRepository.getTargetPullRequests(StashRepository.java:69) 在 stashpullrequestbuilder.stashpullrequestbuilder.StashPullRequestsBuilder.run(StashPullRequestsBuilder.java:30) 在 stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger.run(StashBuildTrigger.java:218) 在 hudson.triggers.Trigger.checkTriggers(Trigger.java:272) 在 hudson.triggers.Trigger$Cron.doRun(Trigger.java:221) 在 hudson.triggers.SafeTimerTask.run(SafeTimerTask.java:50) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 在 java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745) 原因:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径 在 sun.security.ssl.Alerts.getSSLException(Alerts.java:192) 在 sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1916) 在 sun.security.ssl.Handshaker.fatalSE(Handshaker.java:279) 在 sun.security.ssl.Handshaker.fatalSE(Handshaker.java:273) 在 sun.security.ssl.ClientHandshaker.serverCertificate(客户Handshaker.java:1472) 在 sun.security.ssl.ClientHandshaker.processMessage(客户Handshaker.java:213) 在 sun.security.ssl.Handshaker.processLoop(Handshaker.java:913) 在 sun.security.ssl.Handshaker.process_record(Handshaker.java:849) 在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1035) 在 sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1344) 在 sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:721) 在 sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122) 在 java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) 在 java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 在 org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828) 在 org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116) 在 org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096) 在 org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) 在 org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) 在 org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) 在 org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) 在 stashpullrequestbuilder.stashpullrequestbuilder.stash.StashApiClient.getRequest(StashApiClient.java:173) ... 14 更多 原因:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径 在 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385) 在 sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292) 在 sun.security.validator.Validator.validate(Validator.java:260) 在 sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326) 在 sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231) 在 sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126) 在 sun.security.ssl.ClientHandshaker.serverCertificate(客户端Handshaker.java:1454) ... 31 更多 原因:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效证书路径 在 sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196) 在 java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268) 在 sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380) ... 还有 37 个
如何解决这个问题? 谢谢。
我找到了解决办法。 "Advanced" 选项卡下有复选框 "Ignore ssl certificates"。检查后确定没有问题。