问题标签 [pygithub]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
85 浏览

github - Python 库 PyGithub 在生产级项目中的可用性

只是想知道使用PyGithub是否是个好主意。

我不是在征求意见。我学到的是,在使用任何图书馆之前,我们应该寻找的最重要的事情之一是图书馆拥有的(社区/组织)的支持。

只是通过查看它的 GitHub 页面底部的注释(https://github.com/PyGithub/PyGithub)感到好奇和怀疑,上面写着:

维护权

我们正在积极寻找能够对问题进行分类、拉取请求和削减发布的维护者。如果您从事一个利用 PyGitHub 的项目,并且对保持代码的活力和良好有既得利益,请向 MAINTAINERS 文件中的某人发送电子邮件。

这个要求似乎很谦虚。看起来这个库没有足够的维护者。

我知道人们可能会在个人项目中使用这个库,但是任何组织(你知道的)是否在生产级项目中使用它。

我已经尽力不听起来像是在征求意见。请让我知道是否可以改进此 OP。

0 投票
2 回答
2113 浏览

python - 使用 PyGitHub 读取 GitHub 中的文件内容

假设“sample.txt”文件位于“Demo”存储库 [Demo/sample.txt] 下的 GitHub 中。如何使用PyGitHub读取sample.txt的内容,而不是从 API 中获取?

否则,我们是否有其他包来读取此类文件内容?

0 投票
0 回答
596 浏览

python - pygithub - 接收特定分支的所有提交

我正在使用 pygithub 来分析存储库并迭代存储库的所有提交。但是我怎样才能为每个提交提取相应的分支呢?

非常感谢您的帮助!

塞巴斯蒂安

0 投票
0 回答
2702 浏览

python - GitCommandError:Cmd('git')失败,原因是:退出代码(1),pygithub

我正在尝试自动化克隆过程,将一些文件添加到本地克隆,然后将更新推送到克隆的存储库。我希望这段代码能够将我的提交推送到 GitHub 中的克隆存储库,但是当我尝试推送时,我不断收到此错误。

我的代码

错误读数

我尝试将不同的参数传递给 push 方法,但我仍然得到同样的错误。如果有一个..被添加到提交中,我真的不确定为什么会发生这种情况,也不知道我能做些什么。

0 投票
1 回答
262 浏览

python - AttributeError:“_pygit2.Reference”对象没有属性“get_object”

我正在尝试自动执行在我的遥控器中创建和克隆存储库的任务,当我运行以下代码时,似乎我尝试使用的方法可能已被弃用。什么是替代方法?

输出

0 投票
3 回答
1472 浏览

python - pyGithub 拉取请求无效头部(422 API 错误)

最近,我一直在尝试使用 pyGithubmake update在使用此代码片段运行一堆 repos 之后创建一些自动化 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"}

当然,我的第一个猜测是我打错了 repo 名称,但事实并非如此。奇怪的是,当我用不存在的分支名称(如“someGarbage”)替换头名称时,我得到了一个相同的错误。

接下来,我认为 PR 可能存在冲突或其他无效细节(尽管由于我正在使用的测试分支的简单性,这极不可能),但 Github GUI 创建 PR 时没有任何问题。

最终,我能够使用https://pypi.org/project/git-pull-request/进行 PR ,但不幸的是,我看不到避免它在 shell 中打开 vim 的方法(这会产生很多由于这将运行的 repos 数量而辛苦)。如果一切都失败了,我很可能只使用请求来手动调用 Github API,但我真的很想使用 pyGithub,以保持代码简单/可维护(因为我已经使用库来搜索目标 repos 并将它们克隆到 /tmp 中),因为它通常看起来是一个不错的工具,我想学习使用它。

抱歉,由于问题的性质,这不是最可重现的,但我很乐意详细说明细节。有什么想法吗?

更新

在使用requests调用实现此功能后,我通过这篇文章了解到,如果您使用“params”参数进行调用以将 json 对象而不是“json”参数传递给 POST 请求,则会得到相同的错误代码。开始怀疑一个错误,但我很想被证明是错误的

0 投票
1 回答
46 浏览

python - Python读取字符串对象并搜索格式

我正在使用 pyGithib 库查看 github 存储库中所有以 *.rb 结尾的文件的内容,使用该库我得到一个这种格式的字符串

使用正则表达式,我如何获得在多行之后desc以及versionconfig块之后包含的字符串的值

0 投票
1 回答
182 浏览

python - PyGithub:如何使用 get_repositories 搜索多个主题

使用 PyGithub,我正在尝试使用多个主题搜索 github 存储库。

这适用于一个主题:

但是如何添加其他人?我试过“topic:topicname1+topic:topicname2”,但这似乎不起作用。添加多个主题参数也不起作用。

0 投票
0 回答
198 浏览

python - 无法使用 PyGithub/PullRequest.create_review() 创建多行评论

我正在尝试通过使用 PyGithub/PullRequest.py 中定义的 create_review() 函数将它们发布到拉取请求中来自动化向学生报告自动化测试结果的工作流程。这是我的简单代码片段:

这将产生以下输出:

输出显示存储库和拉取请求都存在 - 并且评论输入预计是一个列表,它是......

我很难过......并且会感激地接受任何指导。

更新@下午 4 点 34 分:

我发现 create_review 期望评论是评论对象列表,而不是字符串列表。这些包括文件的路径、文件中的行位置,然后是正文。我知道使用 create_review_comment() 创建评论对象,但是由于路径无效而失败...

0 投票
0 回答
433 浏览

python-3.x - PyGitHub:理解速率限制和管理请求数量

问题

当我使用 PyGitHub 时,我超过了 GitHub API 速率限制——但在我使用准系统 HTTP 请求时没有。

这很奇怪,因为我的自定义客户端可以在 ≈500 个请求中获得我需要的内容,而 PyGitHub 超过 5000 个以获得相同的结果。

5k 请求/小时

我的应用程序使用带有个人访问令牌的基本身份验证。

关于速率限制的GitHub API 文档说我每小时有 5k 个请求用于经过身份验证的请求。

对于使用基本身份验证或 OAuth 的 API 请求,您每小时最多可以发出 5000 个请求。无论是使用基本身份验证还是 OAuth 令牌,经过身份验证的请求都与经过身份验证的用户相关联。

操作

要点是扫描我组织中的所有存储库,按主题过滤,并下载特定目录。

这是我如何使用自定义客户端执行此操作的伪代码。这可以在约 500 个请求中完成(扫描约 10k 存储库并从其中约 10 个中下载目录)。

这是使用 PyGitHub超过速率限制的类似方法。