適用対象

Bridge by Smartsheet

Bridge ワークフローでドロップダウン列を更新する

Who can use this?

Plans:

  • Bridge by Smartsheet

Bridge を使用して、元の値に対して変更が行われた場合に、Smartsheet のドロップダウン列の値を最新の状態に保つことができます。 

始めるために必要なもの

  • シート
    • シート ID
    • ドロップダウン リストの値を含むソース列 (この例では、列名は「元の値」です)
    • Bridge が更新できる対象の列 (この例では、列名は「ドロップダウン」です)
  • Bridge
    • Smartsheet の統合機能
    • Bridge ワークフロー トリガー: Smartsheet - [When Column Values are Changed (列の値が変更された場合)]
    • 「Bridge workflow (Bridge ワークフロー)」モジュール
      • Smartsheet - Get Sheet (シートの取得)
      • Smartsheet - Update Column (列の更新)
      • Array Management - Extract Field from Array (配列管理 - 配列からフィールドを抽出)
  • オプション: 別のソース システムの選択

はじめに

Bridge でこのワークフローを構築するには、Bridge ワークスペースに対して Smartsheet 統合を認証します。 

「Bridge 向け Smartsheet 統合機能の設定方法」についての手順をご覧ください。 

ワークフローの構築中は、シートと Bridge ワークフローを 2 つの個別のタブで開いたままにします。これにより、構築プロセスの進め方が簡単になります。

基本的なワークフロー モデルの構築

まず、ワークフローに必要なすべてのモジュールを用意します。 

  1. Bridge で新しいワークフローを作成します。 
  2. ワークフロー ビルダーで、パネルを使用して 3 つのモジュールをこの順序で追加します。
      モジュール
    1 Smartsheet - Get Sheet (シートの取得)
    2 Array Management - Extract Field from Array (配列管理 - 配列からフィールドを抽出)
    3 Smartsheet - Update Column (列の更新)
  3. ワークフローを保存します。

完了すると、ワークフローに以下のように表示されます。

ワークフローモデルの画像

ワークフローのトリガーを設定する

基本的なワークフローのモデルを作成したら、ワークフローのトリガーの設定を開始します。

  1. [Trigger (トリガー)] モジュールを選択します。
  2. 新しいタブで「Integration (統合)」パネルを開くには、「Integrations (統合)」セクションで、[Integrations (統合)] ページを選択します。
  3. 統合リストから Smartsheet を選択します。
    Bridge ロゴの下にある「接続済み」オプションを使用して、そのワークスペースに対して認証された統合のみのリストを表示できます。
  4. 「トリガー」行を展開します。
  5. 新しいトリガーを作成するには、トリガー アイコンの追加 を選択します。
  6. 次のフィールドに入力します。
    • トリガー名: トリガーのカスタム ラベルを作成します。
    • Sheet ID (シート ID): 値の抽出元になる元シート用に「シート ID」を貼り付けます。
    • Event Type (イベント タイプ): [When Column Values are Changed (列の値が変更された場合)] を選択します。 
    • Column Name or ID (列名または ID): ドロップダウンの値のソースになる Smartsheet の列名を入力します。
    • Select Workflow (ワークフローの選択): ドロップダウン リストから、作成した新しいワークフローを選択します。
  7. [Save (保存)] を選択します。
  8. ワークフローに戻ります。
    元のタブに戻る場合は、ページを最新の情報に更新してトリガーを表示してください。

「Workflow (ワークフロー)」モジュールを設定する

シートのアクションによって、このワークフローがトリガーされます。ワークフローがこのトリガーを検出すると、同じシートに対して必要なアクションが実行されます。そのため、トリガーからの実行時間 (実行ログ) データ参照を使用して、「Smartsheet」モジュールに入力します。

ステップ 1:「Get Sheet (シートの取得)」モジュールを設定する

「Get Sheet (シートの取得)」モジュールとは何ですか?

「Get Sheet (シートの取得)」モジュールは、ワークフローをトリガーしたシートからデータを取得します。 

「Get Sheet (シートの取得)」モジュールが実行されると、Bridge はシートのデータを引き出し、それをワークフローの「実行ログ」にオブジェクトとしてプッシュします。オブジェクトは API から返されるアイテムで、そのオブジェクトに関連するフィールドの値を含みます。 

配列とは、フィールドが対応しているオブジェクトの集まりです。「Get Sheet (シートの取得)」モジュールの 13 行が、最初の行の詳細を展開するとどのように「実行ログ」に表示されるかの例を以下に紹介します。

「Get Sheet (シートの取得)」モジュールの「Run Log (実行ログ)」

  1. [Sheet ID (シート ID)] フィールドに、値 {{runtime.sheetID}} を入力します。 
  2. ワークフローを保存します。
  3. シートの任意の列で、元の値を含む列に新しい値を追加します。
  4. シートを保存します。

ステップ 2: ワークフローに取り込まれたデータを探す

Bridge に戻り、「Extract Field from Array (配列からフィールドを抽出)」モジュールに必要なデータをコピーします。

  1. [Run Log (実行ログ)] を開きます。 
  2. [Run Log (実行ログ)] パネルを最新の情報に更新します。
  3. ワークフローのトリガーとモジュールのステップの内訳を表示するには、上部のエントリを展開します。
  4. 返されたデータを表示するには、「Smartsheet: シートの取得」行を展開します。 
  5. シートの行を展開します。
  6. のエントリを見つけます。
    次のように表示されます。行: 配列 [#]
  7. 行のエントリの右側にあるメニュー アイコンを選択します。
  8. [Copy data reference (データの参照をコピー)] を選択します。

ステップ 3:「Extract Field from Array (配列からフィールドを抽出)」モジュールを設定する

「Extract Field from Array (配列からフィールドを抽出)」モジュールとは何ですか?

「Extract Field from Array (配列からフィールドを抽出)」モジュールを使用すると、配列のオブジェクトから値を引き出すことができます。このモジュールを使用すると、そのフィールドの値のみのリストを作成できます。 

この記事の例では、Bridge は [Source Values (元の値)] 値フィールドを抽出します。Bridge は、シートの「元の値」列からすべての値を抽出し、リストにします。

  1. 編集パネルを開くには、[Extract from Array (配列から抽出)] モジュールを選択します。 
  2. [Array (配列)] フィールドにデータ参照を貼り付けます。
    これは長く、{{ で始まります。
  3. [Key (キー)] フィールドで、リストにする列を指定します。 
  4. リストにする列を指定する際は、次の書式を使用します: cells.[Column Name].value。例: cells.Source Values.value
  5. [Output (出力)] フィールドで、[Array (配列)]が選択されているかどうかを再確認します。 
  6. ワークフローを保存します。
  7. シートの任意の列で、元の値を含む列に新しい値を追加します。
  8. シートを保存します。

ステップ 4: 列の更新

「Update Column (列の更新)」モジュールとは何ですか?

「Update Column (列の更新)」モジュールは、作成したリストを使用して、列設定にあるドロップダウン列のドロップダウン リストに値を入力します。ワークフローが実行されるたびに、Bridge は最新のリストを作成し、シート内のその列を更新します。

  1. [Sheet ID (シート ID)] フィールドに、値 {{runtime.sheetID}} を入力します。
  2. 「列 ID」を取得します。 
  3. 「Update Column (列の更新)」モジュールの編集パネルに戻ります。
  4. [Column ID (列 ID)] フィールドにデータ参照を貼り付けます。
  5. [Column Name (列名)] フィールドにドロップダウン値を含む列の名前を入力します。
  6. [Type (タイプ)] フィールドで、[Dropdown (Single Select) (ドロップダウン (単一選択))] または [Dropdown (Multi Select) (ドロップダウン (複数選択))] を選択します。
  7. [Values (値)] フィールドで、前回の実行時に「Extract Field from Array (配列からフィールドを抽出)」モジュールによって作成された配列を挿入します。 
  8. ワークフローを保存します。 

「Extract Field from Array (配列からフィールドを抽出)」モジュールのデータ参照の取得

  1. [Run Log (実行ログ)] パネルを開きます。 
  2. [Run List (実行リスト)] に戻るには、[All Runs (すべての実行)] を選択します。
  3. [Run Log (実行ログ)] を最新の情報に更新します。
  4. 最新の実行エントリを展開します。
  5. 配列管理 - 配列からフィールドを抽出行を展開します。
  6. 結果エントリの右側にある、メニュー アイコンを選択します。
  7. [Copy data reference (データの参照をコピー)] を選択します。 
  8. ワークフローを保存します。

代替オプション

値のリストを作成するのに、同じシートや Smartsheet を使用する必要はありません。ドロップダウン リストの値を別の場所から取得する場合、トリガーとワークフローの最初のモジュールは、ユース ケースに応じて異なります。 

ここでは、このワークフローをカスタマイズする方法についてのアイデアをいくつか紹介します。

  • 別のシートの列のリストを使用する。この場合、トリガーを別のシートに応答するように変更する必要があります。また、「Update Column (列の更新)」モジュールで、[Sheet ID (シート ID)][Column ID (列 ID)] フィールドも更新する必要があります。 
  • Resource Management または Brandfolder by Smartsheet のリストを使用する。代わりに、Resource Management や Brandfolder by Smartsheet の特定の変更に応答して、そのシステムから値のリストを生成できます。トリガーを、統合のいずれかからの適切なトリガーに置き換えます。次に、「Get Sheet (シートの取得)」モジュールをデータをワークフローに取り込むモジュールと置き換えます。 
  • 「スケジュール」トリガーを使用する。このトリガーを使用すると、以下の処理が行われるため、変更に対応する必要がなくなります。
    • データを抽出してワークフローにプッシュする。
    • ドロップダウン リストを日、週、または月に一度更新する。