问题标签 [jenkins-job-dsl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
901 浏览

jenkins - Jenkins job dsl 和 MSTest 集成

Jenkins Job DSL插件是一种在 repo 中存储 CI 配置并在分支之间改变它的非常好的方法。

问题是 - 是否有一种自然或接近自然的方式来运行 MSTest 测试、解析结果并显示它们。

现在我做了一个 powershell 调用,但它只给了我日志,而不是 UI 集成。

可能有发布者或模板技巧,或者为此编写 JOB DSL 插件的一些技巧


UPD:MSTest 和 VSTest 的最终脚本模板,使用@daspilker answer、jenkins xUnit PluginarchiveXUnit

0 投票
3 回答
2526 浏览

jenkins - 如何在 Jenkins 工作流(管道)插件中执行作业 dsl 脚本

我正在尝试将 Workflow Multibranch的良好分支处理 与强大的Job-Dsl插件作业生成相结合。所以基本上我希望分支从存储库中的脚本重新生成它的作业并运行主要的。

但我看不到Process Job DSLs从工作流脚本运行步骤的方法。可能有一种内置方法可以在 Workflow 中执行自定义步骤,但我就是找不到。

0 投票
1 回答
3053 浏览

jenkins-job-dsl - Jenkins Job DSL sshAgent 无法正常工作

对于 Jenkins Job DSL,我正在尝试为作业选择特定的 ssh 代理(插件)键(在包装器上下文中使用 sshAgent 关键字)。我们安装了 Jenkins ssh 代理插件并设置了几个密钥(这个插件有效,因为我们几乎所有的工作都使用它)。Jenkins Job DSL sshAgent 命令总是选择第一个键,无论我是否在 Jenkins 设置中指定了不同的键。

我曾尝试仅使用键名,但也尝试过 key_name + 空格 + 描述(就像下拉菜单中显示的那样)。这也不起作用——仍然选择第一个键。

这是一个已知的问题?(我还没有搜索过这个)

0 投票
3 回答
1553 浏览

jenkins-job-dsl - 使用 Jenkins Job DSL 插件时如何使种子作业失败

我正在使用 Jenkins Job DSL 插件并配置了一个参数化构建的种子作业。如果有人忘记填写所需参数之一,我希望构建失败。我的 DSL 脚本顶部有以下内容:

如何完成 TODO 位?显然我可以在这里抛出一个异常,但它看起来有点难看。什么是首选/最佳实践方式。

0 投票
2 回答
501 浏览

jenkins-job-dsl - 在 Jenkins“Job DSL 插件”中,如何在“mavenJob”中指定 pom.xml 的备用位置?

我正在查看此处的说明,但无法弄清楚如何设置 的替代pom.xml位置,而Root POM不是默认位置。

https://jenkinsci.github.io/job-dsl-plugin/#path/mavenJob

有没有人知道如何设置?

0 投票
2 回答
1134 浏览

jenkins - 在 Jenkins Job DSL 中重用 maven 步骤

我正在使用Job DSL来定义一个需要运行多个 Maven 步骤的作业。这是一个例子:

因此,许多代码经常重复。

是否可以提取职位描述的各个部分并从 Job DSL 中调用它们?我想象这样的事情:

这将导致代码显着减少,并且将来更容易更改。

我读过这些步骤需要某种上下文,但我不知道该怎么做。我试图将块提取到配置闭包中,如下所示:

但是当我用 调用元素时configure fuubar,生成的作业 configure.xml 中没有显示任何内容。

任何帮助,将不胜感激。

0 投票
2 回答
825 浏览

jenkins-job-dsl - Jenkins Job DSL,视图创建无法正常工作

我正在尝试通过 Groovy 代码为 Jenkins Job DSL 插件创建一个列表视图。运行后,会创建视图,但不会添加任何作业。以下代码段之前的代码创建了构建和部署作业,并且我在调用视图创建代码之前验证了它们是否已正确创建。我的代码如下所示。我错过了什么?

0 投票
2 回答
2157 浏览

jenkins - 詹金斯工作 DSL 问题

我创建了以下 groovy 脚本来在 Jenkins 中创建示例作业。

当我在 Jenkins 中创建一个作业来运行这个 DSL 时,它可以正常工作并创建一个名为 ARCHIE_DSL_TEST 的作业。

但是,我想做的是使用 curl 运行此作业,并且我一直在运行以下命令。

但是,它给了我一个例外。

构建在 2016 年 1 月 27 日星期三 16:54:20 AEDT 运行 groovy.lang.MissingMethodException:没有方法签名:Script1.freeStyleJob() 适用于参数类型:(java.lang.String, Script1$_run_closure1) 值: [ARCHIE_DSL_TEST, Script1$_run_closure1@9761fdb] 在 org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55) 在 org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:78) 在org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133) 在 org.codehaus.groovy.runtime 的 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)。 callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145) 在 Script1.run(Script1.groovy:13) 在 groovy.lang.GroovyShell。在 groovy.lang.GroovyShell.evaluate(GroovyShell.java:618) 在 hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics .java:139) at hudson.util.RemotingDiagnostics$Script.call(RemotingDiagnostics.java:111) at hudson.remoting.LocalChannel.call(LocalChannel.java:45) at hudson.util.RemotingDiagnostics.executeGroovy(RemotingDiagnostics.java: 108) 在 jenkins.model.Jenkins._doScript(Jenkins.java:3556) 在 jenkins.model.Jenkins.doScriptText(Jenkins.java:3540) 在 sun.reflect.GeneratedMethodAccessor205.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl org.kohsuke.stapler 中的 java.lang.reflect.Method.invoke(Method.java:606) 中的 .invoke(DelegatingMethodAccessorImpl.java:43)。Function$InstanceFunction.invoke(Function.java:298) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96) at org.kohsuke .stapler.MetaClass$1.doDispatch(MetaClass.java:121) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746) at org .kohsuke.stapler.Stapler.invoke(Stapler.java:876) 在 org.kohsuke.stapler.Stapler.invoke(Stapler.java:649) 在 org.kohsuke.stapler.Stapler.service(Stapler.java:238) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter( ServletHandler.java:1494) 在 hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123) 在 hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59) 在 hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120) ) 在 com.smartcodeltd.jenkinsci.plugin.assetbundler.filters.LessCSS.doFilter(LessCSS.java:46) 在 hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120) 在 hudson.plugins.audit_trail.AuditTrailFilter.doFilter (AuditTrailFilter.java:95) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:120) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114) at org.eclipse.jetty.servlet.ServletHandler$CachedChain .doFilter(ServletHandler.java:1482) 在 hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) 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 ) 在 org.acegisecurity.ui.rememberme.RememberMeProcessingFilter 的 hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 的 org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)。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) 在 jenkins.security.BasicHeaderProcessor.success(BasicHeaderProcessor.java:140) 在 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:82) 在 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:168) at org.eclipse.jetty.servlet。 ServletHandler$CachedChain.doFilter(ServletHandler.java:1482) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:第1482章.java:30) 在 org.eclipse.jetty.servlet.ServletHandler$CachedChain。doFilter(ServletHandler.java:1474) 在 org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) 在 org .eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533) 在 org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) 在 org.eclipse.jetty.server.handler.ContextHandler .doHandle(ContextHandler.java:1086) 在 org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428) 在 org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) 在org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020) 在 org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) 在 org.eclipse.jetty.server。handler.HandlerWrapper.handle(HandlerWrapper.java:116) at org.eclipse.jetty.server.Server.handle(Server.java:370) at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)在 org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) 在 org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) 在 org.eclipse.jetty.http.HttpParser .parseNext(HttpParser.java:651) 在 org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 在 org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) 在 org. eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:196) 在 org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor .java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745)

我在这里做错了什么?

非常感谢。

0 投票
2 回答
1149 浏览

jenkins-job-dsl - Jenkins Job DSL:如何设置“默认子视图”?

我正在尝试使用 Jenkins Job DSL Groovy 脚本创建嵌套选项卡。它创建了它们,但我找不到在 DSL API 中设置“默认子视图”的方法。在我这样做之前,它似乎无法正确显示选项卡。一旦我手动更改该默认值,它就会正确显示。这是代码:

原始视图

在编辑视图中手动更改默认子视图后更正视图

0 投票
1 回答
839 浏览

jenkins - 将现有作业添加到 MultiJob

Jenkins Job DSL 插件(1.42 版)允许定义 MultiJobs:

是否可以定义一个作业并将其添加到 MultiJob 中,如以下示例中的单独步骤?

被迫在 MultiJob 定义中定义许多不同的作业似乎很复杂,并且增加了很多复杂性。有解决方法吗?是否可以将阶段作业的定义移动到 MultiJob 定义之外的函数?