通过Python请求将问题发布到Bitbucket

时间:2016-11-28 20:40:00

标签: python django python-requests bitbucket

我试图通过他们的api向bitbucket发布问题。如果我理解正确,我似乎可以使用基本身份验证路由而不是OAuth。但是,在发出请求时,当 print(r.status_code)运行时,我会在终端中获得400代码。问题似乎出现在json(我怀疑)或身份验证中。

我在django项目中运行它,我的代码如下:

views.py

if request.method == "POST":
    getUser = request.user
    form = IssueForm(request.POST)

    if form.is_valid():

        data = {"priority": "major", "title": "title", "kind": "bug", "content": "content"} 

        headers = {'Content-Type': 'application/json',}
        r = requests.post('https://api.bitbucket.org/1.0/repositories/{my_username}/{my_repo}/issues/', headers=headers, json=data, auth=({username},{password}))
        print(r.status_code)

        return HttpResponseRedirect("/main/")

    else:
        form = IssueForm()


    context = {
        "form": form,
    }

    return render(request, "issue_form.html", context)

发布问题可能不允许进行基本身份验证,而OAuth是必要的吗?但是,我没有找到任何已经指明的文件。或者也许有办法在Django中通过python请求实现OAuth1?

相应填写用户名,回购和密码。任何帮助将不胜感激。

修改

取出auth =({username},{password})并获得401而不是400错误。他们似乎是数据有问题,但我不太清楚&# 39;数据格式错误。任何进一步的帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

阅读总能帮到孩子们。我能够安装BitBucket-API并在本文档的帮助下使用它来发布我的问题。

https://media.readthedocs.org/pdf/bitbucket-api/latest/bitbucket-api.pdf

代码最终看起来像: bb = Bitbucket('username', 'password', repo_name_or_slug="REPOSLUG") success, result = bb.issue.create( title=u'title', content=u'content', responsible=bb.username, status=u'new', kind=u'kind')