当前位置: 首页 > 知识库问答 >
问题:

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

裴哲
2023-03-14

我知道我可以通过Jenkins RTC插件使用scm轮询,我只是想知道是否有一个如何通过管道插件的groovy脚本做到这一点的例子?

例如:

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

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

共有2个答案

钱志
2023-03-14

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

慕俊迈
2023-03-14

实际上,代码段生成器有点误导,因为它不能生成您所需的所有内容。例如,根据生成的内容,我在管道中使用了以下内容:

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'
       ]
    ])
}

团队音乐会希望事情被包装在“建筑类型”中。我在jazz.net的论坛回答中发现了这一点,没有在其他任何地方看到它的记录。

 类似资料:
  • 问题内容: 我对Jenkins和Job DSL插件很陌生。经过一些研究,我发现了如何使用DSL创建作业,现在我正尝试使用DSL删除作业。我知道使用以下代码禁用作业: 运行正常。但是,我找不到在詹金斯删除其他工作的任何方法。 请帮忙! 谢谢! 问题答案: Job Dsl插件的每个实例都跟踪它创建的作业(和视图)。再次运行该实例时,您可以配置它对该实例上次运行时存在但这次不存在的作业(和视图)的作用。

  • 插件{}块目前只能在一个项目的构建脚本中使用.他不能在脚本插件,settings.gradle和出书画脚本中使用. Gradle的未来版本将删除此限制.

  • Example 21.1. Applying a script plugin build.gradle apply from: 'other.gradle' 脚本插件可以从本地文件系统或在远程位置的脚本中应用.文件系统的位置是相对于项目目录,而远程脚本位置的是由一个HTTP URL指定的.多个脚本插件(两种形式之一)可以被应用到给定的构建。

  • 我正在编写一个Eclipse插件,我想使用gradle tooling api来检查gradle项目的构建脚本,看看它是否应用了某些插件。 假设我有一个构建脚本,如下所示:

  • 问题内容: 我正在研究一个散布一堆jython和Java代码的应用程序。由于程序的性质(使用wsadmin),我们实际上仅限于Python 2.1 当前,我们有一个同时包含Java源代码和.py模块的jar。该代码当前是使用java调用的,但我希望删除此代码,以便将尽可能多的功能迁移到jython。 我的问题是我想从调用的jython脚本中导入或执行现有jar文件中的python模块。我尝试了几种

  • 问题内容: 扩展选择参数插件很棒,我在通过UI https://wiki.jenkins- ci.org/display/JENKINS/Extended+Choice+Parameter+plugin 配置的作业中使用它 但是,我正在努力使其在样式管道脚本中运行。由于Jenkins管道语法生成器创建了以下代码段,因此扩展选择参数插件似乎尚未与管道脚本完全兼容: 如果我手动创建参数,则会得到与ht