我试图在我的工作场所从python访问jira,我打算做的基本操作是获取/创建/更新jira问题。我在网上查看了模板代码,并尝试使用它,但没有运气。我已经使用pip安装了jira api。
a.nav-link{
display: block;
}
这是它的输出:
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)
` 我知道我在这里做错了,所以这就是我想问的问题:
感谢。
答案 0 :(得分:0)
我不确定您正在使用的jira-python客户端的版本,但是为了实例化JIRA对象,您不会在“options”参数中传递服务器(并且您肯定不会放置路径到REST api)。根据文件:
class jira.JIRA(server=None, options=None, basic_auth=None, oauth=None, jwt=None, kerberos=False, validate=False, get_server_info=True, async=False, logging=True, max_retries=3, proxies=None, timeout=None)
所以你的实例化应该是这样的:
from jira.client import JIRA
jira = JIRA('https://jira.mycompany.com')
如果您需要验证,那么它将是:
jira = JIRA('https://jira.mycompany.com', basic_auth=(username, password))
答案 1 :(得分:0)
要确认您拥有正确的JIRA服务器,请浏览到根URL https://jira.mycompany.com并确保您可以看到登录屏幕并登录(这也确认您的用户名和密码也可用)。
必须先启用对JIRA REST API的访问,然后才能使用它。要测试它,请尝试使用curl与它进行通信,例如:
curl -u "username:password" -X GET -H "Content-Type: application/json" https://jira.mycompany.com/rest/api/2/issue/KEY-666
只要Python可以使用GET和POST与服务器通信,您就不需要任何其他内容。
对于用户名和密码,我只需要在命令行中询问脚本,并提供不显示密码的说明。我使用node.js,但我确信Python有类似的东西。或者将它们保存在脚本读入的单独文件中,但请确保您永远不要检查该文件!
答案 2 :(得分:0)
服务器URL不应包含REST端点,它是python-jira自动添加的。
如果检查得到的错误,则会看到剩余路径列出了两次,这就是为什么得到404的原因。
因此,将您的代码更改为:
#!/usr/bin/python
from jira import JIRA
options = {'server' : 'https://jira.mycompany.com'}
jira = JIRA(options)
projects = jira.projects()
print (projects)
应该可以解决问题。
如果还有其他问题,请告诉我。