跳到主要内容

每周项目:Jasper

·5 分钟阅读

本周我们采访了 Jasper 的创建者,Jasper 是一款基于 Electron 的 GitHub 通知管理工具。


你好! 你是谁?

我是 Ryo Maruyama,一位来自日本的软件开发者。 我正在开发 JasperESDoc

什么是 Jasper?

Jasper 是一款灵活而强大的 GitHub 问题阅读器。 它支持 github.com 和 GitHub Enterprise 上的 issue 和 pull request。

Jasper App Screenshot

你为什么制作它?

当人们在工作或 OSS 活动中使用 GitHub 时,他们每天都会收到许多通知。 作为订阅通知的一种方式,GitHub 提供了电子邮件和 Web 通知。 我使用了这些几年,但我遇到了以下问题

  • 很容易忽略提到我、我评论或我正在关注的 issue。
  • 我把一些 issue 放在脑海中稍后查看,但我有时会忘记它们。
  • 为了不忘记 issue,我在浏览器中保持打开许多标签页。
  • 很难检查所有与我相关的 issue。
  • 很难掌握我团队的所有活动。

我花费了大量时间和精力来防止这些问题,所以我决定为 GitHub 制作一个 issue 阅读器来有效地解决这些问题,并开始开发 Jasper。

谁在使用 Jasper?

Jasper 被几家使用 GitHub 的公司的开发人员、设计师和经理使用。 当然,一些 OSS 开发人员也在使用它。 甚至 GitHub 的一些人也在使用它!

Jasper 是如何工作的?

配置 Jasper 后,会出现以下屏幕。 从左到右,您可以看到“流列表”、“issue 列表”和“issue 正文”。

Jasper Start Screen

这个“流”是 Jasper 的核心功能。 例如,如果您想查看“分配给 electron/electron 仓库中 @zeke 的 issue”,您可以创建以下流

repo:electron/electron assignee:zeke is:issue

Jasper Start Screen 2

创建流并等待几秒钟后,您可以看到符合条件的 issue。

Jasper Start Screen 3

我们可以用流做什么?

我将介绍流可以使用哪些类型的条件。

用户和团队

Issues
mentions:cat mentions:dog提到用户 catdog 的 Issues
author:cat author:dog由用户 catdog 创建的 Issues
assignee:cat assignee:dog分配给 catdog 的 Issues
commenter:cat commenter:dogcatdog 评论过的 Issues
involves:cat involves:dog“涉及” catbob 的 Issues
team:animal/white-cat team:animal/black-doganimal/white-catanimal/black-dog 中提到的 Issues

involves 表示 mentionauthorassigneecommenter

仓库和组织

Issues
repo:cat/jump repo:dog/runcat/jumpdog/run 中的 Issues
org:electron user:cat user:dogelectroncatdog 中的 Issues

orguser 相同

属性

Issues
repo:cat/jump milestone:v1.0.0 milestone:v1.0.1cat/jump 中附加到 v1.0.0v1.0.1 的 Issues
repo:cat/jump label:bug label:blockercat/jump 中附加了 bug blocker 的 Issues
electron OR atomshell包含 electronatomshell 的 Issues

审核状态

Issues
is:pr review:requiredcat/jump 中需要审核的 Issues
is:pr review-requested:catcat 请求审核的 Issues。
但这些尚未审核。
is:pr reviewed-by:catcat 审核的 Issues

正如您可能通过查看这些内容所注意到的那样,流可以使用 GitHub 的搜索查询。 有关如何使用流和搜索查询的详细信息,请参阅以下 URL。

Jasper 还具有未读 issue 管理、未读评论管理、标记星标、通知更新、过滤 issue、键盘快捷键等功能。

Jasper 是付费产品吗? 价格是多少?

Jasper 售价 12 美元。 不过您可以使用 30 天的免费试用版

你为什么选择基于 Electron 构建 Jasper?

我喜欢 Electron 的以下几个方面

  • 可以使用 JavaScript/CSS/HTML 开发应用程序。
  • 应用程序可以为 Windows、Mac 和 Linux 平台构建。
  • Electron 正在积极开发中,并且拥有庞大的社区。

这些功能实现了快速而简单的桌面应用程序开发。 这太棒了! 如果您有任何产品想法,都应该考虑使用 Electron。

在开发 Jasper 时,您遇到过哪些挑战?

我很难弄清楚“流”的概念。 起初我考虑使用 GitHub 的 Notifications API。 但是我注意到它不支持某些用例。 之后,我考虑使用 Issues APIPull Requests API,以及 Notification API。 但它从未成为我想要的样子。 然后,在思考各种方法时,我意识到轮询 GitHub 的 Search API 将提供最大的灵活性。 大约花了一个月的实验才达到这一点,然后我用两天的时间实现了带有流概念的 Jasper 原型。

注意:轮询最多限制为每 10 秒一次。 这对于 GitHub API 的限制来说是足够可以接受的。

接下来有什么计划?

我计划开发以下功能

  • 过滤流:一个流具有一些过滤流,用于过滤流中的 issue。 这就像 SQL 的视图。
  • 多个帐户:您将能够同时使用 github.com 和 GHE
  • 提升性能:目前在 WebView 中加载 issue 的速度比普通浏览器慢。

在 Twitter 上关注 @jasperappio 以获取更新。