Skip to main content

フローを設計する

学習の目的

この単元を完了すると、次のことができるようになります。

  • フローの設計の準備をする。
  • Salesforce で新規作成または更新されたカスタマーサービスケースを Jira の課題と自動的に同期するフローを設計する。

フローの設計の準備をする

「MuleSoft Composer の基本」で説明したように、フローはシステムとデータを統合するために組み合わせて設定する一連のステップです。フローを設計する前に、フローチャートを使用してフローのステップを図示します。一連の流れを紙に描き出すと、どのようなフローになるか把握しやすくなります。

以下は、前の単元で説明した NTO のユースケースのインテグレーションフローの全ステップを示すフローチャートの一例です。

NTO のユースケースのインテグレーションフローのフローチャート

以下に、この NTO のユースケースのフローを作成するためのタスクと関連するフローコンポーネントについて詳しく説明します。

タスク フローコンポーネント

Service Cloud で新規作成または更新されたケースを見つける。

エンジニアリングの関与を要するケースの新規作成または更新時に Service Cloud から実行されるトリガー

Jira に対応する課題が存在するかどうかを判断する。

Jira 課題 ID が空 (つまり、Jira に一致する課題が存在しない) かどうかをチェックする If/Else ブロック

対応する課題が存在しない場合:

  • Jira で課題を作成する。
  • Service Cloud でケースを更新する。

If/Else ブロックの If ブランチ内: 次のコンポーネントを使用する。

  • Jira で、適切なケースの詳細を使用して課題を作成するアクションステップ
  • Service Cloud で、Jira 課題 ID を使用してケースを更新するアクションステップ

対応する課題が存在する場合は、Jira の課題を更新する。

If/Else ブロックの Else ブランチ内: Jira で、適切なケースの詳細を使用して課題を更新するアクションステップを使用する。

さらに、Salesforce のケースオブジェクトの [Status (状況)] 項目や [Priority (優先度)] 項目と、Jira の課題オブジェクトの対応する項目では使用される値が異なるため、MuleSoft Composer の選択リストマッピングツールを使用して値をマップする必要があります。実行時、Salesforce の適切な値が動的に Jira に割り当てられます。

最初に、Salesforce のケースオブジェクトの状況値を Jira の課題オブジェクトに次のようにマップします。

Salesforce のケースの状況 Jira の課題の状況

New (新規)

To Do

Working (処理中)

In Progress (進行中)

Escalated (エスカレーション済)

In Progress (進行中)

Closed (クローズ)

Done (完了)

その他の値

In Progress (進行中)

次に、Salesforce のケースオブジェクトの優先度値を Jira の課題オブジェクトに次のようにマップします。

Salesforce のケースの優先度 Jira の課題の優先度

Low (低)

Low (低)

Medium (中)

Medium (中)

High (高)

High (高)

その他の値

Medium (中)

MuleSoft Composer ではデフォルトで作業が検証され、手順の各ステップにアプリケーション内コンテキストヘルプが表示されます。たとえば、システムに接続を追加すると、MuleSoft Composer で接続がテストされるため、正常に機能することを確認したうえで次のステップに進むことができます。また、フローを作成しやすくするために、各ステップに必須項目への入力を求めるプロンプトが表示されます。

フローの作成のベストプラクティスは、数ステップごとにテストを繰り返しながらフローを完成させることです。

メモ

インテグレーションタスクが大規模な場合は、タスクを作業しやすいサイズのチャンクに分割し、チャンクごとにフローを作成することをお勧めします。タスクを分割すれば、フローを簡単かつ迅速に作成、テスト、実行してタスクを完了させることができます。

次のデモ動画で、MuleSoft Composer を使用して Salesforce を Jira に接続する方法をご覧ください。

フローを設計する

Salesforce で新規作成または更新されたカスタマーサービスケースを Jira の課題と同期するインテグレーションフローを設計する準備が整いました。 

次の手順に従ってフローを設計します。

NTO 組織から MuleSoft Composer を起動します。

  1. ユーザー名とパスワードを使用して NTO 組織にログインします。
  2. アプリケーションランチャーに Composer と入力して [MuleSoft Composer] を選択します。

新しいフローを作成します。

  1. [Create New Flow (新規フローの作成)] をクリックします。
  2. デフォルトのフロー名の横にある鉛筆アイコンをクリックします。
  3. フローに Sync NTO Org Cases with Jira Issues (NTO 組織のケースを Jira の課題と同期) と名前を付け、[Save (保存)] をクリックします。

NTO 組織の Sandbox 接続を使用してフローのトリガーを作成します。

  1. [System Event (システムイベント)] をクリックして、[Salesforce] をクリックします。
  2. [Add new Salesforce connection (新しい Salesforce 接続を追加)] をクリックし、NTO Sandbox 組織への接続を作成します。
    メモ: 初めての Salesforce 接続の場合、このオプションは表示されません。次のステップに進みます。
  3. この接続に NTO sandbox org (NTO Sandbox 組織) と名前を付けます。
  4. [This is a sandbox organization (これは Sandbox 組織です)] チェックボックスをオンにして、[Create (作成)] をクリックします。
    メモ: 開発者組織を使用する場合は、このチェックボックスの選択をスキップして、[Create (作成)] をクリックします。
  5. NTO Sandbox 組織のユーザー名とパスワードを入力して、[Log In to Sandbox (Sandbox にログイン)] をクリックします。
  6. [Allow (許可)] をクリックして、MuleSoft Composer に「ID URL サービスにアクセス」「API を使用してユーザーデータを管理」「いつでも要求を実行」権限を付与します。MuleSoft Composer で接続が自動的にテストされます。エラーメッセージが表示されていない場合は接続が確立され、フローの最初のステップ (トリガー) が表示されます。

NTO 組織でサービスケースが作成または更新されるたびにフローを開始するトリガーを設定します。

  1. [Choose an event that starts this flow (このフローを開始するイベントを選択)] 項目をクリックして、[New or updated record (レコードの新規作成または更新)] を選択します。
  2. [Object Type (オブジェクト種別)] 項目に Case (ケース) と入力します。
  3. [Conditions to filter the objects (オブジェクトを絞り込む条件)] 選択リストで、[All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] を選択します。
  4. 項目に [Requires Engineering Assistance (エンジニアリングの協力要)]、演算子に [Equals (次の値と一致する)] を選択し、値に true と入力します。
    ヒント: 項目の値を選択するときは、その名前の最初の数文字を入力し、表示された項目の中から該当するものを選びます。 
  5. [Save (保存)] をクリックしてフローを保存します。

Jira に対応する課題が存在するかどうかをチェックする If/Else ブロックを作成して設定します。

  1. プラスアイコンをクリックしてステップを追加します。
  2. [If/Else Block (If/Else ブロック)] をクリックします。If/Else ブロックの If ブランチで [All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] がデフォルトで選択されています。
  3. 項目に [Jira Issue ID (Jira 課題 ID)]、演算子に [Is empty (空)] を選択します。この条件を満たした場合は、対応する課題が Jira に存在しないことになります。そのため、If ブランチの後続の 2 つのステップ (Jira の課題の作成、NTO 組織のケースの更新) が実行されます。

NTO Jira 接続を使用して、If/Else ブロックの If ブランチ内にフローの 2 つ目のステップを作成します。

  1. プラスアイコンをクリックして If ブランチ内にステップを追加します。
  2. [System Action (システムアクション)] をクリックして、[Jira] をクリックします。
  3. [Add new Jira connection (新しい Jira 接続を追加)] をクリックします。
    メモ: 今回初めて接続する場合はこのオプションが表示されません。次のステップに進みます。
  4. 接続に NTO Jira と名前を付け、[Create (作成)] をクリックします。
  5. [Accept (許可)] をクリックして、MuleSoft Composer に、ユーザー、プロジェクト、課題の情報の表示権限、課題の作成、編集、削除、コメントの投稿、作業ログの作成を実行する権限、プロジェクト設定やプロジェクトレベルのオブジェクトの作成および編集権限、Jira アカウントを使用して管理アクションを実行する権限を付与します。NTO Jira 接続が作成され、フローの 2 つ目のステップが表示されます。

Jira で適切なケースの詳細を使用して課題を作成する 2 つ目のステップを設定します。

  1. [Action (アクション)] 項目をクリックして、[Create issue with custom fields (カスタム項目を使用して課題を作成)] を選択します。
  2. フローの 2 つ目のステップの以下の項目を次のようにマップします。
    • Project (プロジェクト): [CS]
    • Type (種別): [Bug (バグ)]
    • Summary (概要): フローのステップ 1 の [Subject (件名)]
    • Description (説明): フローのステップ 1 の [Description (説明)]
    • Reporter (報告者): 検索選択リストをクリックして、[Pick from List (リストから選択)] を選択し、Jira の自身のユーザー名を選択
    • Assignee (割り当て先): 検索選択リストをクリックして、[Pick from List (リストから選択)] を選択し、Jira の任意のユーザー名を選択
  3. [Select Optional Fields (省略可能な項目を選択)] をクリックし、[Salesforce Case ID (Salesforce ケース ID)][Salesforce Case Reason (Salesforce 原因)] を選択して、[Apply (適用)] をクリックします。
  4. 項目をフローのステップ 1 の対応する項目に次のようにマップします。
    • Salesforce Case ID (Salesforce ケース ID): [Case ID (ケース ID)]
    • Salesforce Case Reason (Salesforce 原因): [Case Reason (原因)]

フローの 2 つ目のステップで、Salesforce と Jira 間の [Status (状況)] 項目と [Priority (優先度)] 項目の選択リストのマッピングを作成します。

  1. [Status (状況)] 項目をクリックして、[Picklist Mapping (選択リストのマッピング)] を選択します。[Picklist Mapping (選択リストのマッピング)] ダイアログボックスが表示され、対象項目にフローのステップ 2 の状況が示されます。
  2. [Source (ソース)] 項目をクリックし、フローのステップ 1 の [Status (状況)] を選択します。
  3. [Next (次へ)] をクリックして、[Create new picklist (新しい選択リストを作成)] をクリックします。
  4. グローバル選択リスト名に Salesforce to Jira Status (状況の Salesforce から Jira へのマップ) と入力します。
  5. マッピングテーブルの [When this value is returned (次の値が返された場合)] に、New (新規) と入力します。
  6. マッピングテーブルの [Map this value (次の値をマップ)] 列で、選択リストから [To Do] を選択します。
  7. [Add Rows (行を追加)] をクリックします。
  8. ステップ 5 ~ 7 を繰り返し、マッピングテーブルに次の値を入力します。
    次の値が返された場合 次の値をマップ

    Working (処理中)

    In Progress (進行中)

    Escalated (エスカレーション済)

    In Progress (進行中)

    Closed (クローズ)

    Done (完了)

    その他の値

    In Progress (進行中)

  9. [Create Picklist (選択リストを作成)] をクリックして、[Apply (適用)] をクリックします。
  10. ステップ 1 ~ 9 を繰り返し、[Priority (優先度)] 項目の選択リストのマッピングを作成して、Salesforce to Jira Priority (優先度の Salesforce から Jira へのマップ) という名前を付けます。
    次の値が返された場合 次の値をマップ

    Low (低)

    Low (低)

    Medium (中)

    Medium (中)

    High (高)

    High (高)

    その他の値

    Medium (中)

既存の NTO Sandbox 組織の接続を使用して If ブランチ内にフローの 3 つ目のステップを作成します。

  1. プラスアイコンをクリックして If ブランチにステップを追加します。
  2. [System Action (システムアクション)] をクリックして、[NTO sandbox org (NTO Sandbox 組織)] をクリックします。

関連付けられた Jira 課題 ID を使用して NTO 組織のケースを更新する 3 つ目のステップを設定します。

  1. [Action (アクション)] 項目をクリックして、[Update record (レコードを更新)] を選択します。
  2. [Object Type (オブジェクト種別)] 項目に Case (ケース) と入力します。[Case ID (ケース ID)] は必須項目のため、自動的に選択されます。
  3. [Select Optional Fields (省略可能な項目を選択)] をクリックし、[Jira Issue ID (Jira 課題 ID)] を選択して、[Apply (適用)] をクリックします。
  4. [Record (レコード)] セクションで、項目をフローの先行するステップに次のようにマップします。
    • Case ID (ケース ID) = ステップ 1 の [Case ID (ケース ID)]
    • Jira Issue ID (Jira 課題 ID) = ステップ 2 の [Id (ID)]

トリガーケースに対応する課題を処理する Else ブランチを If/Else ブロックに追加します。

  1. [Add Else (Else を追加)] をクリックします。

既存の NTO Jira 接続を使用して ELSE ブランチ内にフローの 4 つ目のステップを作成します。

  1. プラスアイコンをクリックして Else ブランチにステップを追加します。
  2. [System Action (システムアクション)] をクリックし、[Jira] をクリックして、[NTO Jira] をクリックします。

トリガーケースに対応する課題を更新する 4 つ目のステップを設定します。

  1. [Action (アクション)] 項目をクリックして、[Update issue with custom fields (カスタム項目を使用して課題を更新)] を選択します。[Issue ID or Key (課題 ID またはキー)] は必須項目のため、自動的に選択されます。
  2. 4 つ目のステップの以下の項目を次のようにマップします。
    • Project (プロジェクト): [CS]
    • Type (種別): [Bug (バグ)]
    • Issue ID or Key (課題 ID またはキー): フローのステップ 1 の [Jira Issue ID (Jira 課題 ID)]
    • Summary (概要): フローのステップ 1 の [Subject (件名)]
    • Description (説明): フローのステップ 1 の [Description (説明)]
    • Assignee (割り当て先): 検索選択リストをクリックして、[Pick from List (リストから選択)] を選択し、Jira の任意のユーザー名を選択
  3. [Select Optional Fields (省略可能な項目を選択)] をクリックし、[Salesforce Case Reason (Salesforce 原因)] を選択して、[Apply (適用)] をクリックします。
  4. [Salesforce Case Reason (Salesforce 原因)] 項目で、フローのステップ 1 の [Case Reason (原因)] を選択します。

フローの 4 つ目のステップで、[Status (状況)] 項目と [Priority (優先度)] 項目の選択リストのマッピングを選択します。

  1. [Status (状況)] 項目をクリックして、[Picklist Mapping (選択リストのマッピング)] を選択します。[Picklist Mapping (選択リストのマッピング)] ダイアログボックスが表示され、対象項目にフローのステップ 4 の状況が示されます。
  2. [Source (ソース)] 項目をクリックし、フローのステップ 1 の [Status (状況)] を選択します。
  3. [Next (次へ)] をクリックして、[Salesforce to Jira Status (状況の Salesforce から Jira へのマップ)] を選択します。マッピングテーブルに、フローのステップ 2 で設定した値が表示されます。
  4. [Apply (適用)] をクリックします。
  5. ステップ 1 ~ 4 を繰り返し、[Priority (優先度)] 項目に [Salesforce to Jira Priority (優先度の Salesforce から Jira へのマップ)] 選択リストのマッピングを選択します。
  6. フローを保存します。フロー全体は次のようになります。
    エンジニアリングの協力を要するかどうかを判断する条件が設定され、新規作成または更新された NTO 組織のケースがトリガーとして表示されているフローのステップ 1Jira 課題 ID が空かどうかを判断する条件が表示されている If/Else ブロックの If ブランチJira でプロジェクト、状況、優先度などの項目を使用して課題を作成する If ブランチ内のフローのステップ 2Jira でケース ID や原因を使用して課題を作成する If ブランチ内のフローのステップ 2 の残りの部分Jira 課題 ID を使用してケースを更新する If ブランチ内のフローのステップ 3If/Else ブロックの Else ブランチと、Jira で状況、優先度、概要などの項目を使用して対応する課題を更新する Else ブランチ内のフローのステップ 4Jira で説明、割り当て先、原因を使用して対応する課題を更新する ELSE ブランチ内のフローのステップ 4 の残りの部分

順調です! 次の単元では、フローをテストして正常に機能することを確認する方法を学習します。

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる