2012-07-06 108 views
0

基礎領域,我與吉拉SOAP API的工作,我已經成功地從一個問題去閱讀和創造新的問題。但是,我更新已存在問題的字段時遇到問題。我對字段進行了更改,但在程序停止運行後它們不會保留。更新與吉拉SOAP API

我知道,使用的方法是有可能的updateIssue(...)方法,但我一直無法用它來嘗試,因爲我不知道該怎麼傳遞的最後一個參數。我查看了文檔,但不明白RemoteFieldValue []是什麼。

是否有人可以告訴我怎麼可以創建一個RemoteFieldValue [],我可以傳遞給updateIssue方法以更新像摘要,描述等基本領域?

謝謝!

+0

順便說一下,我看到了有關如何更新自定義字段的代碼示例。我認爲如果我知道字段鍵用於非自定義字段,我的問題就會得到解決。我知道對於自定義字段,您可以設置密鑰然後使用它們。但是,我如何找到標準領域的關鍵價值? – 2012-07-06 18:50:25

+0

您使用哪種語言編寫SOAP請求? – 2012-07-08 22:14:16

+0

我在Visual Studio中使用c#。 – 2012-07-09 16:00:21

回答

2

更新使用吉拉SOAP,你需要使用updateIssue()(如您懷疑)基本領域。

updateIssue(java.lang.String token, java.lang.String issueKey, RemoteFieldValue[] actionParams) 

RemoteFieldValue構造函數有兩個參數:fieldID和newFieldValues

public RemoteFieldValue(java.lang.String fieldID, 
         java.lang.String[] newFieldValues) 

凡fieldID爲標準字段是字段( 「摘要」, 「描述」,等)

的名稱這裏是一個例子:

List<RemoteFieldValue> actionParams = new List<RemoteFieldValue>(); 

RemoteFieldValue description = new RemoteFieldValue { 
    id = "description", 
    values = new string[] { "here is new description" } }; 

actionParams.Add(description); 

jiraSoapService.updateIssue(token, issueKey, actionParams.ToArray()); 
+0

非常感謝這個 - 它沒有進一步的問題。如果您傾向於,可否告訴我如何使用progressWorkFlowAction方法更改問題的狀態?我覺得代碼必須是類似的,但即使看到這些,我也無法使它工作。 progressWorkFlowAction方法的actionParams與updateIssue不同嗎?那麼如果我只想改變狀態而沒有其他的東西,我就不能傳遞null了。再次感謝上面的幫助,如果你認爲我上面的地位問題應該是一個不同的問題完全,讓我知道,我將創建一個新的問題。 – 2012-07-10 00:05:50

+0

狀態過渡可能允許編輯某些字段(取決於你有吉拉的工作流程)。其中一些字段可能是必需的。因此,progressWorkflowFlowAction方法中的actionParams是您可以在手動過渡Jira問題時從屏幕編輯的那些字段。如果沒有必要的轉換字段,則可以將action作爲actionParams傳遞給null。 – 2012-07-10 00:13:24