2012-02-10 57 views
2

我知道如何提供構建參數:提供userName和SHORTDESCRIPTION在詹金斯遠程API工作觸發

wget --post-data='json={"parameter": {"name": "testparam", "value": "HELLO"}}' http://jenkins/job/Job1/build?delay=0sec 

但是,有沒有可能通過wget的/捲曲,以提供一個詹金斯遠程API構建請求一個SHORTDESCRIPTION和用戶名?

它應該看起來像在json或xml中?網上有任何手冊/指南嗎?

我會將其與Trigger dynamic set of jobs中描述的問題一起使用。我想提供帶有調用作業名稱和內部版本號的觸發作業。

回答

2

你可以考慮在瀏覽器中使用Jenkins CLI(http:// [jenkins-host]/cli)。您可以指定用戶使用構建 CLI命令。不過,我不確定你在開始構建時的簡短描述是什麼意思。

更新:請參閱Jenkins Wiki Authenticating Scripted Clients。我創建了一個用戶foobar(「全名」 Foo Bar),並嘗試了以下內容:

wget --auth-no-challenge --http-user=foobar --http-password=[apiToken] http://jenkins.yourcompany.com/job/your_job/build 

,其中從用戶配置頁面獲取的令牌:http://localhost:8081/user/foobar/configure。有效。但用戶必須存在。此外,您必須指定--auth-no-challenge選項,否則它會以匿名方式啓動構建。狀態描述爲Started by user Foo Bar

另一個更新如果一切都失敗了,你可以考慮以下解決方法:啓動所有通過Parameterized Trigger Plugin以告訴觸發作業是否運行或不附加的布爾參數的基礎之上。如果工作被要求不運行,它會立即失敗,並調用一個'清理'工作傳遞給它的構建信息;清理工作將從系統中刪除構建。

+1

json/xml中的簡短描述是說「由用戶匿名啓動」。我想讓它知道是誰觸發了正常下游作業的構建。看起來像這樣:啓動上游項目「MasterJob」內部版本號16 – Magnus 2012-02-10 13:51:17

+0

觸發的作業xml/json甚至包含upstreamBuild,upstreamProject,upstreamUrl。通過提供填充觸發作業中的信息來跟蹤引發事件的原因將很好。 – Magnus 2012-02-10 13:54:02

+0

我可以通過CLI執行groovy腳本並控制構建的所有部分,但我想要一個更輕量級的解決方案。 – Magnus 2012-02-10 14:36:28