簡體   English   中英

嘗試發布到JIRA問題時出現400錯誤

[英]400 Error while trying to POST to JIRA issue

我試圖將JIRA問題中的'transition'屬性設置為完成(根據文檔,該屬性為10000)。 根據文檔,此錯誤是“如果未指定轉換”。

我還使用了?expand = transitions.fields來驗證10000是否完整。

使用這些文檔https://docs.atlassian.com/jira/REST/latest/#api/2/issue-doTransition https://jira.atlassian.com/plugins/servlet/restbrowser#/resource/api-2- issue-issueidorkey-transitions / POST

這是我的要求

url = 'http://MYURL/rest/api/2/issue/ISSUE-ID/transitions'
payload1 = open('data3.json', 'r').read()
payload = json.loads(payload1)
textFile = requests.post(url, auth=('username', 'password'), json=payload)

我的data3.json文件中的內容是

{
"transition": 10000
}

編輯:我也將JSON更改為此,並得到500錯誤

{
"transition": {
    "id": "10000"
   }
}

我得到的錯誤

{"errorMessages":["Can not instantiate value of type [simple type,classcom.atlassian.jira.rest.v2.issue.TransitionBean] from JSON integral number;no single-int-arg constructor/factory method (through reference chain:com.atlassian.jira.rest.v2.issue.IssueUpdateBean[\"transition\"])"]}400

我非常有信心我的問題在我的json文件中,因為我多次在此代碼段上方的代碼中使用GET,但我可能是錯的。

可能的原因-https://jira.atlassian.com/browse/JRA-32132

我相信我遇到的問題是一個流程流。 我不能從我的問題開始跳到“完成”。 但是,我可以從創建的問題轉到“完成”。

{
"transition": {
    "name": "Done",
    "id": "151"
    }
}

因為這滿足了我的需要,所以我將使用它。 如果我找到完成票的方法,我會回發。

另外,我認為我們自定義JIRA的事實導致我將“完成”作為有效過渡,即使事實並非如此。

是的,您說對了JSON是錯誤的,因為值不是數字,字符串,對象或數組,所以它甚至都不是有效的json。 醫生說:

可以使用/rest/api/2/issue/{issueIdOrKey}/transitions?expand=transitions.fields資源來確定可以在字段參數或更新參數中進行轉換的字段。

因此,您需要在/rest/api/2/issue/{issueIdOrKey}/transitions?expand=transitions.fields上執行get請求以獲取可能值的列表,然后在json中進行設置

{
 "transition": {
     "id" : "an_id_from_response"
 }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM