问题描述
我正在使用Pygithub尝试创建请求请求。
# push branch
cmd = ["git","push","origin","HEAD:refs/heads/my-branch"]
subprocess.run(cmd,check=True)
...
# then create PR
repo = client.get_repo(MY_GITHUB_REPO)
repo.create_pull(title=title,body=body,head=my-branch,base="master")
我得到了他的例外
github.GithubException.GithubException: 422 {"message": "Validation Failed","errors":
[{"resource": "PullRequest","code": "custom","message": "not all refs are readable"}],"documentation_url": "https://docs.github.com/rest/reference/pulls#create-a-pull-request"}
我检查了Github上存在的分支,但出现此异常。
我尝试在git fetch origin
之前运行repo.create_pull()
,但是错误仍然存在。我不确定该如何解决。
解决方法
422 无法处理的实体 表示 missing_field 资源上的必填字段尚未设置。 https://docs.github.com/en/rest/overview/resources-in-the-rest-api#client-errors
或者像这个问题解释 您正在推送我们仅用于 PR 元数据的 ref。 这也是您没有获得权限被拒绝区域的原因,因为 PR 引用位于您有权访问的存储库中,即使 PR 所基于的分支不是。