如何使用groovy脚本获取jenkins中特定作业的所有构建号?

时间:2017-03-08 08:24:07

标签: jenkins groovy jenkins-plugins

我正在使用主动选择插件,有一个groovy脚本,可以检索Jenkins中所有作业的名称。我可以编写一个groovy脚本来获取该特定作业的所有内部版本号的列表。

3 个答案:

答案 0 :(得分:3)

为了使用有效选择插件获取特定作业的构建列表,您可以使用以下示例。

首先,为恢复作业名称创建一个活动的选择参数: enter image description here

然后创建一个活动的选择参数,用于从所选作业中恢复构建号: enter image description here

答案 1 :(得分:0)

尝试:

<LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="match_parent">

        <EditText
            android:layout_width="wrap_content"
            android:gravity="center_horizontal"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:text="Name"
            android:ems="10"
            android:id="@+id/editText"
            android:textAppearance="@style/TextAppearance.AppCompat.Light.SearchResult.Subtitle" />

        <Button
            android:text="Button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/button" />
</LinearLayout>

一般情况下,我建议浏览您的jenkins Feed以获取您想要的信息,然后查找&#34; rss Feed&#34; - 然后将该rss URL放入XmlSlurper中,看看你得到了什么。

此外,我倾向于在groovysh中完成这些工作,这使得探索对象如何工作变得非常容易。在这种情况下,您可能还希望在groovysh中尝试对象时查看原始XML。

答案 2 :(得分:0)

我会查看REST-API(因为我知道它有效):

HTTP:/// API / XML树=作业[名称,建立[结果,描述,ID,号码,URL,时间戳]]安培;漂亮=真安培;的xpath =哈德森/作业[名称= ''] &安培;包装=作业

这导致如下:

<jobs>
    <job _class="...">
        <name>JOBNAME</name>
        <build _class="...">
            <id>66</id>
            <number>66</number>
            <result>FAILURE</result>
            <timestamp>1489717287702</timestamp>
            <url>JOB_URL</url>
        </build>
        ...
    </job>
<jobs>

因此,以下调用与foreach循环一起应该可以解决问题。

def text = "rest_api_url".toURL().text
def jobs = new XmlSlurper().parseText(text.toString())

否则这样的事情也应该有效 - 即使我没有测试过它。

import jenkins.model.*

for(item in Jenkins.instance.items) {
    if ("JOBNAME".equals(item.name)) {
        // do something with $item.builds
        // foreach item.builds -> ...
    }
}
相关问题