2014-09-29 67 views
0

我一直在玩一段时间的参数,但我仍然得到相同的422验证错误。我正在使用runscope来测试我的webhooks是否工作。create_hook验证错误422

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

我刚刚有机会对此进行测试。如果您检查从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"时,钩子创建工作。

要清楚,要解决这个问题改变你create_hook呼吁:

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

这是正确的,谢谢! – nbalas 2014-09-30 15:36:16

+0

不客气!对不起,我没有注意到它/在将它推到这里之前对它进行了测试。对我来说应该是更明显的了 – 2014-09-30 18:49:45