我想在我的工作地點從python訪問jira,我打算做的基本操作是獲取/創建/更新jira問題。我在網上查看了模板代碼,並試圖使用它,但沒有運氣。我已經使用pip安裝了jira api。從python訪問JIRA
pip install jira
#!/usr/bin/python
from jira import JIRA
options = {'server' : 'https://jira.mycompany.com/rest/api/2'}
jira = JIRA(options)
projects = jira.projects()
print (projects)
這是它的輸出:
Traceback (most recent call last):
File "JiraTest.py", line 7, in <module>
jira = JIRA(options)
File "C:\Anaconda3\lib\site-packages\jira\client.py", line 317, in __init__
si = self.server_info()
File "C:\Anaconda3\lib\site-packages\jira\client.py", line 1771, in server_info
j = self._get_json('serverInfo')
File "C:\Anaconda3\lib\site-packages\jira\client.py", line 2172, in _get_json
r = self._session.get(url, params=params)
File "C:\Anaconda3\lib\site-packages\jira\resilientsession.py", line 150, in get
return self.__verb('GET', url, **kwargs)
File "C:\Anaconda3\lib\site-packages\jira\resilientsession.py", line 146, in __verb
raise_on_error(response, verb=verb, **kwargs)
File "C:\Anaconda3\lib\site-packages\jira\resilientsession.py", line 56, in raise_on_error
r.status_code, error, r.url, request=request, response=r, **kwargs)
jira.exceptions.JIRAError: JiraError HTTP 404 url:https://jira.mycompany.com/rest/api/2/rest/api/2/serverInfo
response headers = {'Date': 'Sat, 29 Jul 2017 22:42:31 GMT', 'Content-Length': '0', 'Server': 'Apache-Coyote/1.1'}
response text =
` 我知道我在這裏,所以做錯了什麼這是我要問的事情:
- 如何確定傑拉服務器在你的工作場所。
- jira管理員需要啓用其他api調用還是其他管理員登錄?有沒有辦法確定它是否被我們的代碼禁用?
- 除了通過pip安裝jira以外,還有其他什麼我必須安裝。
- 如何處理登錄憑證。我確信有比在.py文件中指定用戶名/密碼更好的方法。有人可以指點我在哪裏可以找到這些信息。
謝謝。
你是什麼意思「不幸」?你是否有例外?如果是這樣,給我們回溯。目前尚不清楚您所展示的代碼發生了什麼(顯然,我們無法測試您公司的JIRA設置)。 – Blckknght
@Blckknght - 我已經更新了我的帖子及其輸出。我覺得我完全在做錯事,或者在嘗試訪問jira時錯過了一些步驟。 – Singo
我不是JIRA的專家(我用它來報告錯誤,但從來沒有用API進行編程),但是通過錯誤消息中URL的重複部分來判斷,我想你應該離開'/ rest/api/2'部分超出了你在'options'字典中的值。 – Blckknght