我有一个函数向JIRA REST API发出GET请求以下拉JIRA票证的JSON对象。
它使用请求模块。但我不想再使用它,因为任何时候我想让别人运行我的脚本,他们需要跳过火热的箍来获取请求模块,因为他们是公司代理的背后他们没有是时候投入额外的工作了。
因此,我不是要求别人做某事他们没有耐心或时间去做,而是更愿意用其他东西替换请求模块,这样这个脚本就更不合适了。 - 盒子解决方案。
这就是我现在所拥有的:
import requests
import pprint
def pull_jira_info(jira, user, pw, url):
"""
Arguments:
jira - the JIRA issue number
url - the first part of the JIRA server url
user - JIRA username
pw - JIRA password
"""
url += '/rest/api/2/issue/' + jira
r = requests.get(url, auth=(user, pw), verify=False)
jira_info = r.json()
pprint.pprint(jira_info)
return jira_info
我的猜测是我可以将请求模块与一些其他模块(内置于python中)进行简单交换,该模块可以执行GET请求而无需更改太多代码。
有没有人有一个简单的要求,这不是请求模块?在我当前的函数中实现它会是什么样的?
答案 0 :(得分:1)
这是我想出的。它完美无缺!
import base64
import json
import pprint
import urllib2
def auth_str(user, pw):
"""
Arguments:
user - (Required) jira username
pw - (Required) jira password
"""
auth = base64.b64encode('%s:%s' % (user, pw))
return auth
def pull_jira(jira, user, pw, url):
"""
Arguments:
jira - (Required) jira issue number
user - (Required) jira username
pw - (Required) jira password
url - (Required) jira server url
"""
url += '/rest/api/2/issue/' + jira
r = urllib2.Request(url)
r.add_header('Authorization', 'Basic %s' % auth_str(user, pw))
r.add_header('Content-Type', 'application/json')
r.get_method()
jira_data = json.load(urllib2.urlopen(r))
pprint.pprint(jira_data)
return _data
是的,有一些我可以做的事情来清理它,但我只是想继续发布一个工作更新,显示我如何用urllib2替换了请求模块。
答案 1 :(得分:0)
您可以使用原生Python var arr = [
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
[1, 3, 3, 4, 5, 6, 7, 8, 9, 12],
[1, 2, 3, 4, 5, 6, 7, 8, 9, 12],
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12],
[1, 2, 3, 4, 5, 6, 7, 8, 9, 11],
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12],
];
function sortNumericArrays(a, b){
var i, l = a.length > b.length ? a.length : b.length, result = 0;
for(i = 0; i < l; i++){
if(undefined === a[i]){
result = -1;
i = l;
}else if(undefined === b[i]){
result = 1;
i = l;
}else if(a[i] !== b[i]){
result = a[i] - b[i];
i = l;
}
}
return result;
}
console.log(arr.sort(sortNumericArrays));
:What is the quickest way to HTTP GET in Python?。
但我建议设置一个内部Python包存储库:https://packaging.python.org/guides/hosting-your-own-index/。这将允许您使用任何所需的包,包括JIRA Python包:https://github.com/pycontribs/jira