从jenkins工作中呼叫休息后方法

时间:2016-12-07 12:06:40

标签: jenkins jenkins-plugins

我希望在构建状态结束作业后,从Jenkins调用我的rest API。作为构建失败的例子,我想发送最近的更改,谁开始构建等。我认为可能有一个特定的插件来做这个但我找不到。我的下一个飞机是定制Jenkins Hipchat插件,将按摩发送到我的API。但这可能很难。任何人都可以建议我使用插件或方法来做到这一点。

1 个答案:

答案 0 :(得分:0)

此处列出了标准环境变量: https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project

如果您需要其他参数,则必须自己查询。我通常用groovy来做,在你的情况下我猜它会是lastBuild()

以下是检查作业是否在母版上运行的示例:

import hudson.model.*

jenkins = Hudson.instance

items = jenkins.items
Collections.shuffle(items)


for (item in items){
  def job = item.getLastBuild()
  if(job != null){
        if(job.getBuiltOnStr() == null || job.getBuiltOnStr() == "")
          println "Built in master: " + job.toString()
  }
} 

请检查api文档以确定您需要哪些信息:http://javadoc.jenkins-ci.org/hudson/model/AbstractBuild.html 我想用户是构建原因:http://javadoc.jenkins-ci.org/hudson/model/Run.html#getCauses() 但是你必须自己挖掘才能获得所需的信息。如果这是太多的工作,并且你在hipchat插件中拥有所需的一切,那对你来说可能更简单。