Skip to content

Latest commit

 

History

History
150 lines (114 loc) · 11.5 KB

README.ja.md

File metadata and controls

150 lines (114 loc) · 11.5 KB

SSBird logo

SSBird

English / 日本語

Chrome拡張とSpreadsheetを用いることで、データの作成から反映までをChromeだけで出来るようにしたマスタデータ管理ツールです。

SSBird gif

目次

概要

マスタデータの管理方法として多いのは、ExcelやSpreadsheetなどでデータを作成し、それをGitHub、そしてDBなどに反映させるやり方だと思われます。
そのうちSSBirdでは、DBの反映など各プロジェクトの開発環境に依存してしまう部分を除き、データを作成してGitHubにプッシュするまでの工程を負担することで、マスタデータを管理するためのコストを最小限にします。

SSBird role

また、複数人での並行作業やCIでのデータチェックを考慮して、シート同士のマージ機能やPull Requestを作成する機能も備えています。 なお、運用フローとしては、GitHubにcsvがプッシュされたことをトリガーに、CI/CDで各プロジェクトごとに必要なデータの反映することを想定しています。

導入手順

管理者のみ

  1. Releasesから、使用したいバージョンのSSBird-vX.X.X.Server.zipをダウンロードし、解凍してください
  2. スクリプトを保存したいGoogle Drive上の場所で右クリックし、その他 > Google Apps Scriptを選択してください
  3. コードエディタが開くので、SSBird/gas/apply.gsのコードで上書き後に保存してください
  4. (省略可能)apply.gsの8行目に、const password = "ここにランダムなパスワードを入力";のようにパスワードを入力してください(Chrome拡張導入時にApply Passwordとして必要となります)
  5. 上のステータスバーから、リソース > Google の拡張サービス...を選択し、「Google Sheets API」をONにしてください
  6. 上のステータスバーから、公開 > ウェブ アプリケーションとして導入...を選択し、「Who has access to the app」でSSBirdを使用するメンバーがアクセスできるように権限を変更してから「Deploy」を押してください
  7. 更新後に承認を求められるので、説明に従って承認してください
  8. こちらを参考に、SSBird/examples/extension-config.jsonを編集します(applyUrlはこの手順の5の完了後に表示されるURLを使用してください)
  9. 設定ファイルをチームメンバーがアクセスできるGoogle Drive上の場所で右クリックし、ファイルをアップロードで編集したextension-config.jsonをアップロードします
  10. アップロードしたextension-config.jsonを右クリックし、共有可能なリンクを取得を選択し、取得したhttps://drive.google.com/file/d/XXXXXXX/view?usp=sharingのうち、XXXXXXXの部分をIDとしてメモしてください(Chrome拡張導入時にConfig File Idとして必要となります)

全メンバー

  1. Releasesから、使用したいバージョンのSSBird-vX.X.X.Client.zipをダウンロードし、解凍してください
  2. Macユーザーなら、SSBird/extension/installer/mac/install.commandを右クリックし、commandキーを押しながら「開く」を選択するとダイアログが出るので、「開く」を選択してください
  3. Windowsユーザーなら、SSBird/extension/installer/windows/install.batをダブルクリックしてください
  4. 管理者指定のGitHubアカウントでログインしてください
  5. こちらを参考に、参考元の手順の7で「repo」にチェックを入れてから、GitHubのアクセストークンを発行してください
  6. chrome://extensionsにアクセスし、右上のデベロッパーモードをオンにしてから、「パッケージ化されていない拡張機能を読み込む」でSSBird/extension/appを選択してください
  7. 管理者指定のGoogleアカウントでログインしてください
  8. Spreadsheetの画面や、Google DriveのSpreadsheetが存在するフォルダの画面にいくと、Chromeの右上のSSBirdアイコンが押せるようになるので、それを押してください
  9. 情報の入力を求められるので、入力してください(GitHub Access Tokenは、この手順の4で取得したものを使用してください)
  10. Config File IdとApply Passwordは、管理者から教えてもらってください(省略した場合、Apply Passwordは不要です)

extension-config.jsonについて

{
  // apply.gsのWebアプリケーション公開後に取得できるURL
  "applyUrl": "https://script.google.com/XXXXXXX/exec",

  // プッシュするGitHubリポジトリのURL
  // アクセストークンを発行するユーザーにWrite以上の権限を与えてください
  "repositoryUrl": "https://github.com/XXXXXXX/XXXXXXX",

  // このIDのフォルダからSpreadsheetまでのパスが、GitHub上でのパスとなる
  // フォルダのIDは、そのフォルダをブラウザで開いた状態のURLで
  // https://drive.google.com/drive/u/0/folders/XXXXXXX
  // XXXXXXXの部分が該当する
  "rootFolderId": "XXXXXXX"
}

使い方

ダークモードをサポート

ライト ダーク

SSBird light mode

SSBird dark mode

各パラメータの説明

パラメータ 説明
Apply Spreadsheets Applyの対象となるスプレットシート
スプレットシート上では自動選択、Google Drive上では複数選択できるようになる
Target Sheet プッシュの対象となるシート
もし存在しなければ、自動で作成される
プッシュされるブランチ名はシート名と同じになる
Merge Sheets Target Sheetにマージするシート
複数選択可能で、その場合は入力順にマージされていく
Commit Message コミットメッセージ
Parent Branch Target Sheet名のブランチが存在せず、新しく作成される場合の派生元となるブランチ名
Create Pull Request オンの場合、Target Sheetで指定したシートは更新されず、代わりにPull Requestが作成される

シートを直接反映する方法

  1. Spreadsheetで反映したいシートとデータを作成してください
  2. 右上のSSBirdアイコンを押してください
  3. 「Target Sheet」で、反映したいシートを選択してください
  4. 「Apply」を押してください
  5. 「Success 🎉」が出れば成功です

シート同士をマージして反映する方法

  1. Spreadsheetで、反映したいシートとは別に、データを上書きするためのシートを作成してください(上書き用のシートにも、カラムを記述してください)
  2. 上書きしたいシートには、上書きしたいデータのみ記述してください
  3. 「Target Sheet」で、反映したいシートを選択してください
  4. 「Merge Sheets」で、上書きするデータを記述したシートを選択してください(複数選択可で、選択順に上書きしていきます)
  5. 「Apply」を押してください
  6. 「Success 🎉」が出れば成功です

複数のSpreadsheetのデータを反映する方法

  1. 反映したいSpreadsheetの入ったGoogle Driveのフォルダ画面に移動してください
  2. 「Apply Spreadsheets」で、反映したいSpreadsheetを選択してください
  3. 「Target Sheet」「Merge Sheets」に関しては、「シート同士をマージして反映する方法」と同じ仕様で、選択したSpreadsheet全てに適応されます
  4. 「Apply」を押してください
  5. 「Success 🎉」が出れば成功です

Pull Requestを作る方法

  1. 「Create Pull Request」にチェックを入れてください
  2. 「Target Sheet」「Merge Sheets」に関しては、「シート同士をマージして反映する方法」と同じ仕様です
  3. 「Apply」を押してください
  4. 「Success 🎉」が出れば成功です(「Target Sheet」がマージ先のブランチ名、「Merge Sheets」がマージするブランチ名になります)

シートのマージ・csv化のルール

基本のルール

  • Spreadsheet名がexampleなら、GitHub上ではexample.csvとなります
  • ベースとなるシート名がdevelopなら、csvはdevelopブランチにプッシュされます
  • カラムは左・上にスペースを空けず記述してください(A1,B1,C1...)
  • A列またはカラムが空白なセルは、マージ・csv化どちらにおいても無視されるので、メモをする際にご活用ください(D2にメモするのであれば、A2かD1を空白にする)

SSBird ignore cell

マージのルール

  • A列のセル(A1,A2,A3...)が同じであれば同じデータとみなし上書き、違えば新しいデータとして最下位に追加されます
  • データが上書きされる場合、カラムを基準として上書きするので、A列のカラム以外の順番がベースとなるシートと上書きするデータを記述したシートでバラバラでも問題ありません
  • 上書きするデータを記述したシートに、ベースとなるシートにない新しいカラムがあれば、新しくカラムが追加されます