Skip to content

Automation guide(JP)

Junyoung Choi edited this page Feb 8, 2022 · 1 revision

Automation Guide

0. Requirements

  1. GitHub アカウント
  2. ベータ機能の活性化:現在 Automation 機能は Boost Note 側の承認をもらったチームのみ利用可能です。利用可能になって、ページをリフレッシュするとサイドナビゲーターから BETA 項目が見れるようになります。(現在、活性化されたチームの Admin 権限を持っているユーザのみ見れます。)

1. Install Github App

Settings -> Integrations -> GitHub -> Install Github Sources  順番に選択します。 (ベータ機能が活性化されたチームからのみ見れます。)

選択すると、BoostNote アプリページが開かれます。Install ボタンを押します。

連携したい Github Account(Organization を含む)を選びます。複数の Github Account を一つの Boost Note チームに入れるためには設置を繰り返す必要があります。 (しかし、Github の限界上、逆に一つの Github Account(Organization を含む)を複数の Boost Note チームに連携することはできません。)

Boost Note に連携する Repository と連携権限がこのページから見れます。Boost Note はここで選ばれた Repository のみの情報をもらうようになります。選択ができたら"Install & Authorize"ボタンを押します。

問題がなければ、BoostNote へ戻ってチームのリストがでます。インストールしたいチームの側にある"Install"ボタンを押します。

設定が問題なくいけたら、Settings -> Integrations -> GitHub 順番で開くと、以下のように表示されます。

(もし表示されない場合、"Reload"ボタンを押してみてください。それでも表示されなかったら、"Install Github App"リンクを改めてクリックし、Github の方からアプリをアンインストールして、改めて設置してみてください。)

2. Automation 設定

ある Github の Repository から生成された Issue を BoostNote のフォルダーに文書として生成し、内容を引き続き同期していく自動化を実装してみましょう。

2.1 準備

文書を生成するフォルダーと連携したアカウントの Github Repository を準備しておきます。

2.2 Workflow 生成

Workflow は Automation を作る前のテンプレートの役割をします。

Workflows ページに入って、"Create A Workflow"をクリックします。

Github Issue から文章を生成し、同期し続けるためには Pipeline が二つ必要になります。 Pipeline は Event/Filter/Action から構成されていて、あるイベントに対し、ある条件上何かをするようになっています。

最初の Pipeline を生成します。

  1. Event はgithub.issues.opened(Github Issue 生成)を選びます。
  2. Filter はrepository.nameを選択し、連携しようとするリポジトリの名前を入力して"+"ボタンを押します。(これがないと、フィルター無しで、連携されている全ての Repository からの Issue に対して Action を行うようになります。)
  3. Action はboost.doc.createを選びます。
  4. Parent Folder に準備したフォルダーを選んでください。

これで最初の Pipeline の設定が終わると次のようになります。

2番目は"+ Add Pipeline"ボタンを押してから設定できます。

  1. Event はgithub.issues.edited(Github Issue 編集)を選びます。
  2. Filter は最所の Pipeline と同じく、repository.nameを選択し、連携しようとするリポジトリの名前を入力して、"+"ボタンを押します。
  3. Action はboost.doc.updateを選んで、PropQuery の"+Add prop query"を選択し、Prop 名はIssueID, Prop タイプはNumberを選びます。
  4. その後、Prop の値として、Custom を Event に変更し、次の Select はissue.idを選択します。
  5. 最後に Title はEvent, issue.titleに、Content はEvent, issue.bodyに設定します。

これで2番目の Pipeline の設定が終わると次のようになります。

二つの Pipeline の設定が終わったら、Save ボタンをクリックして Workflow を生成します。 (まだ、Workflow は実行されません。Workflow を実行するためには Automation を生成する必要があります。)

簡単に何を設定したかをまとめると、1番目はある Repository から Issue が生成されるたびにその内容から BoostNote で文書を生成するようになっています。また、生成の時にIssueIDという Prop も文書の設定に入れておきます。2番目の Pipeline はある Repostory の Issue の変更が行われるたびに、Prop のIssueIDが変更された Issue の Github での ID と一致する文書に内容をアップデートするようになっています。これ二つにより、Issue が生成されたら自動的に BoostNote の文書が生成され、Issue で変更があるたびに、その文書を引き続きアップデートするようになります。

2.3. Automation 生成

Workflow から実質的に動く自動化を作ります。

生成した Workflow を選び、Save ボタンで保存します。

これで、Automation が実際に動くようになります。

3. 動作確認

これで連携した Github から Issue を生成すると、リアルタイムで特定した BoostNote のフォルダーに文書が生成されることが確認できます。(最初の Pipeline) また、Github Issue のタイトルや内容を変更すると BoostNote の文書にリアルタイムで反映されます。(2番目の Pipeline)

支援・フィードバック

現在かなり初期版であるので、提供している Event や Action、Filter がかなり限られています。もし対応して欲しい Event や Action などや Automation に対して改善して欲しい点があればぜひ教えてください!