我知道我可以通过Jenkins RTC插件使用scm轮询,我只是想知道是否有一个如何通过管道插件的groovy脚本执行此操作的示例?
例如:
node{
stage 'Checkout'
git url: 'https://github.com/whatever/myrepo.git'
...
}
像上面的东西但是你不是使用git,而是使用rtc工具包和prod url并指定一个流或工作空间...无法在任何地方找到一个例子而不确定如何通过api实现它(或者如果那样&#39 ;甚至可能?)
答案 0 :(得分:1)
实际上,代码段生成器有点误导,因为它不会生成您需要的所有内容。例如,根据生成的内容,我在管道中使用了它:
node {
teamconcert([buildDefinition: 'TestStream', value: 'buildDefinition'])
}
如果你按原样使用它,你会得到这个例外:
RTC : checkout...
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
java.lang.NullPointerException
at com.ibm.team.build.internal.hjplugin.RTCScm.checkout(RTCScm.java:1948)
atorg.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:109)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:83)
at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:73)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:52)
at hudson.security.ACL.impersonate(ACL.java:221)
at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:49)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
您需要的语法是:
node {
teamconcert([
buildType: [
buildDefinition: 'TestStream',
value: 'buildDefinition'
]
])
}
团队音乐会希望事情包含在' buildType'中。我在jazz.net上的一个论坛答案中找到了这个,没有在其他任何地方看到它。
答案 1 :(得分:0)
管道插件中有一个片段代码生成器,花了我一段时间才找到它,但它会为任何Jenkins任务生成groovy代码... Rtc列在teamconcert下:Team Concert,只需向下滚动在底部并勾选Snippet Generator复选框!