使用OAuth通过使用Python的代理服务器对Jira REST API进行身份验证

时间:2019-03-28 22:04:47

标签: python curl proxy jira airflow

由于我公司的代理设置,在使用OAuth凭据通过虚拟机连接到JIRA Server API时遇到了麻烦。

我能够通过OAuth进行身份验证并在本地运行脚本,而不会出现问题。

我还在cURL(如下)中测试了此脚本的一个版本,该版本可以正常工作,尽管它不符合我公司的安全标准,因为它使用的是简单身份验证。

JIRA文档没有提供任何帮助,并且在Atlassian论坛或StackOverflow上没有找到解决该特定问题的任何解决方案。

实例化JIRA对象:

jira_options={'server': 'https://jira.domain.com'}

oauth_dict = {
'access_token': access_token,
'access_token_secret': access_token_secret,
'consumer_key': consumer_key,
'key_cert': key_cert_data
}

jira = JIRA(options=jira_options, oauth=oauth_dict)

这是具有简单验证功能的CURL:

curl --noproxy “*” -o /usr/local/airflow/data/jira_input.json -D- -u ‘+jira_client_email+‘:’+jira_client_key+' -X GET -H “Content-Type: application/json” “https://jira.domain.com/rest/api/2/search?jql=project=CC&updatedDate=-3d&startAt=0&maxResults=3000”

我希望输出返回JIRA对象,并允许我的程序访问JIRA的API。

我得到的实际输出是以下错误消息:

[2019-03-27 15:03:23,907] {bash_operator.py:94} INFO - WARNING:root:HTTPSConnectionPool(host='jira.domain.com', port=443): Max retries exceeded with url: /rest/api/2/serverInfo (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f6e45ca5898>: Failed to establish a new connection: [Errno 110] Connection timed out',)) while doing GET https://jira.domain.com/rest/api/2/serverInfo [{'params': None, 'headers': {'User-Agent': 'python-requests/2.18.4', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json,*.*;q=0.9', 'Connection': 'keep-alive', 'Cache-Control': 'no-cache', 'Content-Type': 'application/json', 'X-Atlassian-Token': 'no-check'}}]

0 个答案:

没有答案