如何使用groovy脚本

时间:2017-02-23 12:16:36

标签: windows jenkins groovy

我有100多个Jenkin工作。但我有一个新的要求,我必须在所有作业中包含额外的Windows批处理命令,而不会删除/干扰现有配置。

有没有办法将新的执行命令注入jenkins master中的所有作业。

有人可以说明这个吗

先谢谢!!

1 个答案:

答案 0 :(得分:2)

首先,请注意,这些脚本修改了正在运行的Jenkins实例中的底层结构,在执行此操作之前进行备份!

您可以在“管理Jenkins”下找到的“脚本控制台”中执行以下脚本(您需要管理员权限)

以下脚本将批处理命令作为所有自由样式作业的第一步插入:

import java.util.ArrayList;
import hudson.tasks.BatchFile;

for (job in Jenkins.getInstance().getAllItems(FreeStyleProject.class)) {
  def buildersList = job.getBuildersList()
  def oldBuilders = new ArrayList(buildersList); // Take a copy of existing steps so that we can insert them later
  buildersList.clear() // We need to clear the list first, add at index is not supported
  buildersList.add(new BatchFile("""\
  echo "Windows batch command"
"""));
  buildersList.addAll(oldBuilders)
  job.save();
}

以下内容将其插入:

import java.util.ArrayList;
import hudson.tasks.BatchFile;

for (job in Jenkins.getInstance().getAllItems(FreeStyleProject.class)) {
  def oldBuilders = job.getBuildersList().add(new BatchFile("""\
  echo "Windows batch command"
"""));
  job.save();
}