create_hook验证错误422

时间:2014-09-29 18:55:37

标签: python github3.py

我一直在玩这些参数已经有一段时间了,但我继续得到相同的422验证错误。我正在使用runco​​pe来测试我的webhook是否有效。

url_path = "https://k1lavjuzlcvj.runscope.net"

repo.create_hook(name="testhook",config={"url":url_path, "content_type":"json"})

这是我从此次调用中收到的堆栈输出

09-29 13:35 github3      DEBUG    POST https://github.umn.edu/api/v3/repos/umn-csci-2041F14/testbalas/hooks with {"name": "testhook", "active": true, "config": {"content_type": "json", "url": "https://k1lavjuzlcvj.runscope.net"}, "events": ["push"]}, {}
09-29 13:35 requests.packages.urllib3.connectionpool DEBUG    "POST /api/v3/repos/umn-csci-2041F14/testbalas/hooks HTTP/1.1" 422 113
09-29 13:35 logger       ERROR    Failure while setting hook for testbalas:
Traceback (most recent call last):
  File "./createurlhooksbyuid", line 107, in <module>
    repo.create_hook(name="testhook",config={"url":args.url, "content_type":"json"})
  File "/Users/nate/Git-Projects/administration/dependencies/github3.py/github3/decorators.py", line 38, in auth_wrapper
    return func(self, *args, **kwargs)
  File "/Users/nate/Git-Projects/administration/dependencies/github3.py/github3/repos/repo.py", line 613, in create_hook
    json = self._json(self._post(url, data=data), 201)
  File "/Users/nate/Git-Projects/administration/dependencies/github3.py/github3/models.py", line 100, in _json
    if self._boolean(response, status_code, 404) and response.content:
  File "/Users/nate/Git-Projects/administration/dependencies/github3.py/github3/models.py", line 121, in _boolean
    raise GitHubError(response)
github3.models.GitHubError: 422 Validation Failed

任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:2)

我有机会测试这个。如果你检查从GitHub收到的回复,你会看到以下内容:

>>> e.response.json()
{u'documentation_url': u'https://developer.github.com/v3/repos/hooks/#create-a-hook', u'message': u'Validation Failed', u'errors': [{u'field': u'name', u'code': u'invalid', u'resource': u'Hook', u'value': u'requestbin'}]}

如果您再仔细回顾documentation,您会看到示例钩子的名称是“web”。当我将钩子的名称更改为"web"时,钩子创建起作用。

要明确,要解决此问题,请将create_hook来电更改为:

repo.create_hook(name="web",config={"url":url_path, "content_type":"json"})