Python urllib2 request Gitlab API
API访问Gitlab与Github请求的header是不一样的
Gitlab的header需写作:
另外Gitlab返回的结果是分页的,所以需在请求中指定分页的页数,与每页的结果条数。其中后者的最大值为100,设多了无效:
请求:
例子:
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)
评论
发表评论