2011-05-21 74 views
2

我正在使用Jenkins ver。 1.406,並且無法使用AJAX觸發參數化(3字符串)構建。通過ajax使用遠程API觸發參數化作業構建

有些文檔討論的是「令牌」,但Jenkin的OR作業配置面板中沒有這樣的選項。

我送Ajax調用是這樣的:

var jqxhr = $.post(
    "http://servername:8080/job/jab-name/build/api/json", 
    { "parameters": [{ "PARAM1": "value1" }, { "PARAM2": "value2" }] }, 
    "json" 
) 
.success(function() { alert("success"); }) 
.error(function (xhr, ajaxOptions, thrownError) { alert("Error\nxhr.status = [" + xhr.status + "]\n xhr.status: [" + xhr.statusText + "]\najaxOptions = [" + ajaxOptions + "]"); }) 
.complete(function() { alert("complete"); }); 

參數是否正確(區分大小寫),所有這些都設置,不使用默認值(S)的。

任何人都可以幫忙嗎? 謝謝!

回答

2

我認爲你必須在你的URL中用替換buildWithParameters

var jqxhr = $.post(
    "http://servername:8080/job/jab-name/buildWithParameters/api/json", 
    { "parameters": [{ "PARAM1": "value1" }, { "PARAM2": "value2" }] }, 
    "json" 
) 
.success(function() { alert("success"); }) 
.error(function (xhr, ajaxOptions, thrownError) { alert("Error\nxhr.status = [" + xhr.status + "]\n xhr.status: [" + xhr.statusText + "]\najaxOptions = [" + ajaxOptions + "]"); }) 
.complete(function() { alert("complete"); }); 
+0

不工作,要麼,我回來「0」狀態響應 – user706058 2011-05-22 12:15:04

+0

我測試現在有了相同的結果。這可能是一個跨站點腳本問題,但我不確定。 – 2011-05-24 20:43:49

4

有幾件事情要檢查

  1. 你檢查 「觸發建立遠程(例如,從腳本)」 選項?如果選中,將會有文本框輸入您的令牌。

  2. 你使用安全嗎?如果是的話,你必須驗證詹金斯。

  3. 看一看https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API(你需要使用JSON觸發參數化的構建說法是錯誤的)

+0

嗨;在我嘗試運行的Jenkins工作中,沒有啓用Trigger Build「選項,Jenkins和服務器級別都沒有安全性(沒有基本/ LDAP/Active Directory認證請求),我嘗試了維基頁面,它沒有工作,所以我試着在URL中的「/ api/json」部分,但沒有幫助。 – user706058 2011-05-24 08:56:19

+0

你需要檢查「觸發器遠程構建」,否則你是運氣不好。AFAIK, t需要配置一個令牌,然後調用http:// server/job/myjob/buildWithParameters?PARAMETER = Value或者使用其餘的API - 供參考另請參閱https://wiki.jenkins-ci.org/display/ JENKINS /參數+編譯 – 2011-06-07 13:17:48

相關問題