我正在使用主动选择插件,有一个groovy脚本,可以检索Jenkins中所有作业的名称。我可以编写一个groovy脚本来获取该特定作业的所有内部版本号的列表。
答案 0 :(得分:3)
答案 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 -> ...
}
}