最近,我一直在尝试使用pyGithub来创建一些自动PRs,使用这个片段在一堆make update中运行了一个make update。
body = 'Test PR 2 please ignore'
pr = repo.create_pull(title="Test PR please ignore",
body=body,
head="patch/helm-chart-update",
base="master")
pr我一直从API中得到这个错误消息
github.GithubException.GithubException: 422 {"message": "Validation Failed", "errors": [{"resource": "PullRequest", "field": "head", "code": "invalid"}], "documentation_url": "https://developer.github.com/v3/pulls/#create-a-pull-request"}
当然,我的第一个猜测是我输入了回购的名字,但事实并非如此。奇怪的是,当我将头名替换为一个不存在的分支名时,我会得到一个相同的错误,比如“某某大块头”。
接下来,我想可能有关于PR的冲突或其他无效的细节(尽管由于我所使用的测试分支的简单性,这是极不可能的),但是Github创建了PR,没有任何问题。
最终,我能够使用https://pypi.org/project/git-pull-request/进行公关,但不幸的是,我没有办法避免它在shell中打开vim (这将造成大量的劳累,因为这将运行的数量)。如果所有这些都失败了,我很可能只会使用请求对Github进行手动调用,但我非常希望使用pyGithub,这既可以保持代码的简单/可维护性(因为我已经使用这个库来搜索目标repos并将它们克隆到/tmp中),而且因为它通常看起来是一个很好的工具,我很想学着很好地使用它。
很抱歉,由于问题的性质,这不是最可复制的,但我很乐意详细说明。有什么想法吗?
更新
在使用requests调用实现此功能之后,我通过这个职位了解到,如果使用'params‘参数进行调用以将json对象传递给POST请求而不是'json’参数,则会得到相同的错误代码。开始怀疑窃听器,但我希望被证明是错误的
发布于 2021-11-13 06:11:15
如果你有这个错误。您可能需要检查请求的参数。例如:我希望通过API: repo.get_issues(state='close')获得问题。事实上,参数没有“关闭”值,正确的值是“关闭”,正确的选项是“打开”/“关闭”/“全部”。
https://stackoverflow.com/questions/61897329
复制相似问题