Project of the Week: Jasper
На этой неделе мы опросили создателя Jasper, инструмента на основе Electron для управления уведомлениями GitHub.
Hello! Who are you?
I'm Ryo Maruyama, a software developer in Japan. I am developing Jasper and ESDoc.
What is Jasper?
Jasper является гибким и мощным читателем задач для GitHub. It supports issues and pull requests on github.com and GitHub Enterprise.
Why did you make it?
When people use GitHub in their job or OSS activities, they tend to receive many notifications on a daily basis. As a way to subscribe to the notifications, GitHub provides email and web notifications. I used these for a couple of years, but I faced the following problems:
- It's easy to overlook issues where I was mentioned, I commented, or I am watching.
- I put some issues in a corner of my head to check later, but I sometimes forget about them.
- To not forget issues, I keep many tabs open in my browser.
- It's hard to check all issues that are related to me.
- It's hard to grasp all of my team's activity.
I was spending a lot of time and energy trying to prevent those problems, so I decided to make an issue reader for GitHub to solve these problems efficiently, and started developing Jasper.
Who's using Jasper?
Jasper is used by developers, designers, and managers in several companies that are using GitHub. Of course, some OSS developers also are using it. And it is also used by some people at GitHub!
![](https://cloud.githubusercontent.com/assets/2289/24108650/75f87706-0d4b-11e7-8fcb-9fbedf2f66ea.png)
![](https://cloud.githubusercontent.com/assets/2289/24108649/75f4b9e0-0d4b-11e7-9701-24a0ef251ad2.png)
How does Jasper work?
Once Jasper is configured, the following screen appears. From left to right, you can see "streams list", "issues list" and "issue body".
This "stream" is the core feature of Jasper. For example, if you want to see "issues that are assigned to @zeke in the electron/electron repository", you create the following stream:
repo:electron/electron assignee:zeke is:issue
After creating the stream and waiting for a few seconds, you can see the issues that meet the conditions.
What can we do with streams?
I will introduce what kind of conditions can be used for stream.
Users and Teams
Stream | Вопросы |
---|---|
mentions:cat mentions:dog | Issues that mention user cat or dog |
author:cat author:dog | Issues created by user cat or dog |
assignee:cat assignee:dog | Issues assigned to cat or dog |
commenter:cat commenter:dog | Issues that cat or dog commented on |
involves:cat involves:dog | Issues that "involve" cat or bob |
team:animal/white-cat team:animal/black-dog | Issues that animal/white-cat or animal/black-dog are mentioned in |
involves
means mention
, author
, assignee
or commenter
Repositories and Organizations
Stream | Вопросы |
---|---|
repo:cat/jump repo:dog/run | Issues in cat/jump or dog/run |
org:electron user:cat user:dog | Issues in electron , cat or dog |
org
is same as user
Attributes
Stream | Вопросы |
---|---|
repo:cat/jump milestone:v1.0.0 milestone:v1.0.1 | Issues that are attached to v1.0.0 or v1.0.1 in cat/jump |
repo:cat/jump label:bug label:blocker | Issues that are attached bug and blocker in cat/jump |
electron OR atomshell | Issues that include electron or atomshell |
Review Status
Stream | Вопросы |
---|---|
is:pr review:required | Issues that are required review in cat/jump |
is:pr review-requested:cat | Issues that are requested review by cat . But these are not reviewed yet. |
is:pr reviewed-by:cat | Issues that are reviewed by cat |
As you may have noticed by looking at these, streams can use GitHub's search queries. For details on how to use streams and search queries, see the following URLs.
- jasperapp.io/doc.html#stream
- help.github.com/articles/searching-issues
- help.github.com/articles/search-syntax
Jasper also has features for unread issue management, unread comment management, marking stars, notification updating, filtering issues, keyboard shortcuts, etc.
Is Jasper a paid product? How much does it cost?
Jasper is $12. However you can use the free trial edition for 30 days.