lan*_*ord 1 python authentication rest jira jira-rest-api
在 Python 中,我曾经能够使用一段简单的代码在 REST 上通过 JIRA 进行身份验证:
from jira import JIRA
my_JIRA_username = 'my_name'
my_JIRA_pass = 'my_password'
server = {'server': 'https://my_site.atlassian.net'}
jira = JIRA(server, basic_auth = (my_JIRA_username, my_JIRA_pass))
Run Code Online (Sandbox Code Playgroud)
然后能够做一些简单的事情,比如:
my_issue = jira.issue('MYISSUE-1')
print my_issue.key
Run Code Online (Sandbox Code Playgroud)
但是 JIRA 已经改变了一些事情,我猜不再允许通过 REST API 进行这样的基本身份验证。相反,我收到了 401 错误。
我厌倦了创建 API 令牌,如下所示:https : //confluence.atlassian.com/cloud/api-tokens-938839638.html 除非我不知道在哪里使用它(如果我只是使用它就不起作用)作为密码,就像上面的代码一样)。
我研究了 OAuth 作为替代方案,但我找不到任何从 A 点到 B 点对我有意义的代码。
相反,我找到了这样的东西:https : //bitbucket.org/atlassianlabs/atlassian-oauth-examples/src/master/python/app.py
这对我来说是纯粹的胡言乱语。不可能那么复杂!
任何人都可以帮助一个简单的 jira-python 示例,该示例使用基本身份验证以外的其他内容从初始化移动到简单的 REST 调用?
将不胜感激!我有几个月的工作现在毫无用处,因为我无法再进行身份验证。
此外,如果您能解释如何以及何时使用 JIRA 允许您在其云实例上生成的 API 令牌,那将不胜感激,因为我也不明白!
小智 5
由于在基本身份验证中已经不推荐使用密码,因此将使用 API 令牌代替它(正如您偶然发现的那样)。在你的代码需要使用email的地方username和apiToken,而不是密码。在你的代码中它应该是
# jira = JIRA(server, basic_auth = (my_JIRA_username, my_JIRA_pass))
jira = JIRA(server, basic_auth = (email, apiToken))
Run Code Online (Sandbox Code Playgroud)
尝试一下,并告诉我们它是如何进行的。
| 归档时间: |
|
| 查看次数: |
3050 次 |
| 最近记录: |