我一直在玩这些参数已经有一段时间了,但我继续得到相同的422验证错误。我正在使用runcope来测试我的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
任何帮助将不胜感激,谢谢!
答案 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"})