如何使用jenkins管道groovy脚本中的RTC插件?

时间:2016-05-11 16:11:17

标签: jenkins groovy rtc jenkins-pipeline

我知道我可以通过Jenkins RTC插件使用scm轮询,我只是想知道是否有一个如何通过管道插件的groovy脚本执行此操作的示例?

例如:

node{
   stage 'Checkout'
   git url: 'https://github.com/whatever/myrepo.git'
 ...
 }

像上面的东西但是你不是使用git,而是使用rtc工具包和prod url并指定一个流或工作空间...无法在任何地方找到一个例子而不确定如何通过api实现它(或者如果那样&#39 ;甚至可能?)

2 个答案:

答案 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复选框!