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

How to use RTC plugin from jenkins pipeline groovy script?

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

例如:

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

类似于上面的内容,但不是 git,而是将 rtc 工具包与 prod url 一起使用并指定流或工作区...无法在任何地方找到示例并且不确定如何进行通过 api 实现它(或者如果可能的话?)

管道插件中有一个代码片段生成器,我花了一段时间才找到它,但它会为任何 Jenkins 任务生成 groovy 代码...Rtc 列在 teamconcert 下: Team Concert,只需向下滚动到底部并勾选“片段生成器”复选框!

事实上,片段生成器有点误导,因为它不会生成您需要的所有内容。例如,根据生成的内容,我在管道中使用了这个:

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.call(AbstractSynchronousNonBlockingStepExecution.java:52)
    at hudson.security.ACL.impersonate(ACL.java:221)
    at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution.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'
       ]
    ])
}

Team concert 希望将内容包装在 'buildType' 中。我在 jazz.net 上的一个论坛答案中找到了这个,但没有在其他任何地方看到它的记录。