# 高度な設定

## スマートフォンと連携 <a href="#mobile" id="mobile"></a>

スマートフォンや通常のブラウザで閲覧したissueを、Jasperでも既読にするためにはGitHub Notification Syncを有効にします。

![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI8ie8mawFNC9qj7agl%2F07_notification_sync.png?alt=media\&token=ac7f23b2-0665-41aa-8a82-ca9188ab569d)

この設定を有効にすると定期的(通常は60秒間隔)に[GitHub Notification](https://github.com/notifications)からJasper側に反映させます。

{% hint style="warning" %}
JasperからGitHub Notificationへの反映は「issueを閲覧して既読にした」場合のみ行われます。次の操作はGitHub Notificationへは反映されません。

* Jasperで未読にしたissue
* Jasperでメニューやキーボードショートカットにより既読にしたissue
  {% endhint %}

## GitHub Projectsと連携 <a href="#project" id="project"></a>

特定のGithub Projectsに関連するissueを見るにはProject Streamを作成します。

{% tabs %}
{% tab title="Project Streamの作成" %}
![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI8jFm6Q_6-Ai1KZekH%2F07_project_stream1.png?alt=media\&token=5c6c2ddd-04a2-4e03-b13f-1839c4f9d15f)
{% endtab %}

{% tab title="Project Streamの表示" %}
![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI8jIO9wAGiQ6ZQi37g%2F07_project_stream2.png?alt=media\&token=0340279c-655f-4e33-886c-82602b30f78f)
{% endtab %}
{% endtabs %}

{% hint style="info" %}
`project:REPOSITORY/PROJECT_BOARD`クエリを使い、通常のStreamを作成しGitHub Projects に関連するissueを見ることはできます。しかしProject Streamを使うことでProject Board(カンバン)との連携が可能になるので、Project Streamを使うことをおすすめします。
{% endhint %}

## GitHub Teamと連携 <a href="#team" id="team"></a>

自分が所属するGitHub Teamへメンションされたissueを見るにはTeam Streamを使います。Team Streamは設定画面から有効にします。

{% tabs %}
{% tab title="Team Streamの有効にする" %}
![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI8jwDKBIPFB1W5dZ6w%2F07_team_stream1.png?alt=media\&token=88c5bcae-200f-45ab-a57b-80a40899a7ac)
{% endtab %}

{% tab title="Team Stream" %}
![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI8kvQJP0Gmvg_OXMdt%2F07_team_stream3.png?alt=media\&token=4c62de1b-b0a0-4ce1-8951-b83741bb96d5)
{% endtab %}

{% tab title="Team Streamの内容" %}
自分が所属するTeamからクエリが自動的に作成されます。

![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI8kWYmcsOsFz8QGuCX%2F07_team_stream2.png?alt=media\&token=0632fe64-d20f-4e45-bf95-e355e25e3cfb)
{% endtab %}
{% endtabs %}

## GitHub Watchingと連携する <a href="#watching" id="watching"></a>

自分がGitHub上でwatchしたリポジトリのissueを見るにはWatching Streamを使います。Watching Streamは設定画面から有効にします。

{% tabs %}
{% tab title="Watching Streamの有効にする" %}
![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI8lN1mWnNm0NvYYAUa%2F07_watchiing_stream1.png?alt=media\&token=841b4ff0-f7ed-4c50-bce4-dcf180900c3c)
{% endtab %}

{% tab title="Watching Stream" %}
![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI8ta3FoQFuF137GSPD%2F07_watching_stream2.png?alt=media\&token=067edf32-7bdf-4abd-9777-d112811277db)
{% endtab %}

{% tab title="Watching Streamの内容" %}
自分がwatchするリポジトリからクエリが自動的に作成されます。

![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI8lQynA9WRNepjlKJa%2F07_watching_stream3.png?alt=media\&token=64ff73e3-2741-493d-8cec-4c06998eba2f)
{% endtab %}
{% endtabs %}

## 任意のissueを登録する <a href="#subscription" id="subscription"></a>

リポジトリやorganizationではなく、issue単独でStreamにしたい場合はSubscription Streamを使います。Subscription Streamは設定画面から有効にします。

{% tabs %}
{% tab title="Subscription Streamを有効にする" %}
![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI94GsOFORAQShbb-oH%2F07_subscription_stream1.png?alt=media\&token=d041f546-b462-4079-8a21-93b7eaa791ad)
{% endtab %}

{% tab title="Subscription Stream" %}
![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI94KEE5Sb0i5Y7kkFI%2F07_subscription_stream2.png?alt=media\&token=cfae0ab3-ebcb-4782-a098-ad7a42f8e367)
{% endtab %}

{% tab title="issueを登録する" %}
Subscription Streamを右クリックして、メニューからissueのURLを登録します。

![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI94NutAueTl8Rbq9AG%2F07_subscription_stream3.png?alt=media\&token=ce6b7ad8-5277-42ee-9f7c-7770e41e6e20)
{% endtab %}
{% endtabs %}

## 更新間隔を最適化する <a href="#optimize" id="optimize"></a>

Jasperは通常10秒ごとにissueを検索して更新を取得しています。この更新間隔はStreamごとではなく、Jasper全体の更新間隔です。つまり、Streamをたくさん作れば作るほど、Stream1個あたりの更新は遅くなります。例えばStreamを3つ作っていた場合、1つのStreamが更新されるのは30秒ごとになります。

{% hint style="info" %}
このような動作になっているのは、Streamが増えてもGitHub側に負荷をかけないようにするためです。
{% endhint %}

このため、たくさんStreamを作ると更新が遅くなってしまいます。そこで、通常のStreamを少なくしてFilter Streamを積極的に使うことで、更新が遅くならないようにします。

{% hint style="info" %}
Filter StreamはGitHubの検索を行わず、ローカルのissueをフィルターするため更新間隔に影響を与えません。Filter Streamについての詳細は「[Filter Stream](https://docs.jasperapp.io/ja/reference/filter-stream)」を参照してください。
{% endhint %}

例えば次のような2つのStreamを作るのではなく、1つのStreamと2つのFilter Streamを作ります。こうすることで前者では1つのStreamあたり20秒間隔の更新だったものが、後者では1つのStreamあたり10秒間隔になります。

{% tabs %}
{% tab title="2つのStream" %}

```
org:nodejs
```

```
org:electron
```

![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI9B94vblrm_ysCkbH6%2F07_optimize_interval1.png?alt=media\&token=316983d6-70d1-458b-8a45-be5e1b423415)
{% endtab %}

{% tab title="1つのStreamと2つのFilter Stream" %}

```
org:nodejs org:electron
```

```
org:nodejs
```

```
org:electron
```

![](https://2521784492-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MHdBvXuUTTvADT4CXrm%2F-MI8hEd0vBEGhm1nahW4%2F-MI9Aizx-r9MypRlsXEp%2F07_optimize_interval2.png?alt=media\&token=6c1ed369-be7a-4442-9976-68d50d23890f)
{% endtab %}
{% endtabs %}

JasperではこのようにFilter Streamを積極的に利用することを推奨しています。
