每週專案: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 時,你遇到哪些挑戰?
我一開始很難理解「串流 (stream)」的概念。起初,我考慮使用 GitHub 的 通知 API。然而,我發現它並不支援某些使用情境。在那之後,我考慮除了通知 API 之外,還使用 議題 API 和 Pull Requests API。但它始終不是我想要的。然後在思考各種方法時,我意識到輪詢 GitHub 的 搜尋 API 會提供最大的彈性。我花了大約一個月的時間實驗才達到這個地步,然後我花了兩天時間實作了一個具有串流概念的 Jasper 原型。
注意:輪詢的頻率最多限制為每 10 秒一次。對於 GitHub API 的限制來說,這是可以接受的。
接下來會有什麼?
我計劃開發以下功能:
- 篩選過的串流:一個串流可以有一些篩選過的子串流,用來過濾串流中的議題。這就像 SQL 的視圖。
- 多個帳號:你將能夠同時使用 github.com 和 GHE。
- 提升效能:目前在 WebView 中載入議題的速度比一般瀏覽器慢。
請在 Twitter 上追蹤 @jasperappio 以取得最新消息。