Назад | Перейти на главную страницу

Доступ клиента по сценарию Jenkins к журналам узлов / блоков (не полный журнал). curl работает, но предлагаемый код Perl не работает

Я хочу получить журнал для узла Jenkins (enclosingBlock) для одной из моих работ.

Я знаю, что могу получить полный журнал: (при необходимости заменив jenkinsserver и% JOB%)

http: // jenkinsserver / job /% JOB / lastBuild / consoleText

И я могу иногда получить журнал узла с:

http: // jenkinsserver / job /% JOB / lastBuild / execution / node /% ID% / log

Хотя это редко срабатывает / удается найти журнал.

С Blue Ocean мы можем получать журналы только для одной работы, а именно:

http: // jenkinsserver / blue / rest / organization / jenkins / pipelines /% JOB% / run /% BUILD% / nodes /% ID% / log /? start = 0

Но проблема в том, что я хочу сделать это с помощью клиента Perl. До сих пор мне удалось получить доступ к REST API с помощью моего сценария perl, но он не может получить URL-адрес журнала Blue Ocean, он дает java.lang.NullPointerException, возвращаемый с сервера.

Я использую инструкции Дженкинса:

https://www.jenkins.io/doc/book/system-administration/authenticating-scripted-clients/

И что сбивает с толку, так это то, что curl работает для URL-адреса синего океана, а код perl - нет, хотя код perl работает для всех вызовов REST API, которые я делаю. Есть идеи, как мне изменить код Perl, чтобы он работал даже для этого URL-адреса Blue Ocean?

Вот ошибка, которую я получаю от Jenkins при использовании их кода LWP perl и URL-адресов журнала blue ocean:

 <a bunch of html and then>...
Oops!</span></h1><div id="error-description"><p>A problem occurred while processing the request.                                                                      
Please check <a href="https://jenkins.io/redirect/issue-tracker">our bug tracker</a> to see if a similar problem has already been reported.                                                                                                       
If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem.                        
If you think this is a new issue, please file a new issue.                                                                       
When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins.                                                                                                                         
<a href="https://jenkins.io/redirect/users-mailing-list">The users list</a> might be also useful in understanding what has happened.<h2>Stack trace</h2><pre style="margin:2em; clear:both">java.lang.NullPointerException                       
at org.kohsuke.stapler.AcceptHeader$StaplerConverterImpl.convert(AcceptHeader.java:224)                                          
at org.kohsuke.stapler.AnnotationHandler.convert(AnnotationHandler.java:66)                                                      
at org.kohsuke.stapler.Header$HandlerImpl.parse(Header.java:67)                                                                  
at org.kohsuke.stapler.Header$HandlerImpl.parse(Header.java:56)                                                                  
at org.kohsuke.stapler.AnnotationHandler.handle(AnnotationHandler.java:91)                                                       
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:204)                                                                 
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)                                                
at org.kohsuke.stapler.IndexDispatcher.dispatch(IndexDispatcher.java:27)   
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)                                                                         
at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:219)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)                                                
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)                                                                 
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)                                                                 
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:219)         
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)                                                                                                                                                                                       
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)                                                         
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)                                                                      
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:219)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:219)                             
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)                                                                                                                                                                                           
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)                                                                                                                                                                                   
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)                                                                                                                                                                                        
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)                                                                                                                                                                                           
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)                                                                                                                                                                                   
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)                                                                                                                                                                                        
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)                                                                                                                                                                                           
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)                                                                                                                                                                                   
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)                                                                                                                                                                                        
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)                                                                                                                                                                                           
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:717)                                                                                                                                                                                        
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)                                                                                                                                                                                           
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)                                                                                                                                                                                   
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)                                                                                                                                                                                        
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)                                                                                                                                                                                           
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676)                                                                                                                                                                                           
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:873)                                                                                                                                                                         
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)                                                                                                                                                        
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)                                                                                                                                                                       
at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:246)