フローを設計する
学習の目的
この単元を完了すると、次のことができるようになります。
- フロー設計の準備をする。
- Salesforce で新規作成または更新されたカスタマーサービスケースを Jira の課題と自動的に同期するフローを設計する。
フロー設計の準備をする
「MuleSoft Composer の基本」で説明したように、フローはシステムとデータを統合するために組み合わせて設定する一連のステップです。フローを設計する前に、フローチャートを使用してフローのステップを図示します。どのようなフローになるかを把握するために、鉛筆を使って紙に書くことができます。
前の単元で説明した NTO ユースケースのインテグレーションフローのステップをすべて含むフローチャートの例を次に示します。

この NTO ユースケースのフローを作成するタスクと関連するフローコンポーネントの詳細な説明は、次のとおりです。
タスク |
フローコンポーネント |
|---|---|
Service Cloud で新規作成または更新されたケースを見つける。 |
エンジニアリングの関与を要するケースの新規作成または更新時に Service Cloud から実行されるトリガー。 |
Jira に対応する課題が存在するかどうかを判断します。 |
Jira 課題 ID が空 (つまり、Jira に一致する課題が存在しない) かどうかをチェックする If/Else ブロック。 |
|
対応する課題が存在しない場合:
|
If/Else ブロックの If ブランチ内: 次のコンポーネントを使用する。
|
対応する課題が存在する場合は、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 (進行中) |
閉じた状態 |
Done (完了) |
その他の値 |
In Progress (進行中) |
次に、Salesforce のケースオブジェクトの優先度値を Jira の課題オブジェクトに次のようにマップします。
Salesforce のケースの優先度 |
Jira の課題の優先度 |
|---|---|
低 |
低 |
中 |
中 |
高 |
高 |
その他の値 |
中 |
MuleSoft コンポーネントでは、デフォルトで作業が検証され、手順の各ステップにアプリケーション内コンテキストヘルプが提供されます。たとえば、システムに接続を追加すると、MuleSoft コンポーザーで接続がテストされ、機能することが確認されます。その後で、次のステップに進むことができます。また、フローの作成を簡単にするために、MuleSoft コンポーザーから各ステップ内で必須項目を入力するように要求されます。
ベストプラクティスとして、フローの作成時には、フローが完成するまで数個のステップを追加しながらテストを繰り返します。
次のデモ動画で、MuleSoft Composer を使用して Salesforce を Jira に接続する方法をご覧ください。
フローを設計する
Salesforce で新規作成または更新されたカスタマーサービスケースを Jira の課題と同期するインテグレーションフローを設計する準備が整いました。
次の手順に従ってフローを設計します。
NTO 組織から Mulesoft コンポーザーを起動します。
- ユーザー名とパスワードを使用して NTO 組織にログインします。
- アプリケーションランチャーに
Composerと入力し、[MuleSoft Composer] を選択します。
新しいフローを作成します。
-
[Create New Flow (新規フローの作成)] をクリックします。
- デフォルトのフロー名の横にある鉛筆アイコンをクリックします。
- フローに
Sync NTO Org Cases with Jira Issues(NTO 組織のケースを Jira の課題と同期) と名前を付け、[Save (保存)] をクリックします。
NTO 組織の Sandbox 接続を使用してフローのトリガーを作成します。
-
[System Event (システムイベント)] をクリックして、[Salesforce] をクリックします。
-
[Add new Salesforce connection (新しい Salesforce 接続を追加)] をクリックして、NTO Sandbox 組織への接続を作成します。
メモ: Salesforce に初めて接続する場合は、このオプションが表示されません。次のステップに進んでください。
- 接続に
NTO sandbox org(NTO Sandbox 組織) と名前を付けます。
-
[This is a sandbox organization (これは Sandbox 組織です)] チェックボックスをオンにして、[Create (作成)] をクリックします。
メモ: 開発者組織を使用する場合は、このチェックボックスの選択をスキップして、[Create (作成)] をクリックします。
- NTO の Sandbox 組織のユーザー名とパスワードを入力して、[Log In to Sandbox (Sandbox にログイン)] をクリックします。
-
[Allow (許可)] をクリックして、MuleSoft コンポーザーに「ID URL サービスにアクセス」、「API を使用してユーザーデータを管理」、および「いつでも要求を実行」権限を付与します。MuleSoft Composer で接続が自動的にテストされます。エラーメッセージが表示されなければ、正常に接続されていて、フローの最初のステップ (トリガー) が表示されます。
NTO 組織でサービスケースが作成または更新されるたびにフローを開始するトリガーを設定します。
- [Choose an event that starts this flow (このフローを開始するイベントを選択)] 項目内をクリックして [New or updated record (新規または更新されたレコード)] を選択します。
- [Object Type (オブジェクト種別)] 項目に
Case(ケース) と入力します。
- [Conditions to filter the objects (オブジェクトを絞り込む条件)] 選択リストで、[All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] を選択します。
- 項目として [Requires Engineering Assistance (エンジニアリングの協力要)]、演算子として [Equals (次の文字列と一致する)] を選択し、値に
trueと入力します。
ヒント: 項目の値を選択するときは、その名前の最初の数文字を入力し、表示された項目の中から該当するものを選びます。
-
[Save (保存)] をクリックしてフローを保存します。
Jira に対応する課題が存在するかどうかをチェックする If/Else ブロックを作成して設定します。
- プラスアイコンをクリックしてステップを追加します。
-
[If/Else Block (If/Else ブロック)] をクリックします。If/Else ブロックの If ブランチで [All conditions must be met (AND) (すべての条件を満たす必要がある (AND))] がデフォルトで選択されています。
- 項目に [Jira Issue ID (Jira 課題 ID)]、演算子に [Is empty (空)] を選択します。この条件を満たした場合は、対応する課題が Jira に存在しないことになります。そのため、If ブランチの後続の 2 つのステップ (Jira の課題の作成、NTO 組織のケースの更新) が実行されます。
NTO Jira 接続を使用して、If/Else ブロックの If ブランチ内にフローの 2 つ目のステップを作成します。
- プラスアイコンをクリックして If ブランチ内にステップを追加します。
-
[System Action (システムアクション)] をクリックして、[Jira] をクリックします。
-
[Add new Jira connection (新しい Jira 接続を追加)] をクリックします。
メモ: 今回が最初の Jira 接続の場合、このオプションは表示されません。次のステップに進んでください。
- 接続に
NTO Jiraと名前を付け、[Create (作成)] をクリックします。
-
[Accept (許可)] をクリックして、MuleSoft Composer に、ユーザー、プロジェクト、課題の情報の表示権限、課題の作成、編集、削除、コメントの投稿、作業ログの作成を実行する権限、プロジェクト設定やプロジェクトレベルのオブジェクトの作成および編集権限、Jira アカウントを使用して管理アクションを実行する権限を付与します。NTO Jira 接続が作成され、フローの 2 つ目のステップが表示されます。
Jira で適切なケースの詳細を使用して課題を作成する 2 つ目のステップを設定します。
- [Action (アクション)] 項目をクリックして、[Create issue with custom fields (カスタム項目を使用して課題を作成)] を選択します。
- フローの 2 つ目のステップの以下の項目を次のようにマップします。
- Project (プロジェクト): [CS]
- Type (種別): [Bug (バグ)]
- Summary (概要): フローのステップ 1 の [Subject (件名)]
- Description (説明): フローのステップ 1 の [Description (説明)]
- Reporter (報告者): 検索選択リストをクリックして、[Pick from List (リストから選択)] を選択し、Jira の自身のユーザー名を選択
- Assignee (割り当て先): 検索選択リストをクリックして、[Pick from List (リストから選択)] を選択し、Jira の任意のユーザー名を選択
-
[Select Optional Fields (省略可能な項目を選択)] をクリックし、[Salesforce Case ID (Salesforce ケース ID)] と [Salesforce Case Reason (Salesforce 原因)] を選択して、[Apply (適用)] をクリックします。
- 項目をフローのステップ 1 の対応する項目に次のようにマップします。
- Salesforce Case ID (Salesforce ケース ID): [Case ID (ケース ID)]
- Salesforce Case Reason (Salesforce 原因): [Case Reason (原因)]
フローの 2 つ目のステップで、Salesforce と Jira 間の [Status (状況)] 項目と [Priority (優先度)] 項目の選択リストのマッピングを作成します。
- [Status (状況)] 項目をクリックして、[Picklist Mapping (選択リストのマッピング)] を選択します。[Picklist Mapping (選択リストのマッピング)] ダイアログボックスが表示され、対象項目にフローのステップ 2 の状況が示されます。
- [Source (ソース)] 項目をクリックし、フローのステップ 1 の [Status (状況)] を選択します。
-
[Next (次へ)] をクリックして、[Create new picklist (新しい選択リストを作成)] をクリックします。
- グローバル選択リスト名に
Salesforce to Jira Status(状況の Salesforce から Jira へのマップ) と入力します。
- マッピングテーブルの [When this value is returned (次の値が返された場合)] に、
New(新規) と入力します。
- マッピングテーブルの [Map this value (次の値をマップ)] 列で、選択リストから [To Do] を選択します。
-
[Add Rows (行を追加)] をクリックします。
- ステップ 5 ~ 7 を繰り返し、マッピングテーブルに次の値を入力します。
次の値が返された場合
次の値をマップ
Working (処理中)
In Progress (進行中)
Escalated (エスカレーション済)
In Progress (進行中)
閉じた状態
Done (完了)
その他の値
In Progress (進行中)
-
[Create Picklist (選択リストを作成)] をクリックして、[Apply (適用)] をクリックします。
- ステップ 1 ~ 9 を繰り返し、[Priority (優先度)] 項目の選択リストのマッピングを作成して、
Salesforce to Jira Priority(優先度の Salesforce から Jira へのマップ) という名前を付けます。次の値が返された場合
次の値をマップ
低
低
中
中
高
高
その他の値
中
既存の NTO Sandbox 組織の接続を使用して If ブランチ内にフローの 3 つ目のステップを作成します。
- プラスアイコンをクリックして If 分岐にステップを追加します。
-
[System Action (システムアクション)] をクリックして、[NTO sandbox org (NTO Sandbox 組織)] をクリックします。
関連付けられた Jira 課題 ID を使用して NTO 組織のケースを更新する 3 つ目のステップを設定します。
- [Action (アクション)] 項目内をクリックして、[Update record (レコードを更新)] を選択します。
- [Object Type (オブジェクト種別)] 項目に
Case(ケース) と入力します。ケース ID は必須項目のため、自動的に選択されます。
-
[Select Optional Fields (省略可能な項目を選択)] をクリックし、[Jira Issue ID (Jira 課題 ID)] を選択して、[Apply (適用)] をクリックします。
- [Record (レコード)] セクションで、項目をフローの先行するステップに次のようにマップします。
- Case ID (ケース ID) = ステップ 1 の [Case ID (ケース ID)]
- Jira Issue ID (Jira 課題 ID) = ステップ 2 の [Id (ID)]
トリガーケースに対応する課題を処理する Else ブランチを If/Else ブロックに追加します。
-
[Add Else (Else を追加)] をクリックします。
既存の NTO Jira 接続を使用して ELSE ブランチ内にフローの 4 つ目のステップを作成します。
- プラスアイコンをクリックして Else ブランチにステップを追加します。
-
[System Action (システムアクション)] をクリックし、[Jira] をクリックして、[NTO Jira] をクリックします。
トリガーケースに対応する課題を更新する 4 つ目のステップを設定します。
- [Action (アクション)] 項目をクリックして、[Update issue with custom fields (カスタム項目を使用して課題を更新)] を選択します。[Issue ID or Key (課題 ID またはキー)] は必須項目のため、自動的に選択されます。
- 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 の任意のユーザー名を選択
-
[Select Optional Fields (省略可能な項目を選択)] をクリックし、[Salesforce Case Reason (Salesforce 原因)] を選択して、[Apply (適用)] をクリックします。
- [Salesforce Case Reason (Salesforce 原因)] 項目で、フローのステップ 1 の [Case Reason (原因)] を選択します。
フローの 4 つ目のステップで、[Status (状況)] 項目と [Priority (優先度)] 項目の選択リストのマッピングを選択します。
- [Status (状況)] 項目をクリックして、[Picklist Mapping (選択リストのマッピング)] を選択します。[Picklist Mapping (選択リストのマッピング)] ダイアログボックスが表示され、対象項目にフローのステップ 4 の状況が示されます。
- [Source (ソース)] 項目をクリックし、フローのステップ 1 の [Status (状況)] を選択します。
-
[Next (次へ)] をクリックして、[Salesforce to Jira Status (状況の Salesforce から Jira へのマップ)] を選択します。マッピングテーブルに、フローのステップ 2 で設定した値が表示されます。
-
[Apply (適用)] をクリックします。
- ステップ 1 ~ 4 を繰り返し、[Priority (優先度)] 項目に [Salesforce to Jira Priority (優先度の Salesforce から Jira へのマップ)] 選択リストのマッピングを選択します。
- フローを保存します。フロー全体は次のようになります。







成功です。次の単元では、フローが想定どおりに機能することを確認するテストの実行方法を学習します。
