Dinghy每日摘要工具
项目描述
Dinghy,一个GitHub活动摘要工具。
Dinghy使用GitHub GraphQL API查找发布、问题和拉取请求上的最近活动,并编写一个紧凑的HTML摘要 如这个。
示例摘要
以下是一个Dinghy摘要的示例,报告了一些PSF仓库:black、requests和PEPs。
入门指南
安装dinghy
$ python -m pip install dinghy
要运行dinghy,您需要一个GitHub 个人访问令牌。您需要分配给它的作用域取决于您将访问哪些仓库。如果您只访问公共仓库,则不需要任何作用域。如果您将访问任何私有仓库,则需要“repo”作用域。创建一个令牌并将GITHUB_TOKEN环境变量定义为
$ export GITHUB_TOKEN=ghp_Y2oxDn9gHJ3W2NcQeyJsrMOez
然后使用GitHub URL运行dinghy
$ dinghy https://github.com/Me/MyProject Wrote digest: digest.html
您将在digest.html中获得仓库上周活动的摘要。它看起来 类似于这样。
您还可以编写一个YAML配置文件以摘要多个来源,或使用不同的时间段
$ dinghy my-dinghy-config.yaml Wrote digest: proj1.html Wrote digest: proj2-daily.html Wrote digest: proj2-weekly.html
额外的参数指定要编写的摘要
$ dinghy my-dinghy-config.yaml proj1.html Wrote digest: proj1.html
配置
帆船配置是从YAML文件中读取的(默认为dinghy.yaml)。以下是一个示例
digests:
- digest: lastweek.html
title: My projects last week
since: 1 week
items:
- https://github.com/orgs/myorg/projects/17
- https://github.com/orgs/anotherorg/projects/8
- https://github.com/myorg/myrepo/pulls
- digest: hotnews.html
title: Today's news
since: 1 day
items:
- url: https://github.com/orgs/anotherorg/projects/8
home_repo: anotherorg/wg
- https://github.com/myorg/churnchurn/issues
- digest: all_prs.html
since: 1 day
items:
- search: org:myorg is:pr
title: MyOrg pull requests
defaults:
ignore_users:
- app-user
- fake-bot
digests子句是一个要生成的摘要列表。 defaults子句设置了文件中其余摘要选项的默认值。每个 digests子句指定了要摘要的内容
digest设置是要写入的HTML摘要文件。
since设置指示要回溯多远以查找活动。它可以使用周、天、小时、分钟和秒等单位,也可以缩写,如 1d6h。使用 since: forever 将包括所有活动,无论其何时发生。如果省略 since,则默认为一周。您可以在dinghy命令行上指定 --since=<SINCE> 来提供一个明确的值。
items设置是一个要报告的事项列表,可以以几种不同的方式指定
url设置是一个GitHub URL,有几种形式
组织项目的URL将报告项目中的问题和拉取请求。您的GitHub令牌需要“read:project”范围。
到仓库的URL将报告仓库中的问题和拉取请求以及发布。
到仓库问题的URL将报告仓库中的问题。
到仓库拉取请求的URL将报告仓库中的拉取请求。
到仓库发布的URL将报告仓库中的发布。
这些URL中的任何一个都可以指向GitHub Enterprise安装,而不是https://github.com。
search设置可以指定一个GitHub搜索查询以查找问题或拉取请求。查询将添加一个 updated:术语以考虑 since:设置。
如果项目只需要指定一个GitHub URL,则它可以是URL字符串。
可选的 title设置将用于构建HTML页面的标题和主要标题。
template设置是用于生成摘要的Jinja2模板文件的名称。默认为“digest.html.j2”,它包含在dinghy中。传递给模板的数据未明确指定;如果您想编写自己的模板,请将其模型建立在内置的digest.html.j2上。
对于GitHub Enterprise,您可以指定 api_root,它是用于构建GraphQL API请求的URL。默认为“https://api.github.com/graphql”。
项目可以具有其他选项
默认情况下,不会报告机器人用户的活动。如果您想包括它们,请使用 include_bots: true。
某些应用程序使用真实用户账户执行操作,但您仍然想忽略它们。您可以在 ignore_users设置中列出应忽略的用户名。
摘要可以设置明确的标题,使用 title设置。
组织项目选项包括
home_repo是最可能创建大多数问题的仓库的所有者/仓库名称。其他仓库中的问题将在摘要中指明仓库。
每日发布
示例摘要使用来自其自己的仓库的GitHub Action每天发布:nedbat/dinghy_sample。您可以将其用作自己发布的起点。
贡献者
感谢所有帮助过的人
Ned Batchelder
Bill Mill
Doug Hellmann
Henry Gessau
Lucas Taylor
Quentin Pradet
Simon de Vlieger
变更日志
未发布
请查看 scriv.d 目录 中的片段文件。
1.3.2 — 2023-09-21
修复
1.3.1 版本中修复忽略 --since 选项时,意外忽略了配置文件中的 since 设置。现已修复,关闭 问题 36。感谢,Lucas Taylor。
1.3.1 — 2023-09-17
修复
当在命令行上使用 URL 时,会忽略 --since 选项。现已修复,关闭 问题 35。
1.3.0 — 2023-07-31
新增
现在可以通过 --since 在命令行上指定 since 日期,这将覆盖 YAML 文件中的任何指定。
since 值可以指定为特定的 ISO 8601 日期或日期时间,关闭 问题 26。
1.2.0 — 2023-01-27
新增
现在您可以在命令行上指定要写入的摘要,这将只选择配置文件中的那些摘要。
修复
如果配置文件中没有 digests: 子句,可能是因为它根本不是 dinghy 配置文件,因此将打印有关此错误的消息。
1.1.0 — 2023-01-25
新增
摘要可以指定 template,一个用于生成摘要的 Jinja2 模板文件。这为其他输出格式(不仅仅是 HTML)打开了可能性。
1.0.0 — 2022-12-03
没有变化,只是决定 Dinghy 已经足够稳定,可以命名为 1.0.0。
0.15.0 — 2022-11-09
新增
在摘要中显示版本。感谢,Simon de Vlieger。
添加了一个新的设置 include_bots: true,这将包括由机器人用户创建的拉取请求、问题或评论。默认值仍为 False,以排除它们。关闭 问题 25。
0.14.0 — 2022-10-25
新增
现在已注册 CLI 命令,您可以使用 dinghy 作为命令而不是 python -m dinghy(尽管这仍然有效)。
现在您可以使用 since: forever 指定包括所有活动,无论它们何时发生。
变更
搜索结果现在始终显示包含项目的存储库。
修复
删除的 GitHub 用户发表的评论会导致崩溃。现已修复(问题 23)。
0.13.4 — 2022-10-06
修复
只有根据其年龄过滤拉取请求上的评论,而不是根据其作者,因此机器人评论和“忽略用户”的评论仍然被包括在内。现已修复。
0.13.3 — 2022-09-29
修复
在拉取请求和问题上的图标悬停提示中的文本与图标的顺序相同,这使得它们更容易理解。
0.13.2 — 2022-08-13
修复
添加一个 HTML <meta> 标签以确保内容被正确解码为 UTF-8。修复 问题 12。感谢,Bill Mill。
0.13.1 — 2022-08-03
修复
在 Windows 上,当完成时会显示一个令人担忧但无害的错误。现已修复,关闭 问题 9。感谢,Carlton Gibson。
0.13.0 — 2022-07-29
删除
删除了已弃用的“pull_requests”设置。
新增
使用 api_root 设置,GitHub Enterprise 用户可以控制要使用的 GraphQL 端点。
变更
适应 2022-06-23 GitHub 问题更新,使用 ProjectsV2 API 而不是 ProjectsNext API。
0.12.0 — 2022-06-12
新增
可以使用 title 选项在单个摘要中添加文本到报告的标题。感谢,Doug Hellmann。
0.11.5 — 2022-06-07
修复
现在已关闭的问题现在区分“完成”和“未计划”。
0.11.4 — 2022-05-10
新增
将 GitHub 中的文本提取应用于 HTML 转义(哎呀!)
表情符号现在以表情符号的形式显示,而不是以文本形式。
0.11.3 — 2022-05-06
修复
GitHub 有时响应“502 网关错误”。如果发生这种情况,请暂停并重试。
0.11.2 — 2022-04-12
新增
添加了 --version 选项。
修复
具有许多审查的拉取请求会跳过一些审查。现在可以完全检索所有拉取请求数据。
在大容量摘要中,GitHub 有时返回 403 作为速率限制。当发生这种情况时,请重试以完成查询。
0.11.1 — 2022-03-29
修复
纠正了一个打包错误(缺少更改日志条目)。
0.11.0 — 2022-03-29
新增
已解决的评论现在用复选框图标表示,并显示“已解决评论”的悬停文本。
修复
修复了尝试获取项目中的问题仓库时崩溃的问题。
0.10.0 — 2022-03-28
变更
拉取请求数据未正确显示:评论未包含在摘要中。
如果需要显示较新评论的讨论线程,则将包含截止日期之前的拉取请求评论。以灰色显示旧评论,以帮助专注于最近的活动。
对时间段的解析现在更加严格,因此“1 个月”不会误认为是“1 分钟”。修复了 问题 7
删除
哎呀,发现根本不存在“项目(beta)”的仓库项目。那个不会工作的事情已经被移除。
0.9.0 — 2022-03-17
新增
支持 GitHub 企业版:您可以使用指向您自己的 GitHub 企业安装的 URL。只能使用单个主机。感谢 Henry Gessau。
配置文件中的“search:”条目将找到与查询匹配的问题或拉取请求。
配置文件中的项可以有 title: 来设置显式标题。
弃用
已弃用 pull_requests: 配置设置,转而使用 search:。 pull_requests: org:my_org 变为 search: org:my_org is:pr。
0.8.0 — 2022-03-16
新增
支持仓库项目。
修复
在某些错误上处理错误失败。现在已修复,关闭 问题 4。
0.7.1 — 2022-03-13
修复
更好地处理授权问题,并显示错误消息,以便用户可以修复它们。
0.7.0 — 2022-03-12
新增
现在,命令行可以接受 GitHub URL,以快速获取仓库(或问题、拉取请求等)一周的活动摘要。
现在可以通过 -v/--verbosity 命令行选项指定日志级别。
修复
现在对依赖项有最小固定,修复了 问题 1。
0.6.0 — 2022-03-10
新增
GitHub 的 @ghost 用户在 GraphQL 结果中显示为“None”的“作者”。正确处理该情况。
修复
修复了标签的颜色。
正确处理正文中 HTML。
0.5.2 — 2022-03-08
变更
对缩进和信息进行了更多 HTML 调整。
0.5.1 — 2022-03-07
变更
调整缩进,使线程结构更清晰。
0.5.0 — 2022-03-03
变更
拉取请求审查现在显示得更紧凑。
0.4.0 — 2022-02-28
新增
仓库 URL 将报告仓库中的拉取请求和问题。
0.3.0 — 2022-02-27
新增
可以将配置文件指定为命令行参数。
GitHub 图标装饰了拉取请求、问题和评论,以区分它们并指示其状态。
变更
配置文件语法已更改。现在有一个顶级 digests 子句和一个可选的 defaults 子句。
原来的 bots 设置现在称为 ignore_users。
拉取请求审查线程以层次结构形式展示。
0.2.0 — 2022-02-21
新增
项目可以具有选项。组织项目有一个 home_repo 选项,以便其他仓库的问题可以获得其他仓库的指示。
可以搜索组织的拉取请求。
如果dinghy遇到GraphQL API速率限制,它将休眠,直到限制重置。
不要报告机器人用户的活动。可以使用 bot 设置列出应被视为机器人的用户账户。
0.1.0 — 2022-02-19
首次发布。
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。
源代码发行版
构建发行版
dinghy-1.3.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e289543509d8895457368adbb53f01ef11520610604a29b55e4ce7b61a580058 |
|
MD5 | dbdde6e61470f0eb70b35b7227a42d70 |
|
BLAKE2b-256 | aa06ace9243545c6cb8fe911c6cc662085c8493818257f581e18a551bb347d47 |
dinghy-1.3.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fef6e81a6b43ad15f4a273c130adb3d9dd9af086f1c62e9e42bb1c937d18f6b8 |
|
MD5 | 720db399f69490ec984607d0ffeb3b1d |
|
BLAKE2b-256 | f82ad6cfd2fe0da7c56a4a1a34ef739dff6eed38909a756e3923d52e3d44819b |