0

我一直在玩参数一段时间,但我继续得到相同的 422 验证错误。我正在使用 runscope 来测试我的 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

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

4

1 回答 1

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'}]}

如果您再仔细查看文档,您会看到示例挂钩的名称是“web”。当我将钩子的名称更改为 时"web",钩子创建工作。

需要明确的是,要解决此问题,请将您的create_hook调用更改为:

repo.create_hook(name="web",config={"url":url_path, "content_type":"json"})
于 2014-09-30T01:43:12.097 回答