从 python 访问 JIRA

2024-10-01 11:25:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的工作场所从python访问jira,我打算做的基本操作是获取/创建/更新jira问题。我在网上查看了模板代码,并试图使用它,但没有运气。我已经用pip安装了jiraapi。在

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)

这是它的输出:

^{pr2}$

在` 我知道我做错了什么,所以我想问:

  • 如何在您的工作场所确定jira服务器。在
  • jira管理员是否需要从管理员登录启用restapi调用或其他功能?有没有一种方法可以确定它是否从我们的代码中被禁用?
  • 除了通过pip安装jira之外,还有什么需要我安装的吗。在
  • 如何处理登录凭据。我确信有比在.py文件中指定用户名/密码更好的方法。有人能告诉我在哪里能找到那个信息吗。在

谢谢。在


Tags: installpip方法代码模板usr管理员jira
2条回答

我不确定您使用的是哪个版本的jira python客户机,但是要实例化一个jira对象,您不需要在“options”参数内传递服务器(而且您绝对不会将路径放入restapi)。根据文件:

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)

所以你的实例化应该是:

^{pr2}$

如果需要验证,则它将是:

jira = JIRA('https://jira.mycompany.com', basic_auth=(username, password))

要确认您拥有正确的JIRA服务器,请浏览到根URL https://jira.mycompany.com,并确保您可以看到登录屏幕并登录(这也确认了用户名和密码的有效性)。在

必须先启用对JIRA restapi的访问,然后才能使用它。要测试它,请尝试使用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与服务器通信,就不需要其他任何东西。在

对于username和password,我只需要在命令行中使用一条不显示密码的指令来询问脚本。我使用节点.js但我相信Python也有类似的东西。或者将它们保存在脚本读入的单独文件中,但请确保永远不要签入该文件!在

相关问题 更多 >