
顧客データのようなデータテーブルを管理するのに便利なツールといえば、表計算ソフトでしょう。皆さんの手元にもきっと、表計算ソフトで作成されたデータテーブルがあると思います。今回は Google スプレッドシート上にあるデータを Questetra BPM Suite で取得して、それを元に「選択肢マスタ」を作成する方法を紹介します。
選択肢の一覧を「選択肢マスタ」として保存しておくと、複数の選択型データ項目にて、選択肢のマスタデータとして扱えるようになります。例えば顧客データを「選択肢マスタ」として保存しておけば、任意の選択型データ項目で、顧客データを選択肢とすることができます。
ログイン中のアカウントが所持している権限については、「アカウント設定 > 権限」から確認できます。
使用するスプレッドシート

本記事では、各顧客に付与された固有の ID・顧客名を記載した、上のような Google スプレッドシートを例にアプリを作成していきます。皆さんの手元でも同じようなスプレッドシートを準備しておいてください。
ワークフロー図を作る
では、「Google スプレッドシートからデータを取得し、選択肢マスタを更新(作成)する」アプリを作っていきましょう。「Google スプレッドシート: 選択肢取得テスト」という名前でアプリを新規作成してください。
モデラーが起動したら、まずはワークフロー図を作ってしまいましょう。

1 つめのヒューマンタスクには「開始」、2 つめのヒューマンタスクには「確認」と名前を付けています。
「Google スプレッドシート: 選択肢データの一括取得」と「選択肢マスタ更新」は 自動処理タスクのグループに入っています。
データ項目設定
続けて、使用するデータ項目を用意しましょう。必要なデータ項目は「件名」に加え、次の 3 つです。
データ項目名 | データ型 |
---|---|
顧客 ID | 文字型・複数行 |
顧客名 | 文字型・複数行 |
顧客マスタ確認用 | 選択型・ラジオボタン |
「顧客マスタ確認用」については詳細な設定が必要です。「編集」ボタンをクリックして設定画面を開きましょう。「選択肢種別」で、デフォルトでは「固定の選択肢」が選択されているところを、「文字型データ項目」に変更してください。選択肢 ID と表示ラベルについて、文字型データ項目を指定するプルダウンメニューが表示されるので、それぞれ「顧客 ID」と「顧客名」を指定してください。
文字型データ項目である「顧客 ID」「顧客名」には、「Google スプレッドシート: 選択肢データの一括取得」によって Google スプレッドシートのデータが 1 列ずつ格納されます。その 2 つをまとめて選択型データ項目にしたものが「顧客マスタ確認用」です。
「Google スプレッドシート: 選択肢データの一括取得」設定
このアプリの重要なオブジェクトである「Google スプレッドシート: 選択肢データの一括取得(以下、選択肢データ一括取得)」の設定をしていきます。
OAuth2 設定
Questetra BPM Suite が Google スプレッドシートからデータを取得できるように、OAuth2 の設定をする必要があります。「選択肢データ一括取得」のプロパティを開いて、「C1: OAuth2 設定名」の項目の[OAuth2 設定]ボタンをクリックしてください。
ボタンをクリックすると別ウインドウで設定ページが開きます。今は OAuth2 設定リストは空になっているかと思います。[+追加]ボタンを押して新しい OAuth2 設定を作成しましょう。「{Google ユーザの名前} で接続」など、適当な名前を入力してください。新しい設定が作成できたら「トークンの取得」を行います。ボタンをクリックすると Google のページに遷移します。使用するスプレッドシートを閲覧できる Google アカウントでログインして、Questetra BPM Suite にスプレッドシートの閲覧を許可してください。一通り終わると Questetra BPM Suite のページに戻ります。リフレッシュトークンが取得できていれば OK です。OAuth2 設定ページを閉じましょう。
モデラーに戻ると、「C1: OAuth2 設定名」のプルダウンメニューに、作成した OAuth2 設定が表示されているはずです。それを選択すれば OAuth2 設定は完了です。
スプレッドシートの ID
「C2: ダウンロード元のスプレッドシートの ID」には、データを取得するスプレッドシートの ID を入力します。スプレッドシートの ID は URL に次のように含まれています。
シートのタイトル
「C3: ダウンロード元のシートのタイトル」には、データを取得するセルのあるシートのタイトルを入力します。

選択肢 ID・選択肢ラベルの領域情報
「C4: 選択肢 ID の領域情報」「C5: 選択肢ラベルの領域情報」には、それぞれ「選択肢 ID とみなすデータが入力されている領域」「選択肢ラベルとみなすデータが入力されている領域」を入力します。


選択肢 ID・選択肢ラベルの保存先
取得したデータの保存先を指定します。今回は「C6: 選択肢 ID の一覧を保存する文字型データ項目」に「顧客 ID」、「C7: 選択肢ラベルの一覧を保存する文字型データ項目」に「顧客名」を選択してください。
最後に、C1 項目の上にある「処理失敗時に、トークンをエラー境界イベントに移動」のスイッチをオンにしてください。サービスタスクアイコンが変化し、ピンクの丸のエラー境界イベントが表示されるようになります。「選択肢データ一括取得」タスクがエラーした際には、トークンはこのイベントに遷移します。新たに終了イベントを追加して、下図の通りフローを引きましょう。

こうすることで、「Google スプレッドシートからデータが取得できなかった」など処理が失敗した際に、選択肢マスタを更新せずにプロセスを終了させることができます。
「選択肢マスタ更新」設定
「選択肢マスタ」とはアプリで使用できるアドオンの一種で、選択型データ項目の選択肢としてアプリから参照することができるものです。この「選択肢マスタ」を「アプリ共有アドオン」として Questetra BPM Suite に登録しておくと、すべてのアプリから登録したマスタデータを参照できるようになります。「選択肢マスタ」の作成/更新には、「選択肢マスタ更新」を用います。

選択肢マスタを更新するユーザ
「Me」ボタンを押して、あなたのアカウントを指定してください。モデラーで注釈が付いている通り、選択肢マスタの更新にはシステム管理権限が必要です。
「アプリ共有アドオン」として保存する選択型データ項目
「選択肢マスタのアプリ共有アドオン」として保存する項目を指定します。Google スプレッドシートから取得したデータを格納した、「顧客マスタ確認用」を選択してください。
「アプリ共有アドオン」として保存する際の名前
「顧客名簿」と名前を付けておきましょう。
データ編集許可設定
最後にデータ編集許可設定をしましょう。「開始」タスクと「確認」タスクにおいて、それぞれ次のように設定してください。
開始 | 確認 | |
---|---|---|
件名 | (編集可) | (表示のみ) |
顧客 ID | (表示なし) | (表示のみ) |
顧客名 | (表示なし) | (表示のみ) |
顧客マスタ確認用 | (表示なし) | (表示なし) |
動作確認
それではアプリを保存・リリースして、実際の動作を確認してみましょう。
「開始」タスクを完了したあと、少し待てば「確認」タスクが割り当てられるはずです。表示された文字型データ項目「顧客 ID」「顧客名」を見て、Google スプレッドシートのデータが取得できているか確認しましょう。問題なさそうであれば、「確認」タスクを完了してプロセスの終了を待ちましょう。
保存された「選択肢マスタ」は、「アプリ設定 > アプリ共有アドオン > 選択型データ項目で使用する選択肢マスタ」から確認できます。

正常に動作しなかったら
「確認」タスクが割り当てられないときは、トークンが「エラー境界イベント」に進んでいないか確認しましょう。「ワークフロー > 開始したプロセス」などからプロセスの状態を見ることができます。

トークンが「確認」タスクではなく、「エラー境界イベント」を経て終了イベントに到達してしまっているときは、「選択肢データの一括取得」サービスタスクでどのようなエラーが発生したのか確認しなければなりません。自動処理を行うタスクのログを確認するときは、プロセス詳細やタスク詳細で「管理者モード」を使用します。

「管理者モード」にチェックを入れると、「処理記録」の項目にそれまで表示されていなかった自動工程も表示されるようになります。「選択肢データの一括取得」の「自動処理ログ」が確認できるようになるので、エラー内容を見てみましょう。

メッセージに “Unable to parse range” とあります。この例ではエラーを発生させるため、わざと誤ったシート名を入力しています。そのため、データ取得範囲を解析できずにこのようなエラーログとなったのです。アプリが正常に動作しないときは「自動工程ログ」を確認してみましょう。
付録: 選択肢マスタを使った選択型データ項目を設定
せっかく選択肢マスタを作成したので、選択肢マスタを使って選択型データ項目を設定する例を簡単に紹介します。選択型データ項目の選択肢設定で、選択肢の定義方法を「選択肢マスタ(アプリ共有アドオン)」に設定すると、選択肢マスタがその選択型データ項目の選択肢として読み込まれます。


例えば上のような単純なワークフローを作成して、選択肢マスタ「顧客名簿」を読み込んだ選択型データ項目を、「選択肢確認」タスクで編集可と設定してみます。

すると、このように「顧客名簿」が選択型データ項目として表示されます。
ピンバック: Questetra Developers Meeting レポート – Questetra Support