Python urllib2 request Gitlab API

API访问Gitlab与Github请求的header是不一样的
Gitlab的header需写作:
GIT_TOKEN_HEADER = {'PRIVATE-TOKEN': GIT_PRIVATE_TOKEN}  # GITLAB header format

另外Gitlab返回的结果是分页的,所以需在请求中指定分页的页数,与每页的结果条数。其中后者的最大值为100,设多了无效:
GIT_OPENAPI_POSTFIX = 'repository/tree?ref=master&per_page=100'

请求:
# unified the usage of request urldef common_req(req_url_param, req_data_param, req_header):
    req_url = urllib2.Request(req_url_param, req_data_param, req_header)
    return req_url

例子:
git_openapi_req = common_req(git_openapi_api_url, data_param, GIT_TOKEN_HEADER)
 
try:
    rsp = urllib2.urlopen(git_openapi_req)
    rsp_o = json.load(rsp)
    logging.debug(rsp_o)

except urllib2.HTTPError as rsp_err:
    logging.warn(rsp_err) 




评论

此博客中的热门博文

Windows上调试C/C++程序时自动产生coredump的设置方法

利用Gitlab的Jira issue tracker实现Jira issue自动根据Gitlab commit/merge更新状态

go用xorm去update数据库的一个坑