本週專案:Jasper
本週我們採訪了 Jasper 的創作者,這是一個基於 Electron 的工具,用於管理 GitHub 通知。
您好!請問您是?
我是 Ryo Maruyama,一位在日本的軟體開發人員。我正在開發 Jasper 和 ESDoc。
什麼是 Jasper?
Jasper 是一個靈活且功能強大的 GitHub 問題讀取器。它支援 github.com 和 GitHub Enterprise 上的問題和提取請求。
您為什麼要製作它?
當人們在工作或 OSS 活動中使用 GitHub 時,他們每天都會收到許多通知。作為訂閱通知的方式,GitHub 提供電子郵件和 網頁通知。我使用了這些幾年,但我面臨以下問題
- 很容易忽略那些我被提及、我評論或我正在關注的問題。
- 我把一些問題擱置在腦海中稍後查看,但我有時會忘記它們。
- 為了不忘記問題,我在瀏覽器中保持許多標籤開啟。
- 很難查看所有與我相關的問題。
- 很難掌握我團隊的所有活動。
我花費了大量的時間和精力來嘗試防止這些問題,因此我決定為 GitHub 製作一個問題讀取器,以有效地解決這些問題,並開始開發 Jasper。
誰在使用 Jasper?
Jasper 被許多使用 GitHub 的公司的開發人員、設計人員和經理使用。當然,一些 OSS 開發人員也在使用它。而且 GitHub 的一些人也在使用它!


Jasper 如何運作?
配置 Jasper 後,會出現以下畫面。從左到右,您可以看到「串流清單」、「問題清單」和「問題主體」。
這個「串流」是 Jasper 的核心功能。例如,如果您想查看「分配給 electron/electron 儲存庫中的 @zeke 的問題」,您可以建立以下串流
repo:electron/electron assignee:zeke is:issue
建立串流並等待幾秒鐘後,您可以看到符合條件的問題。
我們可以使用串流做什麼?
我將介紹串流可以使用哪些條件。
使用者和團隊
串流 | 問題 |
---|---|
mentions:cat mentions:dog | 提及使用者 cat 或 dog 的問題 |
author:cat author:dog | 由使用者 cat 或 dog 建立的問題 |
assignee:cat assignee:dog | 分配給 cat 或 dog 的問題 |
commenter:cat commenter:dog | cat 或 dog 評論的問題 |
involves:cat involves:dog | 「涉及」cat 或 bob 的問題 |
team:animal/white-cat team:animal/black-dog | animal/white-cat 或 animal/black-dog 被提及的問題 |
involves
表示 mention
、author
、assignee
或 commenter
儲存庫和組織
串流 | 問題 |
---|---|
repo:cat/jump repo:dog/run | cat/jump 或 dog/run 中的問題 |
org:electron user:cat user:dog | electron 、cat 或 dog 中的問題 |
org
與 user
相同
屬性
串流 | 問題 |
---|---|
repo:cat/jump milestone:v1.0.0 milestone:v1.0.1 | 在 cat/jump 中附加到 v1.0.0 或 v1.0.1 的問題 |
repo:cat/jump label:bug label:blocker | 在 cat/jump 中附加了 bug 和 blocker 的問題 |
electron OR atomshell | 包含 electron 或 atomshell 的問題 |
審查狀態
串流 | 問題 |
---|---|
is:pr review:required | 在 cat/jump 中需要審查的問題 |
is:pr review-requested:cat | 由 cat 請求審查的問題。但這些尚未審查。 |
is:pr reviewed-by:cat | 由 cat 審查的問題 |
正如您可能已經注意到的,透過查看這些,串流可以使用 GitHub 的搜尋查詢。有關如何使用串流和搜尋查詢的詳細資訊,請參閱以下 URL。
- jasperapp.io/doc.html#stream
- help.github.com/articles/searching-issues
- help.github.com/articles/search-syntax
Jasper 還具有未讀問題管理、未讀評論管理、標記星號、通知更新、篩選問題、鍵盤快捷鍵等功能。
Jasper 是付費產品嗎?它的費用是多少?
Jasper 的費用為 12 美元。但是您可以免費使用 試用版 30 天。
您為什麼選擇在 Electron 上建置 Jasper?
我喜歡 Electron 的以下幾個方面
- 可以使用 JavaScript/CSS/HTML 開發應用程式。
- 可以為 Windows、Mac 和 Linux 平台建置應用程式。
- Electron 正在積極開發,並且擁有龐大的社群。
這些功能可實現快速且簡單的桌面應用程式開發。真是太棒了!如果您有任何產品構想,您應該考慮務必使用 Electron。
開發 Jasper 時,你遇到哪些挑戰?
我對於「串流」的概念感到相當困惑。一開始我考慮使用 GitHub 的通知 API。然而,我發現它不支援某些使用情境。之後,我考慮除了通知 API 之外,還使用Issue API 和Pull Request API。但它始終無法達到我想要的效果。然後在思考各種方法時,我意識到輪詢 GitHub 的搜尋 API 會提供最大的彈性。我花了約一個月的時間實驗才達到這個階段,然後我用了兩天的時間實作了具有串流概念的 Jasper 原型。
注意:輪詢的頻率最多為每 10 秒一次。這對於 GitHub API 的限制來說是可以接受的。
接下來的計畫是什麼?
我計畫開發以下功能
- 篩選過的串流:一個串流有一些篩選過的串流,可以篩選串流中的 issue。它就像 SQL 的視圖。
- 多個帳戶:你將能夠同時使用 github.com 和 GHE。
- 改善效能:目前在 WebView 中載入 issue 的速度比一般的瀏覽器慢。
請在 Twitter 上追蹤@jasperappio 以獲取最新消息。