当前位置: 首页 > 面试题库 >

Jenkins Groovy:是什么触发了构建

敖子安
2023-03-14
问题内容

我当时在考虑在我的Jenkins构建工作中使用Groovy脚本,因为我有一些条件要检查,可能需要访问Jenkins API。

是否有可能从Groovy脚本中找出触发构建的人员或原因?SCM更改,另一个项目或用户。我刚刚开始阅读有关Groovy和Jenkins API的文章。

我想检查以下条件并相应地构建。一些伪代码:

def buildTrigger JenkinsAPI.thisBuild.Trigger
if (buildTrigger == scm) {
   execute build_with_automake
   def new_version = check_git_and_look_up_tag_for_version
   if (new_version) {
      execute git tag new_release_candidate
      publish release_candidate
   }
} else if (buildTrigger == "Build other projects") {
  execute build_with_automake
}

该项目应建立在每一个SCM更改的基础上,但是只有在版本增加的情况下才标记和发布。当另一个项目触发了构建时,它也应该构建。


问题答案:

我有类似的东西-我想让触发构建的用户,这是我的代码:

for (cause in bld.getCauses()) {
    if (cause instanceof Cause.UserIdCause) {
        return cause.getUserName()
    }
}

(bld是Run的子类型)

因此,您可以获取生成原因,并检查其类型。

请参阅Cause Javadoc http://javadoc.jenkins-
ci.org/hudson/model/Cause.html上
的不同类型。



 类似资料:
  • 问题内容: 我当时在考虑在我的Jenkins构建工作中使用Groovy脚本,因为我有一些条件要检查,可能需要访问Jenkins API。 是否有可能从Groovy脚本中找出触发构建的人员或原因?SCM更改,另一个项目或用户。我刚刚开始阅读有关Groovy和Jenkins API的文章。 我想检查以下条件并相应地构建。一些伪代码: 该项目应建立在每一个SCM更改的基础上,但是只有在版本增加的情况下才

  • 问题内容: 我对Java中的垃圾回收如何工作感到有些困惑。 我得到一个对象,当它不再有实时引用时,就可以进行垃圾回收,但是如果它引用了实时对象又该怎么办? 可以说我有一个节点集合,再次引用了更多节点 现在,如果我删除列表,则应该对节点cd和e进行垃圾回收。节点e没有更多引用,而节点c和d具有循环引用。 但是节点a呢?会被垃圾收集吗? 节点b是否具有外部实时引用会有所不同吗?假设节点b从另一个地方引

  • 主要内容:触发器的优缺点,MySQL 支持的触发器MySQL 的触发器和存储过程一样,都是嵌入到 MySQL 中的一段程序,是 MySQL 中管理数据的有力工具。不同的是执行存储过程要使用 CALL 语句来调用,而触发器的执行不需要使用 CALL 语句来调用,也不需要手工启动,而是通过对数据表的相关操作来触发、激活从而实现执行。比如当对 student 表进行操作(INSERT,DELETE 或 UPDATE)时就会激活它执行。 触发器与数据表关

  • 问题内容: 我想知道触发Java完整垃圾收集的确切情况是什么。 显而易见的是: 用完了老一代 用完了perm gen 调用System.gc() 那么其他导致全gc的情况又如何呢?尤其: Survivor Space中的可用空间不足,无法从Eden复制对象。 次要收藏集无法应付新对象的分配率(虽然不知道如何)。 我正在运行Sun Java 1.6,并将Concurrent Mark-Sweep和P

  • 本文向大家介绍什么是触发器?SQL Server 2000有什么不同类型的触发器?相关面试题,主要包含被问及什么是触发器?SQL Server 2000有什么不同类型的触发器?时的应答技巧和注意事项,需要的朋友参考一下 让未来的数据库开发人员知道可用的触发器类型以及如何实现它们是非常有益的。触发器是一种专用类型的存储过程,它被捆绑到SQL Server 2000的表格或者视图上。在SQL Serv

  • 我正在尝试构建一个非循环树结构,每个节点由字符串标识,每个分支节点的类型为PrimMap。同一代上的所有节点都保存为映射中的Item对象。这是缩写代码: 错误消息是:/src/PrimMap。h: 314:57:错误:将“const PrimMap”作为“PrimMap::error PrimMap::add(const string)”的“this”参数传递 我看不出这个错误消息有什么意义——特