使用python从bugzilla获取bug

时间:2017-10-03 18:58:35

标签: python bugzilla

我正在尝试从bugzilla rest API获取bug。我的代码如下。

import requests
import json

URL = "https://bugzilla.mozilla.org/rest/"

API_KEY = "key"

headers = {"Content-type": "application/json"}
params = {
              "username": "email",
              "password": "password",
              "apikey": API_KEY,
          }

# r = requests.get(URL + 'login/', headers = headers, params = params)
# print(r)

resp = requests.post(URL + "bug/" , headers = headers, params = params)


if resp.status_code != 200:
    print('error: ' + str(resp.status_code))
else:
    print('Success')
    print(resp)

当我尝试这个时,我得到了响应404.

有人请指引我走正确的道路。

1 个答案:

答案 0 :(得分:0)

经过追赶https://resttesttest.com/后,我找到了答案。 Bugzilla API只能通过API-KEY进行身份验证。所以我从params dict中删除了用户名和密码。似乎我在连接URL时也有错误。我只是用“https://bugzilla.mozilla.org/rest/bug/35”来获取bug_id 35的bug报告。然后json.load(resp.text)给出了bug报告的json对象。最终代码如下所示。

import requests
import json

URL = "https://bugzilla.mozilla.org/rest/bug/35"

API_KEY = "key"

headers = {"Content-type": "application/json"}
params = {
              "apikey": API_KEY,
          }

resp = requests.get(URL , headers = headers, params = params)


if resp.status_code != 200:
    print('error: ' + str(resp.status_code))
else:
    print('Success')
    print(json.loads(resp.text))