2011-10-03 30 views
1

我正在開發一個使用SOAP與JIRA進行通信的Web應用程序。我有一個包含多個複選框的自定義字段,並且我可以通過SOAP獲取該字段,但我無法訪問它包含的實際複選框。有沒有辦法做到這一點?如何使用SOAP獲取JIRA多選框自定義字段中的所有值?

+0

到目前爲止你做了什麼? – Anders

+0

我試圖讓他們通過getCustomFields(),但他們不存儲這種方式。我能找到的唯一的東西是包含它們的自定義字段,它沒有任何有助於找到我需要的值的方法。我知道他們的ID是什麼,並且在創建問題時我已經能夠設置這種類型的自定義字段,但是我還沒有找到任何方法讓我獲得它們。 – Valyrion

+0

我沒有直接通過JIRA使用SOAP,但是,我已經對JIRA做了許多AJAX/JavaScript修改,每次我必須回到JQL時,您不能只通過SOAP來執行簡單的JQL查詢嗎? – Anders

回答

1

因爲目前爲止沒有人回答這個問題,所以這裏是我爲JIRA編寫的一些JavaScript的舊副本,讀取自定義字段。

var unitlist_val = $("#unitList_0").val(); 
var errorlist_val = $("#errorList_0").val(); 
var larmlist_val = $("#larmList_0").val(); 

var URL= ""+jira+"/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml jqlQuery=project+%3D+"+problem+ 
     "+AND+%22Symptom+1+-+Component%22+~+%22+"+unitlist_val+"%22+AND+%22Symptom+2+-+State%22+~+%22"+errorlist_val+ 
     "%22+AND+%22Symptom+3+-+alarm%22+~+%22"+larmlist_val+ 
     "%22&tempMax=1000&field=title&field=link&field=customfield_10422&field=customfield_10423&field=customfield_10424&field=customfield_10420&field=resolution&field=customfield_10440"; 

    $.ajax({ 
     type: "GET", 
     url: URL, 
     dataType: "xml", 
     cache: false, 
     beforeSend: function(request) { 
      request.setRequestHeader("Accept", "text/xml; charset=utf-8"); 
     }, 
     success: function(data){ 
      $(data).find("item").each(function(){ 
       // Make sure swedish chars, are handled properly. Append to page first, then get value. 
       var unitList = $("<div/>").html($(this).find("#customfield_10422 customfieldvalue").text()).text().split(","); 
       var errorList = $("<div/>").html($(this).find("#customfield_10423 customfieldvalue").text()).text().split(","); 
       var alarmList = $("<div/>").html($(this).find("#customfield_10424 customfieldvalue").text()).text().split(","); 
       var knownerror = $("<div/>").html($(this).find("#customfield_10420 customfieldvalue").text()).text() || "None"; 
       var resolution = $("<div/>").html($(this).find("resolution").text()).text() || "None"; 
     } 
    }); 

您可能可以在Java中做類似的事情並使用簡單的GET請求。我剪掉了很多代碼,所以有些部分可能會出現語法錯誤。

+0

這看起來像是可以工作的,因爲我可以在瀏覽器中輸入URL,並顯示我想要的東西的xml格式,但是當我嘗試使用URLConnection通過Java執行相同操作時,它不會返回任何節點。有任何想法嗎? – Valyrion

+0

@Slyder,我懷疑這是一個身份驗證問題。看看這個頁面,並查看他們是如何在url中指定用戶名和密碼的 - http://confluence.atlassian.com/display/JIRACOM/Automating+JIRA+operations+via+wget – Anders

+0

它工作正常!你一直很大的幫助,謝謝。 – Valyrion

相關問題