# mulesoft Anypoint Code Builder - Full Documentation # Agentforce for Anypoint Code Builder のトラブルシューティング Agentforce for Anypoint Code Builder を使用するときに、次のエラーが発生する可能性があります。 ## [](#agentforce-生成フロー機能を使用するときに予期しないクエリ結果になる)Agentforce 生成フロー機能を使用するときに予期しないクエリ結果になる 入力したメッセージに対して生成フローが正確で有用な結果を返さない場合は、メッセージを書き直し、ガイドラインに従って​[効果的なメッセージを作成](https://docs.mulesoft.com/jp/anypoint-code-builder/int-ai-create-integrations#craft-ai-prompt)​します。 ## [](#agentforce-アクセスエラーのトラブルシューティング)Agentforce アクセスエラーのトラブルシューティング Agentforce にアクセスできない場合は、Anypoint Platform 組織のシステム管理者にお問い合わせください。組織のシステム管理者の場合、次の考慮事項を確認してください。 - 契約条件に同意し、組織で ​[Einstein for Anypoint Code Builder を有効化](#access-management::enabling-einstein.adoc)​している。 - Agentforce 要求のために接続している Salesforce 組織で 生成 AI が有効化されている。詳細は、 [「Einstein 生成 AI の設定」](https://help.salesforce.com/s/articleView?id=sf.generative_ai_enable.htm)​を参照してください。 - Agentforce 要求のために接続している Salesforce 組織で Anypoint Platform 組織との​[テナント関係が確立](#access-management::trusted-salesforce-org.adoc)​され、接続が有効化されている。 - Agentforce 要求のために接続している Salesforce 組織が有効である。たとえば、期限切れになっていないか、無効になっていないことを確認します。 ## [](#anypoint-platform-認証エラーのトラブルシューティング)Anypoint Platform 認証エラーのトラブルシューティング 認証エラーが発生した場合は、Anypoint Platform 組織のシステム管理者にお問い合わせください。組織のシステム管理者の場合、次の点を確認してください。 - ユーザーに Anypoint Platform アクセス管理で割り当てられた​**「Mule Developer Generative AI User (Mule 開発者生成 AI ユーザー)」**​権限がある。 - 組織で ​[Einstein を有効化](#access-management::enabling-einstein.adoc)​するための契約条件に同意している。 - Anypoint Platform 組織が最新の状態でアクティブである。 ## [](#eu-クラウドユーザーのデスクトップ-ide-に-agentforce-が表示されない)EU クラウドユーザーのデスクトップ IDE に Agentforce が表示されない EU クラウドの Anypoint Platform アカウントにサインインしており、Agentforce が UI に表示されない場合は、次の点を確認してください。 - [「デスクトップ IDE を EU クラウドまたは US クラウドに設定する」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#change-clouds)​の手順を完了している。 - Anypoint Code Builder アプリケーションを使用して Anypoint Platform にサインインしている。 - [必要な権限を持っている](https://docs.mulesoft.com/jp/anypoint-code-builder/int-ai-create-integrations#before-you-begin)​。 ## [](#関連情報)関連情報 - [access-management::trusted-salesforce-org.adoc](#access-management::trusted-salesforce-org.adoc) - [access-management::enabling-einstein.adoc](#access-management::enabling-einstein.adoc) - [IDE から Anypoint Platform へのログイン](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#log-in-to-anypoint-platform-from-the-ide) - [Anypoint Code Builder 権限](https://docs.mulesoft.com/jp/access-management/permissions-by-product#anypoint-code-builder) # Agentforce を使用したインテグレーションの作成 Anypoint Code Builder の Agentforce 生成フロー機能は、ビジネスロジックを説明する自然言語入力を、正しい順序で指定されたタスクを達成するコネクタ操作とプロセッサーを含むフローに変換します。 たとえば、Salesforce から JSON 形式で取引先責任者を読み取るフローを作成する場合は、そのタスクを説明するメッセージを入力します。その後、メッセージはそのタスクの実行に必要な一連のコネクタ操作とプロセッサー (この場合は Listener、Query、Transformer、Logger) に変換されます。 Agentforce がフローを生成します。特定のニーズに合わせてフローをさらに設定できます。 ## [](#before-you-begin)始める前に インテグレーションの作成を開始する前に、次の準備が整っていることを確認します。 - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [必要な Anypoint Code Builder 権限](https://docs.mulesoft.com/jp/anypoint-code-builder/start-configure-permissions#permissions)​があることを確認します。 - Anypoint Code Builder Agentforce 機能を使用するには、次の権限があることを確認します。 - Anypoint Code Builder Developer (Anypoint Code Builder 開発者) - Mule Developer Generative AI User (Mule 開発者生成 AI ユーザー) - \[Access Management (アクセス管理)\] で Einstein が有効化されている必要があります。詳細は、​[「Enabling Einstein for Anypoint Platform (Anypoint Platform での Einstein の有効化)」](#access-management::enabling-einstein.adoc)​を参照してください。 ## [](#access-einstein)Agentforce にアクセスする Agentforce を開くには 2 つの方法があります。 - 新しいインテグレーションプロジェクトを作成する場合、フローキャンバスでカードをクリックする。たとえば、​**\[Build a Flow with Agentforce (Agentforce を使用してフローをビルド)\]**​ カードなど。 - ツールバーの Agentforce アイコンをクリックする。 ![ツールバーの Agentforce アイコンを指す矢印](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-einstein-icon-in-toolbar.png) ## [](#create-integration-project)新しいインテグレーションプロジェクトを作成する 新しいインテグレーション開発プロジェクトを作成する手順は、次のとおりです。 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Develop an Integration (インテグレーションを開発)\]**​ をクリックします。 ![\[Getting started (使用開始)\] セクション内で強調表示されている \[Develop an Integration (インテグレーションを開発)\] リンク](_images/develop-integration-option-mat.png) 3. **\[Develop an Integration (インテグレーションを開発)\]**​ フォームに入力します。
項目名 項目値

Project Name (プロジェクト名)

プロジェクトの一意の名前。

この名前はタイトルおよびインテグレーション仕様ファイルの名前として使用されます。 たとえば、プロジェクト名が「My Integration」の場合、インテグレーションプロジェクトのフォルダーの名前は ​my-integration​、設定 XML ファイル名は ​my-integration.xml​ です。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ。事前に入力された場所を使用しない場合は、​[Browse (参照)]​ をクリックしてインテグレーションのディレクトリを選択します。

4. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 フロービルダーキャンバスに開始カードが表示されます。 Agentforce を使用してフローを生成するには、​**\[Build a Flow with Agentforce (Agentforce を使用してフローをビルド)\]**​ カードで ​**\[Use Agentforce (Agentforce を使用)\]**​ をクリックします。 コネクタを使用するには、​**\[Build Agent-Enabled Apps (エージェント対応アプリケーションをビルド)\]**​ カードで ​**\[Connect to an agent (エージェントに接続)\]**​ または ​**\[Create an MCP server (MCP サーバーを作成)\]**​ をクリックします。 フローを最初から作成するには、​**\[Start From Scratch (最初から開始)\]**​ カードの ​**\[Build a flow (フローをビルド)\]**​ をクリックします。 ## [](#craft-ai-prompt)入力を作成する フローを作成する前に、フローで達成すること (ビジネスプロセスの最適化など) を定義します。Agentforce ペインで、​**\[New Chat (新規チャット)\]**​ をクリックし、自然言語を使用してメッセージを作成します。メッセージをより簡潔かつ具体的に作成するほど、フロー生成時に Agentforce がより効果的になります。 プロンプトを作成するためのいくつかのベストプラクティスを次に示します。 - 明確かつ正確にします。 明確かつ具体的な言語を使用して、作成するフローのユースケースを説明します。 - トリガーイベントを含めます。 フローを開始するトリガーイベントを示します (新規ケース作成時のメールの送信など)。 - 主要なコンポーネントを強調します。 フローに含める主要な MuleSoft コンポーネントとコネクタ操作 (HTTP Connector ​**Listener**​ 操作や Email Connector ​**Send**​ 送信操作など) を強調します。 - データオブジェクトを指定します。 フローに含めるデータオブジェクトを明確に示します (「Salesforce 取引先オブジェクト」やその他の関連データソースなど)。 - メッセージを校正します。 送信する前に、メッセージが明確かつ包括的であることを確認します。 Agentforce が最初のフローを生成したら、特定のニーズに合わせてコードをカスタマイズできます。または、会話を継続して、各メッセージを送信するたびに Agentforce にフローを修正させることもできます。 メッセージと生成されたフローの例については、[生成フローの例](https://docs.mulesoft.com/jp/anypoint-code-builder/int-ai-gen-flow-examples)を参照してください。
  • チャットごとに最大 20 件のメッセージを送信できます。制限に達した場合は、新しいチャットを開始します。

  • LLM の機密性と、使用される LLM に応じて、同じメッセージが異なる応答を生成する可能性があります。場合によっては、同様のメッセージが異なる応答を生成することがあります。

## [](#view-prompt-history)チャット履歴を表示する プロジェクトのメッセージ履歴には、そのプロジェクトの過去 50 件のメッセージが表示されます。履歴は、開発プロセス中の参照に役立ちます。 チャット履歴を表示する手順は、次のとおりです。 1. チャット履歴を開くアイコンをクリックします。 以前のメッセージのリストが最大 50 件まで表示されます。チャット履歴内のチャットの名前を変更できます。 2. リスト内のメッセージをクリックすると、生成されたフローの詳細が表示されます。 生成されたコードをフローに挿入したり、コードスニペットをコピーして他の場所で使用または変更したりできます。 ## [](#create-gen-flow)プロジェクトにフローを追加する Agentforce を使用してインテグレーションプロジェクトにフローを追加します。 1. **\[Build a Flow with Agentforce (Agentforce を使用してフローをビルド)\]**​ カードで、​**\[Use Agentforce (Agentforce を使用)\]**​ をクリックします。 必要に応じて、​**\[Build a Flow with Agentforce (Agentforce を使用してフローをビルド)\]**​ カードのサンプルをクリックして、この機能がどのように動作するかを確認します。 2. この機能を初めて使用する場合は、規約に同意して続行します。 **\[Agentforce\]**​ パネルが開きます。 ![ようこそメッセージと例を含む Agentforce パネル](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-einstein-panel.png) 3. タスクの初期フローを作成するためのメッセージを入力します。 必要に応じて、サンプルをクリックして開始します。 フローの準備が完了すると、フロー内のコンポーネントのコードと説明が ​**\[Agentforce\]**​ パネルに表示されます。 ![int generated case notification email](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-generated-case-notification-email.png) 4. 必要に応じて、生成されたコードの後に表示される高評価または低評価アイコンをクリックします。 作成されたフローを評価すると、生成フローの品質の向上に役立ちます。 5. 生成されたコードを調べます。問題がなければコードの挿入アイコンをクリックしてコードをフローに追加します。 生成されたフローに満足できない場合は、メッセージを書き直して再送信します。 ## [](#customize-gen-flow)フローを完了する Agentforce がフローを作成した後に、必要に応じて設定に固有の情報を入力します。 1. 生成されたフローのコードを調べたら、それをクリップボードにコピーするか、​**\[Insert (挿入)\]**​ アクションを使用して 1 回のクリックで挿入できます。 コードを挿入したら、最初のフローが作成され、フローの視覚的表現が XML コードタブの横にあるフローキャンバスに表示されます。 さらに設定が必要なコンポーネントには、エラーアイコンが表示されます。 2. キャンバス内のコンポーネントを選択して、エラーの場所を特定します。 Anypoint Code Builder では、設定 XML 内のエラーの場所が強調表示されます。 ## [](#関連情報)関連情報 - [access-management::enabling-einstein.adoc](#access-management::enabling-einstein.adoc) - [生成フローの例](https://docs.mulesoft.com/jp/anypoint-code-builder/int-ai-gen-flow-examples) - [Agentforce を使用したインテグレーションの開発](https://docs.mulesoft.com/jp/anypoint-code-builder/int-ai-developing-integrations) - [参照](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference) # Agentforce を使用したインテグレーションの開発 インテグレーション開発を迅速に開始するには、Agentforce for Anypoint Code Builder 生成フローの自然言語入力を使用してフローを生成します。これらの生成フローのエンジンは、Salesforce 共有信頼境界内に存在する事前トレーニング済み大規模言語モデル (LLM) です。これらの LLM は、Anypoint Code Builder の生成フロー機能の中核です。
Agentforce for Anypoint Code Builder 生成フローは、US、EU、カナダ、日本クウラウドホストで使用できます。
## [](#trust-layer)Trust Layer Agentforce Trust Layer は、次のフローに示すように Anypoint Platform と LLM のブリッジとして機能します。 ![Trust Layer のしくみを示すフロー (フローのステップを含む)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-einstein-trust-layer.png)
1Anypoint Code Builder ユーザーは、ユースケースに基づいてメッセージを作成し、Agentforce に送信します。
2不正確な応答 (AI の「ハルシネーション」効果) を最小限に抑えるために、メッセージは事実に基づいた MuleSoft 独自のデータとユーザーコンテキストに基づいています。
3データが外部 LLM に安全に送信されるように、メッセージはセキュアゲートウェイ経由で Open AI に送信されます。
4データの安全性を確保するため、すべてのデータは Salesforce 内に残されます。
5LLM が応答を生成したら、コンテンツはセキュアゲートウェイを介して戻されます。
6MuleSoft は生成された出力を検証し、生成されたフローが MuleSoft エコシステム内で動作することを確認します。
7Anypoint Code Builder は、Anypoint Code Builder で検証された応答を表示する前に、監視のためにメッセージと生成された応答をログに記録します。
この機能は生成 AI を使用します。生成 AI には不正確または有害な応答が含まれることが知られています。この機能を実装する前に、出力を確認して正確性と安全性を確保してください。ビジネス上の意思決定を行う場合、お客様がその結果に対する責任を負います。
## [](#関連情報)関連情報 - [Einstein 生成 AI & 信頼](https://help.salesforce.com/s/articleView?id=sf.generative_ai_trust_overview.htm&type=5) - [Einstein Trust Layer](https://help.salesforce.com/s/articleView?id=sf.generative_ai_trust_layer.htm&type=5) - [Einstein Trust Layer: 信頼を目的として設計されています](https://help.salesforce.com/s/articleView?id=sf.generative_ai_trust_arch.htm&type=5) - [Agentforce を使用したインテグレーションの作成](https://docs.mulesoft.com/jp/anypoint-code-builder/int-ai-create-integrations) # AI を使用した API 仕様の作成 生成 API 仕様機能は、自然言語から API 仕様を生成およびモックすることで、API 設計ジャーニーに AI 機能を活用します。この機能により、厳密で構文の多い仕様の作成が簡略化され、API 設計にかかる時間が短縮されます。サポートされている RAML 1.0 または OAS 3.0 形式の API プロジェクトを作成した後、またはプロジェクト内の Agentforce を開くアイコンから、この機能にアクセスできます。このシステムではマルチターンの会話がサポートされ、検証済みの API 仕様が提供されます。 ## [](#before-you-begin)始める前に API 仕様の作成を開始する前に、次の準備が整っていることを確認します。 - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [必要な Anypoint Code Builder 権限](https://docs.mulesoft.com/jp/anypoint-code-builder/start-configure-permissions#permissions)​があることを確認します。 - Anypoint Code Builder Agentforce 機能を使用するには、次の権限があることを確認します。 - Anypoint Code Builder Developer (Anypoint Code Builder 開発者) - Mule Developer Generative AI User (Mule 開発者生成 AI ユーザー) - \[Access Management (アクセス管理)\] で Einstein が有効化されていることを確認します。詳細は、​[「Enabling Einstein for Anypoint Platform (Anypoint Platform での Einstein の有効化)」](#access-management::enabling-einstein.adoc)​を参照してください。 - Anypoint Platform のログイン情報で Anypoint Code Builder にログインします。 - Anypoint Code Builder でサポートされている RAML 1.0 または OAS 3.0 形式の ​[API 仕様プロジェクトを作成](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)​し、ビジネスグループを選択します。ビジネスグループでは、​[Einstein 生成 AI が有効化](#access-management::enabling-einstein.adoc)​されている必要があります。ビジネスグループを選択した後に Einstein 生成 AI がない場合は、Anypoint Platform 管理者に機能を有効化するよう依頼してください。 ## [](#design-spec-ai)AI を使用して API 仕様を設計する AI を使用して API 仕様を設計するには、まずスタータープロンプトでエージェントに必要なコンテキストのガイダンスを確認します。 1. チャットで API 仕様を説明します。エージェントは、要求を理解できない場合に明確な説明を求めます。 より正確な仕様を生成するには、次の必須の詳細を含め、省略可能な詳細も含めることを検討します。 基本詳細 必要に応じて、API 参照名、バージョン、説明を入力します。 セキュリティの詳細 Oauth 1.0、Oauth 2.0、基本認証、ダイジェスト認証、またはパススルーの種別の必要なセキュリティスキームを含めます。 - 基本認証、ダイジェスト認証、またはパススルーの場合、応答、クエリパラメーター、およびヘッダーを指定します。 - Oauth 1.0 または 2.0 の場合、応答、クエリパラメーター、ヘッダー、設定を指定します。 - Oauth 1.0 の設定は、​`authorizationUri`​、​`requestTokenUri`​、​`tokenCredentialsUri`​、または署名の種別を使用できます。 - Oauth 2.0 の設定は、​`authorizationUri`​、​`requestTokenUri`​、または ​`authorizationGrants`​ の種別を使用できます。 次の追加の詳細が適用されます。 **ヘッダーの要件** ヘッダーには、名前、必須かどうか、および次のいずれかのデータ型を含める必要があります。 - Array (配列) - Boolean (ブール) - Date only (日付のみ) - DateTime - DateTime only (日時のみ) - File (ファイル) - nil - Number (数値) - Object (オブジェクト) - String (文字列) - Time only (時間のみ) 必要に応じて、ヘッダーの説明、形式、最小長と最大長、デフォルト値、例を入力します。 **クエリパラメーターの要件** クエリパラメーターには、名前、必須かどうか、および次のいずれかのデータ型を含める必要があります。 - Array (配列) - Boolean (ブール) - Date only (日付のみ) - DateTime (日時) - DateTime only (日時のみ) - File (ファイル) - nil - Number (数値) - Object (オブジェクト) - String (文字列) - Time only (時間のみ) 必要に応じて、クエリパラメーターの説明、形式、最小長と最大長、デフォルト値、例を入力します。 **応答の要件** 応答には状況コードと説明を含める必要があります。 リソースとメソッド Oauth 1.0、Oauth 2.0、基本認証、ダイジェスト認証、またはパススルーの種別の必要なセキュリティスキームを含めます。 次の追加の詳細が適用されます。 **リソースの要件** 各リソースには次のメソッドを 1 つ以上含めることができます。 - GET - POST - PUT - PATCH - DELETE - HEAD - OPTIONS GET メソッドと HEAD メソッドの場合、概要、応答、要求、クエリまたはヘッダーパラメーターを含めることができます。 POST、PUT、PATCH、OPTIONS メソッドの場合、概要、応答、要求、本文、クエリまたはヘッダーパラメーターを含めることができます。 **応答の要件** 応答には状況コードと説明を含める必要があります。レスポンスボディは省略可能であり、説明、種別、メディアタイプ、例を含めることができます。 **要求の要件** 要求には説明と本文を含める必要があります。 **ヘッダーの要件** ヘッダーには、名前、必須かどうか、および次のいずれかのデータ型を含める必要があります。 - Array (配列) - Boolean (ブール) - Date only (日付のみ) - DateTime (日時) - DateTime only (日時のみ) - File (ファイル) - nil - Number (数値) - Object (オブジェクト) - String (文字列) - Time only (時間のみ) 必要に応じて、ヘッダーの説明、形式、最小長と最大長、デフォルト値、例を入力します。 **クエリパラメーターの要件** クエリパラメーターには、名前、必須かどうか、および次のいずれかのデータ型を含める必要があります。 - Array (配列) - Boolean (ブール) - Date only (日付のみ) - DateTime (日時) - DateTime only (日時のみ) - File (ファイル) - nil - Number (数値) - Object (オブジェクト) - String (文字列) - Time only (時間のみ) 必要に応じて、クエリパラメーターの説明、形式、最小長と最大長、デフォルト値、例を入力します。 2. メッセージを送信します。検証済みの API 仕様をエージェントが作成します。
ガバナンスは検証に含まれません。
1. 仕様を確認し、変更を加えたい場合は会話を続けます。 2. 生成された API 仕様をプロジェクトに追加するには、​**\[Replace (置換)\]**​ をクリックします。すべてのファイルコンテンツは挿入されたコードで置き換えられます。 **\[Copy (コピー)\]**​ をクリックして、生成された API 仕様をクリップボードにコピーすることもできます。 ## [](#エージェントの応答に関するフィードバックを提供する)エージェントの応答に関するフィードバックを提供する エージェントの応答に関するフィードバックを共有するには、高評価または低評価をクリックします。 ## [](#会話履歴を表示する)会話履歴を表示する 過去の会話を表示するには、​**\[Open chat history (チャット履歴を開く)\]**​ をクリックします。過去 30 日間の会話が表示されます。 ## [](#新しいチャットを開始する)新しいチャットを開始する サポートされている RAML 1.0 または OAS 3.0 形式でプロジェクトを開いている場合にのみ、API 仕様を作成できます。新しい API 仕様を作成するには、​**\[New Chat (新規チャット)\]**​ ドロップダウンから ​**\[Create API Spec (API 仕様を作成)\]**​ をクリックします。 サポートされていない形式のプロジェクトでは、このオプションは表示されません。 ## [](#関連情報)関連情報 - [AI を使用した API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/api-ai-design-spec) # AI を使用した API 仕様の設計 AI を使用して API 仕様を生成することで、API 設計を簡略化します。自然言語を使用してプロンプトを作成し、Einstein 生成 AI に API を構築させます。Salesforce 共有信頼境界内の事前トレーニング済み大規模言語モデル (LLM) がこれらの機能を駆動し、Anypoint Code Builder での API 仕様生成の中核を成しています。
Anypoint Code Builder 生成 AI API 仕様は、US、EU、カナダ、日本のクラウドホストで使用できます。
## [](#trust-layer)Trust Layer 生成 AI Trust Layer は、次のフローに示すように Anypoint Platform と LLM のブリッジとして機能します。 ![Trust Layer のしくみを示すフロー (フローのステップを含む)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-einstein-trust-layer.png)
1Anypoint Code Builder ユーザーは、ユースケースに基づいてメッセージを作成し、Agentforce に送信します。
2不正確な応答 (AI の「ハルシネーション」効果) を最小限に抑えるために、メッセージは事実に基づいた MuleSoft 独自のデータとユーザーコンテキストに基づいています。
3データが外部 LLM に安全に送信されるように、メッセージはセキュアゲートウェイ経由で Open AI に送信されます。
4データの安全性を確保するため、すべてのデータは Salesforce 内に残されます。
5LLM が応答を生成したら、コンテンツはセキュアゲートウェイを介して戻されます。
6MuleSoft は生成された出力を検証し、生成されたフローが MuleSoft エコシステム内で動作することを確認します。
7Anypoint Code Builder は、Anypoint Code Builder で検証された応答を表示する前に、監視のためにメッセージと生成された応答をログに記録します。
この機能は生成 AI を使用します。生成 AI には不正確または有害な応答が含まれることが知られています。この機能を実装する前に、出力を確認して正確性と安全性を確保してください。ビジネス上の意思決定を行う場合、お客様がその結果に対する責任を負います。
## [](#関連情報)関連情報 - [Einstein 生成 AI & 信頼](https://help.salesforce.com/s/articleView?id=sf.generative_ai_trust_overview.htm&type=5) - [Einstein Trust Layer](https://help.salesforce.com/s/articleView?id=sf.generative_ai_trust_layer.htm&type=5) - [Einstein Trust Layer: 信頼を目的として設計されています](https://help.salesforce.com/s/articleView?id=sf.generative_ai_trust_arch.htm&type=5) - [AI を使用した API 仕様の作成](https://docs.mulesoft.com/jp/anypoint-code-builder/api-ai-create-spec) # American Flights API 仕様の実装 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Exchange から American Flights API 仕様をインポートします。開発している American Flights プロジェクトに仕様をスキャフォールディングして、API にエンドポイントを実装するロジックを追加します。 ## [](#始める前に)始める前に 次の手順を実行します。 1. [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api) 2. [American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights) ## [](#american-flights-api-仕様をインポートしてスキャフォールディングする)American Flights API 仕様をインポートしてスキャフォールディングする Anypoint Exchange から American Flights API 仕様をインポートして American Flights インテグレーションプロジェクトのインターフェースにスキャフォールディングします。 1. Anypoint Code Builder でインテグレーション (​`american-ws-anypoint-code-builder`​) を開きます。 このアプリケーションについての詳細は、[American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights)を参照してください。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command MuleSoft: Import Asset from Exchange ``` 4. **\[Rest API\]**​ を選択します。 ![\[MuleSoft: Import Asset from Exchange (MuleSoft: Exchange からアセットをインポート)\] を選択した後の強調表示された \[Rest API\] オプション](_images/rest-api-asset-type.png) 5. Anypoint Platform にログインするように促されたら、ログインし、拡張機能で外部 Web サイトにサインインして開くことおよび Visual Studio Code を開くことを許可します。 6. American Flights API 仕様の名前を入力します。次に例を示します。 ```spec American Flights API ``` この仕様についての詳細は、[American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api)を参照してください。 7. 名前に一致するアセットのリストが IDE に読み込まれるまで待機します。 ![強調表示されている American Flights API アセット](/mulesoft/current/ja-jp/anypoint-code-builder/_images/select-api-asset-from-exchange.png) 8. バージョンを要求されたら、インポートする API のバージョン (​`_1.0.0_`​ など) を選択します。 9. API 連動関係をスキャフォールディングするように促されたら、​**\[Yes (はい)\]**​ を選択します。 このステップでは、プロジェクトの ​`pom.xml`​ ファイルに API 仕様を連動関係として追加し、新しい設定 XML ファイル (​`american-flights-api.xml`​ など) を作成します。 ![\[Package Explorer\] セクション内で強調表示されている American-flights.xml ファイル](_images/scafolded-mule-config-file.png) 10. [インターフェースファイルを調べる](#tour-canvas)​に進みます。 ## [](#tour-canvas)インターフェースファイルを調べる キャンバスと設定 XML でインターフェースのスキャフォールディング済みフローとエラーハンドラーを調べます。 ![メインフローが強調表示されている](/mulesoft/current/ja-jp/anypoint-code-builder/_images/scafolded-flow-canvas.png) 1. **\[EXPLORER\]**​ メニューから、目的のインターフェースの設定ファイル (​`american-flight-api.xml`​ など) を開きます。 2. **\[Flow List (フローリスト)\]**​ パネルを使用して、フロー間を移動します。 ![強調表示されている American-flights-api-main フロー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/outline-list-select-flow.png) 1. **\[Flow List (フローリスト)\]**​ パネルを展開します。 2. リストからフローを選択します。 3. キャンバスでフローをクリックすると、設定 XML 内のフローが強調表示されます。 3. 設定 XML で、API 仕様のエンドポイント用に作成したフローを見つけます。 - `get:\flights` ```xml ``` - `post:\flights` ```xml ``` - `get:\flights{ID}` ```xml ``` 4. 自動的に生成されたエラーハンドラーコンポーネントを確認します。次に例を示します。 ```xml ``` 5. [インターフェースおよび実装ファイルに名前を付ける](#rename)​に進みます。 ## [](#rename)インターフェースおよび実装ファイルに名前を付ける American Flights プロジェクトのインターフェースおよび実装ファイルにわかりやすい名前を付けます。インターフェースでアプリケーションへのすべての受信要求を受け取ります。インターフェースのスキャフォールディング済みフローで要求を検証してルーティングします。実装でインターフェースへのコールのためのバックエンドロジックを提供します。 ![american-flight-api-acb.xml ファイルのコンテキストメニュー内で強調表示されている \[Rename (名前変更)\] オプション](_images/api-interface-rename.png) 1. ファイル名を右クリックし、​**\[Rename (名前変更)\]**​ を選択して、新しい名前を指定することで、​`american-flight-api-acb.xml`​ を ​`interface.xml`​ に名前変更します。 2. `american-ws-anypoint-code-builder.xml`​ を ​`implementation.xml`​ に名前変更します。 3. [インターフェースを介してエンドポイントを設定](#endpoint)​に進みます。 ## [](#endpoint)インターフェースを介してエンドポイントを設定 インターフェースを介して HTTP 要求を受信するには、HTTP リスナーを ​`implementation.xml`​ から削除し、インターフェースファイル (​`interface.xml`​) で Flow Ref コンポーネント (​``​) を実装の ​`getFlights`​ フローに追加します。 1. `implementation.xml`​ を開きます。 ![implementation.xml ファイル内で強調表示されている HTTP リスナー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/get-flights-select-listener.png) 2. 設定 XML から ​**HTTP /flights**​ リスナー XML を削除します。 ```xml ``` 結果のフローを表示するには、クリックしてください。 ```xml { ID: payload01.ID, code: (payload01.code1 default "") ++ (payload01.code2 default ""), price: payload01.price default 0, departureDate: payload01.takeOffDate as String default "", origin: payload01.fromAirport default "", destination: payload01.toAirport default "", emptySeats: payload01.seatsAvailable default 0, plane: { "type": payload01.planeType default "", totalSeats: payload01.totalSeats default 0 } } ]]> ``` 3. Anypoint Code Builder で ​`interface.xml`​ ファイルを開きます。 4. `get:\flights:american-flights-api-config`​ フローを見つけます。 ```xml ``` 5. フローの ​``​ 要素の前に、実装のフロー ​`getFlights`​ を参照する Flow Reference コンポーネント (​``​) を追加します。 ```xml ``` 6. 省略可能: インターフェースを介してフローをトリガーし、実装を使用して要求を処理します。 詳細は、[開発環境でのフローのトリガー](https://docs.mulesoft.com/jp/anypoint-code-builder/int-trigger-flows)を参照してください。 7. [American Flights アプリケーションのデバッグ](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-debug-am-flights)に進みます。 # American Flights API 仕様の設計 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder を使用して、American Flights API という名前の REST API 仕様の例を作成します。この API では、Anypoint Exchange から取得した API フラグメントを再利用し、データ型と応答の例を作成し、API Console を使用して API をテストし、API をアセットとして Exchange にパブリッシュします。 すべての API 仕様タスクを完了したら、​[インテグレーション](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights)​内で仕様を​[実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-implement-am-flights-api)​します。詳細は、[American Flights アプリケーションの開発](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-amflights-overview)を参照してください。 ## [](#prereqs)始める前に - Web またはデスクトップ IDE をセットアップしてアクセスします。 詳細は、[Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)を参照してください。 - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)​に精通します。 API 仕様はビジネスグループに属します。 ## [](#start-spec)American Flights API を開始する American Flights API 仕様の作成を開始する手順は、次のとおりです。 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 ![VS Code アクティビティバーの MuleSoft アイコン](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-mulesoft-in-activity-bar.png) 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Design an API (API を設計)\]**​ をクリックします。 ![MuleSoft パネルの \[Design an API (API を設計)\] へのリンク](_images/design-api-1.png) エラー ​**\[Mule DX API Component was not installed (Mule DX API コンポーネントがインストールされていません)\]**​ を受け取ったら、Mule Runtime が読み込まれてバックグラウンドプロセスが完了するまで待機します。バックグラウンドプロセスを監視するには、[プロジェクトの読み込みエラー](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-loading-errors)を参照してください。 3. 次の値を使用して API 仕様プロジェクトを設定します。
項目名 Field Value (項目値)

Project Name (プロジェクト名)

American Flights API​
または、任意の同様の名前を指定します。名前は一意である必要があります。プロジェクトと仕様ファイルの名前は、指定した名前に基づきます。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ (ホームディレクトリへのフォルダーの追加を参照)。

API Type (API 種別)

REST API​
Anypoint Code Builder では、設計に REST API 種別がサポートされます。

API Specification Language (API 仕様言語)

RAML 1.0​
Anypoint Code Builder では、OAS (JSON)、OAS (YAML)、および RAML がサポートされます。

4. **\[Create Project (プロジェクトを作成)\]**​ を選択して、American Flights API プロジェクトファイル (​`american-flights-api.raml`​) を作成します。 このファイル名は、プロジェクトに指定した名前に基づきます。 ![American Airlines API のプロジェクト](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-api-project.png) 5. [RAML リソースとメソッドを追加する](#add-flight-resource)​に進みます。 ## [](#add-flight-resource)RAML リソースとメソッドを追加する American Flights API で仕様の設定を開始して、その ​**GET**​ メソッドを API Console から試行します。 1. 設定を開始する前に ​**Mule DX Server**​ への ​**\[Output (出力)\]**​ パネルを開いて、内部プロセスの進行状況を追跡します。 パネルを開く手順は、次のとおりです。 1. Cmd+Shift+u (Mac) または Ctrl+Shift+u (Windows) を押して \[Output (出力)\] パネルを開きます。 2. パネルのドロップダウンメニューから ​**\[Mule DX Server\]**​ を選択します。 詳細は、[出力パネルを開く](https://docs.mulesoft.com/jp/anypoint-code-builder/start-open-output-panel)を参照してください。 2. `american-flights-api.raml`​ で、​`/flights`​ エンドポイントと ​`get`​ メソッドの次の RAML コードをファイルに貼り付けます。 ```raml #%RAML 1.0 title: American Flights API /flights: get: ``` 3. `get`​ の直下の次の行で Ctrl+Space を押して、使用可能なすべてのオプションを表示し、​`post`​ メソッドを選択します。 ```RAML #%RAML 1.0 title: American Flights API /flights: get: post: ``` 4. API Console アイコンをクリックして、コンソールに仕様を表示します。 ![get および post メソッドが含まれている仕様](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-api-console.png) 1. API Console が読み込まれている間、​**\[Output (出力)\]**​ パネルで ​**Mule DX Server**​ を監視します。 2. エディターで仕様ファイルをクリックして、API Console に仕様ファイルのエンドポイントを表示します。 3. API Console にエンドポイントアイコンが表示されるまで待機します。 API Console でのエンドポイントとメソッド: ![\[API Console\] 内で強調表示されている GET および POST メソッド](_images/get-post-methods-api-console.png) 5. [クエリパラメーターとネストされたリソースを追加する](#add-query-params-nested-resources)​に進みます。 ## [](#add-query-params-nested-resources)クエリパラメーターとネストされたリソースを追加する 目的地に基づいてフライトを取得するために使用するネストされたリソース (​`/{ID}:`​) を追加し、目的地の省略可能なクエリパラメーター (​`queryParameters:`​) を ​`enum`​ 値のセットとして指定します。 1. RAML コンテンツを次の仕様で置き換えます。 ```raml #%RAML 1.0 title: American Flights API /flights: get: queryParameters: destination: required: false enum: - SFO - LAX - CLE post: /{ID}: get: ``` 2. ネストされたリソースを API Console に表示します。 ![ネストされたリソースが含まれる API Console](/mulesoft/current/ja-jp/anypoint-code-builder/_images/sub-methods-api-console.png) 3. [API 仕様へのサンプルの追加](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-add-request-response-details)に進みます。 # American Flights アプリケーションのデバッグ **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 American Flights のインターフェースと実装をデバッグします。 ## [](#始める前に)始める前に 次の手順を実行します。 1. [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api) 2. [American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights) 3. [American Flights API 仕様の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-implement-am-flights-api) ## [](#コンポーネントを追加する)コンポーネントを追加する デバッグを容易にするには、Set Variable コンポーネントと Logger コンポーネントを American Flights 実装に追加します。 1. 実装ファイル (​`implementation.xml`​) を開きます。 2. **\[Query Flights (フライトを照会)\]**​ という名前の Database Select 操作 (​``​) の後に Set Variable コンポーネントを追加します。 設定 XML で次の ​``​ 設定を指定します。 ```xml ``` 3. Transform コンポーネント (​``​) の後に、次の設定を含む Logger コンポーネントを追加します。 ```xml ``` 完全な実装 XML 例を表示するには、クリックしてください。 ```xml (1) { ID: payload01.ID, code: (payload01.code1 default "") ++ (payload01.code2 default ""), price: payload01.price default 0, departureDate: payload01.takeOffDate as String default "", origin: payload01.fromAirport default "", destination: payload01.toAirport default "", emptySeats: payload01.seatsAvailable default 0, plane: { "type": payload01.planeType default "", totalSeats: payload01.totalSeats default 0 } } ]]> (2) ```
1Set Variable コンポーネント
2Logger コンポーネント
4. [ブレークポイントを追加する](#add-breakpoint)​に進みます。 アプリケーションの実行を一時停止するブレークポイントのセットアップ方法を確認します。 ## [](#add-breakpoint)ブレークポイントを追加する American Flights プロジェクトにブレークポイントを追加する手順は、次のとおりです。 1. American Flights プロジェクトの​_インターフェース_​ (​`interface.xml`​) を開きます。 2. アクティビティバーで ​**\[Run and Debug (実行およびデバッグ)\]**​ アイコンを選択します。 ![コードエディターでインターフェース XML ファイルが開き、\[Run and Debug (実行およびデバッグ)\] アイコンが強調表示されています](_images/run-and-debug.png) 3. インターフェースファイル (​`interface.xml`​) で、​``​ コンポーネントが含まれる行にブレークポイントを追加します。 ![コードエディターでインターフェース XML ファイルが開き、ブレークポイントが有効になっています](/mulesoft/current/ja-jp/anypoint-code-builder/_images/add-breakpoint.png) または、F9 を使用して行にブレークポイントを追加します。 4. American Flights プロジェクトの実装ファイル (​`implementation.xml`​) を開き、ブレークポイントを ​``​ および ​``​ コンポーネントに追加します。 5. すべてのブレークポイントが ​**\[Breakpoints (ブレークポイント)\]**​ パネルにリストされるようになりました。 ![3 つの有効なブレークポイントが表示されているメニューパネル](/mulesoft/current/ja-jp/anypoint-code-builder/_images/breakpoints-panel.png) 6. [デバッグセッションを開始する](#debug)​に進みます。 デバッグセッションを実行し、アプリケーションの実行中にさまざまなポイントでメッセージと変数を調べます。 ## [](#debug)デバッグセッションを開始する 1. **\[Run and Debug (実行およびデバッグ)\]**​ メニューから、​**\[Debug Mule Application (Mule アプリケーションをデバッグ)\]**​ をクリックします。 ![\[Run and Debug (実行およびデバッグ)\] と \[Debug Mule Application (Mule アプリケーションをデバッグ)\] アイコンが両方とも強調表示されています](_images/start-debugging.png) IDE でアプリケーションがパッケージ化され、新しいターミナルが開きます。このターミナルでアプリケーションを埋め込み Mule Runtime Engine にデプロイします。 ![アプリケーションの状況がデプロイ済みとして表示されているターミナルウィンドウ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/packaged-and-running-terminals.png) 2. [American Flights アプリケーションをテストする](#test)​に進みます。 ## [](#test)American Flights アプリケーションをテストする デバッグセッションが開始されたら、次の手順を実行します。 1. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 2. ターミナルで ​`curl`​ コマンドを使用して、実装ではなく​_インターフェース_​ (​`interface.xml`​) のリスナーに対して GET 要求を実行します。 ```URI curl http://localhost:8081/api/flights ``` インターフェースのリスナーの URI にある ​`_//api/flights_`​ に注意してください。この手順の詳細は、​[「フローをトリガーする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-trigger-flows#trigger-flow)​を参照してください。 3. American Flights プロジェクトの最初のブレークポイントでアプリケーションの実行が停止することを確認します。 ![ブレークポイントでのフローの停止](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debug-stop-at-flow-ref.png) ブレークポイントはインターフェースファイル (​`interface.xml`​) に配置されています。 4. デバッグツールバーで ​**\[Step Over (ステップオーバー)\]**​ ボタンをクリックして、​`implementation.xml`​ の ​``​ 要素にある次のブレークポイントまで実行を継続します。 5. **\[Run and Debug (実行およびデバッグ)\]**​ サイドバーの ​**\[Variables (変数)\]**​ パネルにブレークポイントでの Mule イベントに関する情報が提供されていることを確認します。 ![実行が停止する設定 XML ファイルのブレークポイント](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debugger-stop-db-select.png) 6. デバッグツールバーで ​**\[Step Over (ステップオーバー)\]**​ ボタンをクリックして、​``​ 要素にある次のブレークポイントまで実行を継続します。 7. **\[Variables (変数)\]**​ パネルで ​**\[Mule Message (Mule メッセージ)\]**​ > ​**\[Payload (ペイロード)\]**​ に移動して、データベース応答がフライトデータの配列になっていることを確認します。 ![ペイロードのフライトデータの配列](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debugger-stop-set-variable.png) 8. [監視式を追加する](#watch)​に進みます。 ## [](#watch)監視式を追加する 1. **\[Run and Debug (実行およびデバッグ)\]**​ サイドバーから ​**\[Watch (監視)\]**​ パネルを開きます。 2. パネルの ​**\[+\]**​ アイコンをクリックし、式 ​`payload.^mediaType`​ を追加します。 ![\[Add Expression (式を追加)\] ボタンが強調表示され、アプリケーション変数が表示されているデバッグウィンドウ](_images/debug-add-expression.png) 3. 実行が Transform Message コンポーネント (​``​) に移動するまで ​**\[Step Over (ステップオーバー)\]**​ ボタンをクリックします。 4. ペイロードが ​`application/java`​ であることに注意してください。 !["ペイロード種別「application/java」が表示されている \[Watch (監視)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/tut-debug-mediatype-java.png) パネル"\] 5. Logger コンポーネント (​``​) に達するまで引き続き ​**\[Step Over (ステップオーバー)\]**​ ボタンをクリックします。 6. ペイロードが ​`application/json`​ に変換されていることに注意してください。 ![ペイロード種別「application/json」が表示されている \[Watch (監視)\] パネル](_images/tut-debug-mediatype-json.png) 7. デバッグツールバーの ​**\[Continue (続行)\]**​ ボタンをクリックし、アプリケーションがデータベースから REST クライアントまたはブラウザーに応答を返すことを確認します。 完全な実装 XML 例を表示するには、クリックしてください。 ```JSON [ { "ID": 1, "code": "rree0001", "price": 541, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "LAX", "emptySeats": 0, "plane": { "type": "Boeing 787", "totalSeats": 200 } }, { "ID": 2, "code": "eefd0123", "price": 300, "departureDate": "2016-01-25T00:00:00", "origin": "MUA", "destination": "CLE", "emptySeats": 7, "plane": { "type": "Boeing 747", "totalSeats": 345 } }, { "ID": 3, "code": "ffee0192", "price": 300, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "LAX", "emptySeats": 0, "plane": { "type": "Boeing 777", "totalSeats": 300 } }, { "ID": 4, "code": "rree1000", "price": 200, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "CLE", "emptySeats": 5, "plane": { "type": "Boeing 737", "totalSeats": 150 } }, { "ID": 5, "code": "rree1093", "price": 142, "departureDate": "2016-02-11T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 1, "plane": { "type": "Boeing 737", "totalSeats": 150 } }, { "ID": 6, "code": "ffee1112", "price": 954, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "CLE", "emptySeats": 100, "plane": { "type": "Boeing 787", "totalSeats": 200 } }, { "ID": 7, "code": "eefd1994", "price": 676, "departureDate": "2016-01-01T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 0, "plane": { "type": "Boeing 777", "totalSeats": 300 } }, { "ID": 8, "code": "ffee2000", "price": 300, "departureDate": "2016-02-20T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 30, "plane": { "type": "Boeing 737", "totalSeats": 150 } }, { "ID": 9, "code": "eefd3000", "price": 900, "departureDate": "2016-02-01T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 0, "plane": { "type": "Boeing 737", "totalSeats": 150 } }, { "ID": 10, "code": "eefd4511", "price": 900, "departureDate": "2016-01-15T00:00:00", "origin": "MUA", "destination": "LAX", "emptySeats": 100, "plane": { "type": "Boeing 777", "totalSeats": 300 } }, { "ID": 11, "code": "rree4567", "price": 456, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 100, "plane": { "type": "Boeing 737", "totalSeats": 150 } } ] ``` 8. [デバッグセッションを停止する](#stop)​に進みます。 ## [](#stop)デバッグセッションを停止する デバッグセッションを停止する手順は、次のとおりです。 1. デバッグツールバーで ​**\[Stop (停止)\]**​ ボタンをクリックします。 ![デバッグツールバーからのデバッグセッションの停止](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debugger-stop.png) 2. [American Flights アプリケーションのデプロイ](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-deploy-am-flights)に進みます。 # American Flights アプリケーションのデプロイ ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 CloudHub に American Flights アプリケーションをデプロイします。CloudHub にデプロイしたら、Anypoint Runtime Manager でアプリケーションを管理します。 Anypoint Code Builder で Mule アプリケーションが CloudHub の本番以外の ​**Sandbox**​ 環境にデプロイされます。 ## [](#始める前に)始める前に 次の手順を実行します。 1. [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api) 2. [American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights) 3. [American Flights API 仕様の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-implement-am-flights-api) 4. [American Flights アプリケーションのデバッグ](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-debug-am-flights) 5. IDE から Anypoint Platform にログインします。ログインしない場合、実行する操作で認証が必要なときに、ログインするように促されます。確認を促されたら、UI のメッセージに従ってログインプロセスを完了できます。 ## [](#cloudhub-にアプリケーションをデプロイする)CloudHub にアプリケーションをデプロイする 1. Anypoint Code Builder でプロジェクトを開きます。 2. 設定 XML ファイルが開いているときに ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-deploy.png)​ (​**\[Deploy to CloudHub (CloudHub にデプロイ)\]**​) アイコンをクリックします。次に例を示します。 ![\[Deploy to CloudHub (CloudHub にデプロイ)\] ロケットアイコン](_images/deploy-to-cloudhub-icon-with-detail.png) または、Cmd+Shift+p (Mac) または Ctrl+Shift+p (Windows) を押してコマンドパレットを開き、次のコマンドを入力します。 ```command MuleSoft: Deploy to CloudHub ``` ![強調表示された \[MuleSoft: Deploy to CloudHub (Mulesoft: CloudHub にデプロイ)\] コマンド](_images/deploy-to-cloudhub.png) 3. Anypoint Platform にサインインするように促されたら、サインインします。 4. **\[Deploy (デプロイ)\]**​ をクリックするように促されたら、クリックします。 Anypoint Code Builder でデプロイメントファイル (​`deploy.json`​) が作成され、確認のためにそのファイルが開きます。次に例を示します。 ```json { "runtime": "4.4.0", "workerSize": 0.1, "applicationName": "american-ws-anypoint-code-builder" "workers": 1, "autoStart": true } ``` - `applicationName`​ プロパティでは、CloudHub のアプリケーションにアクセスするための URL の一部を定義します。 - この名前は、CloudHub のビジネスグループにデプロイされているすべてのアプリケーションで一意である必要があります。 - `runtime`​ バージョンは、インテグレーションの作成時に選択した Mule Runtime バージョンです。 バージョンサポートと Mule パッチ自動更新については、​[「Mule と Java バージョンのサポート」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#versions-mule-jdk)​を参照してください。 5. デプロイメント設定を確認したら、​**\[Deploy (デプロイ)\]**​ をクリックしてアプリケーションを CloudHub にデプロイします。 ![デプロイメント設定ファイルが作成されたことを示すポップアップメッセージ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/deploy-config-created.png) 6. **\[Sandbox\]**​ 環境を選択します。 ![強調表示された設計および Sandbox 環境オプション](/mulesoft/current/ja-jp/anypoint-code-builder/_images/select-deployment-environment.png) その他の環境はサポートされていません。 Anypoint Code Builder でアプリケーションがパッケージ化されて CloudHub にデプロイされます。 7. デプロイメントが完了したら、​**\[Open in Runtime Manager (Runtime Manager で開く)\]**​ を選択します。 8. リストアプリケーションからアプリケーションを選択します。 9. アプリケーションのドメイン名を確認し、必要に応じてアプリケーションをテストします。 たとえば、EU クラウドでは American Flights の例の名前は ​`american-ws-anypoint-code-builder.eu-s1.cloudhub.io`​ のようになります。この例を開始するには、REST クライアントまたはブラウザーを開き、​`http://american-ws-anypoint-code-builder.eu-s1.cloudhub.io/api/flights`​ などの URI に対して GET 要求を実行します。 # American Flights アプリケーションの開発 ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE Anypoint Code Builder を使用して、MySQL データベースからフライト情報を返す API 仕様を作成して実装します。 1. [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api): - American Flights API 仕様を開始します。 - リソースとメソッドを追加します。 - クエリパラメーターとネストされたリソースを追加します。 - フラグメントと例を追加します。 - Exchange からの取得した、データ型と例の API フラグメントを American Flights API 仕様に追加します。 - 仕様の独自の例を作成します。 - 応答のカスタムメッセージを追加します。 2. [API 仕様へのサンプルの追加](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-add-request-response-details) API Console でモッキングサービスを使用して、American Flights API 用に設定した要求と応答を確認します。 3. [Anypoint Exchange への API 仕様のパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-publish-api-spec-to-exchange): American Flights API 仕様を Exchange にパブリッシュして、他のチームメンバーがその仕様を見つけて実装できるようにします。 4. American Flights の例のインテグレーションアプリケーションを作成します。 1. [American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights): 最初に American Flights の例の基本インテグレーションを作成します。このインテグレーションでは、American Flights API からの要求を処理するいくつかのロジックが提供されます。 2. [アプリケーションからデータベースへの接続](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-connect-to-a-db): - Exchange からデータベース用 Anypoint Connector (Database Connector) をインポートします。 - Mule フローから外部データベースに接続するデータベース操作を設定します。 3. [DataWeave を使用したフライトデータの変換](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-use-dataweave): DataWeave を使用してフライトデータを変換して API 仕様に一致させます。 5. [American Flights API 仕様の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-implement-am-flights-api): - Anypoint Exchange から American Flights API 仕様をインポートします。 - 開発している American Flights プロジェクトに仕様をスキャフォールディングします。 - API にエンドポイントを実装するロジックを追加します。 6. [American Flights アプリケーションのデバッグ](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-debug-am-flights): - フローの動作をより深く理解できるように Logger および Set Variable コンポーネントを追加して、Mule アプリケーションのデバッグ準備を整えます。 - デバッグセッション中の特定のポイントで Mule アプリケーションを停止するブレークポイントをセットアップします。 - デバッグセッションを実行し、アプリケーションの実行中にさまざまなポイントでメッセージと変数を調べます。 7. [American Flights アプリケーションのデプロイ](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-deploy-am-flights): - CloudHub に American Flights アプリケーションをデプロイします。 - チームが API に要求を送信して、データベースからフライト情報を返すことができるようにします。 # American Flights プロセスの統合 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 最初に American Flights の例の基本インテグレーションを作成します。このインテグレーションは、American Flights API からの要求を処理するいくつかのロジックを提供する Mule アプリケーションです。 ## [](#始める前に)始める前に 次の手順を実行します。 - [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api) (API 仕様の作成から Exchange への仕様のパブリッシュまでのすべてのタスク) - Postman や Advanced REST クライアントなどの REST クライアントのインストール。 ## [](#mule-アプリケーションを作成する)Mule アプリケーションを作成する American Flights の例のインテグレーションアプリケーションを開始します。 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 ![VS Code アクティビティバーの MuleSoft アイコン](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-mulesoft-in-activity-bar.png) 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Develop an Integration (インテグレーションを開発)\]**​ をクリックします。 ![\[Getting started (使用開始)\] セクション内で強調表示されている \[Develop an Integration (インテグレーションを開発)\]リンク](_images/develop-integration-option-mat.png) 3. **\[Develop an Integration (インテグレーションを開発)\]**​ フォームにインテグレーションプロジェクトプロパティを入力します。 ![インテグレーションプロジェクトを最初から作成します。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-create-integration-scratch.png) 1. **\[Project Name (プロジェクト名)\]**​ で​`「american-ws-anypoint-code-builder」`​と入力します。 2. **\[Project Location (プロジェクトの場所)\]**​ で ​**\[Browse (参照)\]**​ を選択してホームディレクトリを選択します。 3. **\[Create (作成)\]**​ で、​**\[Empty Project (空のプロジェクト)\]**​ を選択します。 4. **Mule Runtime**​ および ​**Java**​ バージョンを選択します。 サポートされている Mule Runtime と Java バージョンのいずれかを選択できます。IDE は、バージョン設定をプロジェクトの ​`mule-artifact.json`​ ファイルに保存します。 バージョンサポートと Mule パッチ自動更新については、​[「Mule と Java バージョンのサポート」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#versions-mule-jdk)​を参照してください。 作成するプロジェクトのデフォルトの Mule Runtime バージョンと Java バージョンを設定するには、[Mule、Java、コネクタのバージョン設定](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions)を参照してください。 4. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 IDE では、プロジェクト用に選択した Mule Runtime バージョンまたは Java バージョンをダウンロードする必要がある場合に通知が表示されます。Mule Runtime は ​`${user.home}/AnypointCodeBuilder/runtimes`​ にダウンロードされ、選択した Java バージョンは ​`${user.home}/AnypointCodeBuilder/java`​ にダウンロードされます。 5. [HTTP リスナー操作と Set a Payload の設定](#configure)​に進みます。 ## [](#configure)HTTP リスナー操作と Set a Payload の設定 リスナーの目的はフローをトリガーすることです。Set Payload でインテグレーション用の一部のテストデータを提供します。 1. プロジェクトのキャンバスおよび設定 XML が開いていない場合、\[Explorer\] から ​`american-ws-anypoint-code-builder.xml`​ に移動します。 ![Mule フローと Mule 設定ファイルの視覚表現領域に表示されている american-ws-anypoint-code-builder.xml ファイル](/mulesoft/current/ja-jp/anypoint-code-builder/_images/empty-canvas-state.png)
1キャンバスでは、Mule フローまたはサブフローを視覚的に表現する領域が提供されます。
2設定 XML エディターには、Mule アプリケーションの設定ファイルが表示されます。
2. キャンバスで ​**\[Build a Flow (フローをビルド)\]**​ を選択して、Mule インテグレーションアプリケーション内で空のフローを作成します。 3. キャンバスまたは設定 XML からフローのデフォルト名を変更します。 - キャンバスから - 設定 XML から **\[Flow name1 (フロー 名前 1)\]**​ をクリックして Flow コンポーネントの設定パネルを開き、フロー名を ​`getFlights`​ に変更し、チェックマークをクリックして新しい名前を設定します。 ![キャンバスからフローの名前を変更。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-flow-name-ui.png) フローのデフォルトの名前 (​`name1 (名前 1)`​) を ​`getFlights`​ に置き換えます。
自動的に生成されたフロー要素 名前変更されたフロー要素
<flow name="name1" >

</flow>
<flow name="getFlights" >

</flow>
4. HTTP Listener コンポーネントを設定 XML に追加します。 1. キャンバスの ​**Flow**​ コンポーネントの後で ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 ![フロー内で強調表示されているプラスアイコン](/mulesoft/current/ja-jp/anypoint-code-builder/_images/main-tutorial-add-first-http-listener.png) 2. **\[HTTP\]**​ の検索結果から ​**\[Listener\]**​ を選択します。 ![\[Add Component (コンポーネントを追加)\] セクション内で強調表示されている Listener コンポーネント](_images/main-tutorial-add-first-listener.png) 設定 XML ファイルでは HTTP リスナーの XML が ​``​ 要素に追加されます。次に例を示します。 ```XML ``` 5. 設定 XML で、 開始タグの前にカーソルを置いて​`「http」`​と入力します。 6. 組み込み ​``​ スニペットを選択します。 ![設定 XML メニュー内で強調表示されている http:listener-config](/mulesoft/current/ja-jp/anypoint-code-builder/_images/add-http-config-snippet.png) スニペット XML の例: ```xml ``` メニュー内では、スニペットは ​_2 次元_​ボックスアイコンで表されている部分的に設定された Mule コンポーネントです。3 次元ボックスアイコンは、事前設定されていない基本コンポーネント XML 用に予約されています。コードスニペットについての詳細は、[コードスニペットの操作](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets)を参照してください。 7. 設定 XML で、HTTP リスナー設定 ​``​ の属性を設定します。 ```xml ``` ``​ とその子要素 ​``​ で、属性を例で指定された値に設定します。 `[name (名前)]`​ 属性が ​`inbound-request`​ に変更されています。​`doc:id`​ はランダムに生成されます。変更する必要はありません。 8. HTTP リスナー設定の属性を設定します。 - キャンバスから - 設定 XML から **\[Listener\]**​ 操作をクリックして、その設定パネルを開き、HTTP Listener の属性を次の値に設定します。 ![設定パネルを使用した Listener 操作の設定。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/tut-int-listener-component-ui.png)
1操作名を ​HTTP /flights​ に変更します。
2設定参照ドロップダウンメニューから ​[inbound-request]​ を選択します。
3[Path (パス)]​ 属性を ​[flights (フライト)]​ に設定します。
``​ で、属性を例で指定された値に設定します。 ```xml ``` 9. キャンバスから、HTTP Listener 操作の後に Set Payload コンポーネントを追加します。 10. Set Payload コンポーネント属性を設定します。 - キャンバスから - 設定 XML から \[Set Payload\] コンポーネントをクリックして、その設定パネルを開き、属性を次の値に設定します。 ![設定パネルを使用した Set Payload コンポーネントの設定。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/tut-int-set-payload-component-ui.png)
1コンポーネント名を ​Set Response​ に変更します。
2[Value (値)]​ 属性を ​[Flight info (フライト情報)]​ に設定します。
``​ で、属性を例で指定された値に設定します。 ```xml (1) ```
1value​ 属性を​「Flight info」​ (フライト情報) に設定し、​doc:name​ を​「Set Response」​ (応答を設定) に設定します。
11. 設定 XML の ​``​ の前で ​**\[Test Connection (接続をテスト)\]**​ をクリックし、HTTP リスナー接続を確認します。 UI では次の状況が提供されます。 - **Verifying connection inbound-request (接続のインバウンド要求を検証中)**​: テストが進行中であることを示します。 - **Connection is valid (接続は有効)**​: 正常に接続されていることを示します。 - **Invalid Connection Got status code: 500 when trying to resolve a Mule Runtime operation (Mule Runtime 操作を解決しようとしているときに無効な接続で状況コード 500 を取得)**​: 接続エラーを示します。 一般的なコード ​`500`​ エラーは、​`[port 8081: Address already in use (ポート 8081: アドレスはすでに使用中)]`​ です。ポート競合の場合、別のポート (​`8082`​ など) を設定して設定をリセットします。 12. **\[Connection is valid (接続は有効)\]**​ メッセージを受け取ったら、​[デバッグモードでアプリケーションを実行する](#run)​に進みます。 ## [](#run)デバッグモードでアプリケーションを実行する 1. \[Run and Debug (実行とデバッグ)\] パネルを開きます。 手順を表示 - アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**Run and Debug (実行とデバッグ)**​) アイコンをクリックする。 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+d - Windows: Ctrl+Shift+d - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 2. **\[Debug Mule Application (Mule アプリケーションをデバッグ)\]**​ で ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-start-debug.png)​ (​**\[Start Debugging (F5) (デバッグを開始 (F5))\]**​) アイコンをクリックします。 ![デバッガーを実行します。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/run-debugger.png) Anypoint Code Builder で Maven を使用してアプリケーションが構築され、埋め込み Mule Runtime Engine にデプロイされます。 **\[Run (実行)\]**​ > ​**\[Start without Debugging (デバッグなしで実行)\]**​ を使用すると、エラーが発生します。 3. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 ```terminal ******************************************************************************* * - - + APPLICATION + - - * - - + DOMAIN + - - * - - + STATUS + - - * ******************************************************************************* * american-ws-anypoint-code-builder-1.0.0-SNAPS * default * DEPLOYED * ******************************************************************************* ``` 4. [アプリケーションをテストする](#test)​に進みます。 ## [](#test)アプリケーションをテストする IDE のターミナルを使用してフローをトリガーします。 1. `/flights`​ エンドポイントへの URL を使用してターミナルから ​`curl`​ コマンドを実行し、フローをトリガーします。 ```URI curl http://0.0.0.0:8081/flights ``` 詳細は、​[「フローをトリガーする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-trigger-flows#trigger-flow)​を参照してください。 2. REST クライアントまたはブラウザーで応答 ​**\[Flight info (フライト情報)\]**​ がないかを確認します。 この応答を受け取っていない場合、または接続エラーを受け取った場合、XML 設定を見直して、アプリケーションがデプロイされていることを確認し、HTTP リスナー接続を再確認します。 3. **\[Flight info (フライト情報)\]**​ 応答を受け取ったら、​[アプリケーションを停止する](#stop)​に進みます。 ## [](#stop)アプリケーションを停止する 1. Anypoint Code Builder のツールバーから停止アイコンを選択します。 ![ツールバー内で強調表示されている停止アイコン](/mulesoft/current/ja-jp/anypoint-code-builder/_images/stop-mule-application.png) 2. [アプリケーションからデータベースへの接続](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-connect-to-a-db)に進み、Exchange からコネクタをインポートして、American Flights API のフライトに関するデータを返す既存のデータベースに接続します。 # Anypoint Code Builder Release Notes **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Use the Anypoint Code Builder integrated development environment (IDE) for your API designs, implementations, and integration development. Work locally with Anypoint Code Builder for Desktop on Microsoft Visual Studio Code (VS Code) or from your browser with Anypoint Code Builder on Anypoint Platform. The IDEs support the development lifecycle: - API specification design (AsyncAPI, gRPC, OAS, and RAML), a mocking service for testing, source control, and publication to Anypoint Exchange - API implementation features for importing supported API specifications (AsyncAPI, GraphQL, gRPC, OAS, and RAML) and autogenerating interfaces (scaffolding) for flows and error handlers within a Mule application - Integration development to connect systems, transform data to required formats, and provide business logic to manage messages and events programmatically within a Mule application ## [](#october-23-2026)October 23, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.28.1 To use this extension pack, see [Set up Anypoint Code Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements, see [Anypoint Code Builder Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### Fixed Issues
Issue Resolution ID

Global Elements now shows required external libraries as expected when those libraries are defined on the connector configuration, such as Spring Config.

W-24612980

Anypoint Code Builder updates its OpenJDKs.

W-24630068

## [](#october-21-2026)October 21, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.28.0 To use this extension pack, see [Set up Anypoint Code Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements, see [Anypoint Code Builder Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-october-21-2026)What’s New This release introduces these features. - [Support for Mule Runtime 4.13.0](#support-for-mule-runtime-4-13-october-21-2026) - [Support for Mule Maven Plugin 4.10.3](#support-for-mule-maven-plugin-4-10-3-october-21-2026) - [Support for Scaffolding OAS 3.1 API Specifications](#oas-3-1-scaffolding-october-21-2026) - [Support for Anypoint Platform Private Cloud Edition](#pce-support-october-21-2026) - [Support for Locally Added Mule Runtime Versions](#local-mule-runtime-october-21-2026) - [Support for Hyperforce in the UK Region](#support-for-uk-region-october-21-2026) - [Agent Network Improvements](#agent-network-improvements-october-21-2026) ### [](#support-for-mule-runtime-4-13-october-21-2026)Support for Mule Runtime 4.13.0 Anypoint Code Builder now supports Mule runtime version 4.13.0 for developing, running, and deploying Mule applications. Create new projects with Mule runtime 4.13.0 or update existing projects to use this runtime version in project properties. For more information, see [Bundled Mule Runtime Versions](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions#bundled-runtimes). ### [](#support-for-mule-maven-plugin-4-10-3-october-21-2026)Support for Mule Maven Plugin 4.10.3 Anypoint Code Builder now supports Mule Maven Plugin version 4.10.3 for developing, running, and deploying Mule applications. Create new projects with Mule Maven Plugin 4.10.3 or update existing projects to use this plugin version in the project POM. For more information, see [mule-maven-plugin/mule-maven-plugin-release-notes.adoc](#mule-maven-plugin/mule-maven-plugin-release-notes.adoc). ### [](#oas-3-1-scaffolding-october-21-2026)Support for Scaffolding OAS 3.1 API Specifications Anypoint Code Builder now scaffolds Mule projects from OpenAPI Specification (OAS) 3.1 API specifications, in addition to the formats already supported. You can scaffold from JSON or YAML specifications and get structured diagnostics when a specification can’t be scaffolded. For more information, see [OAS、RAML、および GraphQL API の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-api-specs). ### [](#pce-support-october-21-2026)Support for Anypoint Platform Private Cloud Edition Anypoint Code Builder now connects to Anypoint Platform Private Cloud Edition (PCE) instances hosted in your own data center, so you can design, develop, and deploy Mule applications against a private control plane. For more information, see [Cloud Hosts](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds). ### [](#local-mule-runtime-october-21-2026)Support for Locally Added Mule Runtime Versions Anypoint Code Builder now lists a Mule runtime version that you copy into `${user.home}/AnypointCodeBuilder/runtimes/user-installed`. The version appears when you create a project and in **Project Properties**, so you can use a runtime version that Anypoint Code Builder does not include, such as a version for Private Cloud Edition. For more information, see [Add a Mule Runtime Version Locally](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#add-local-mule-runtime). ### [](#support-for-uk-region-october-21-2026)Support for Hyperforce in the UK Region Anypoint Code Builder now supports the [United Kingdom Cloud](https://gb1.platform.mulesoft.com) control plane of Anypoint Platform. For more information about Anypoint Platform availability on control planes, see [Cloud Hosts](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds). ### [](#agent-network-improvements-october-21-2026)Agent Network Improvements This release includes improvements for authoring and deploying agent networks for Agent Fabric. For more information, see the [Agent Fabric Release Notes](https://docs.mulesoft.com/jp/release-notes/agent-fabric/agent-fabric-release-notes). ### Fixed Issues
Issue Resolution ID

MUnit tests now resolve BOM-managed dependency versions correctly when run from the Anypoint Code Builder UI.

W-23448108

The Transformation Builder now preserves namespaces when mapping input for services that expect XML.

W-23768550

The Transformation Builder now handles several mapping edge cases correctly.

W-23768451

Anypoint Code Builder no longer retries Mule framework instance creation repeatedly when a security key is invalid.

W-23864352

The debugger now visually indicates a pause after the Publish operation when using VM Pub/Sub.

W-23959396

FIPS configuration now references the generated java.fips.security file in the design service JVM launch command.

W-24176669

FIPS setup now applies the trust store password alongside a custom javax.net.ssl.trustStore path, so MAC verification succeeds on the generated BCFKS cacerts.

W-24176694

Anypoint Code Builder now keeps the Mule module metadata version and javaSpecificationVersions consistent automatically.

W-24192883

AccessDeniedException errors no longer recur in the logs on Windows.

W-24207276

Secure properties connections now resolve reliably instead of intermittently reporting an unknown connection type.

W-24220432

Anypoint Code Builder no longer deletes the shared JDK that the platform JVM is running on.

W-24236209

Canvas component icons now render correctly instead of showing as Unknown when connector types resolve after the first render.

W-24280838

Code search results now open directly in Code View.

W-24278214

The Error Type list is now contextual and no longer shows every error type.

W-24335809

Anypoint Code Builder desktop workspace settings no longer allow arbitrary JVM arguments that could lead to command execution.

W-24408390

Export Project now uses the current project’s name and saves the JAR to the selected folder.

W-24455874

## [](#september-22-2026)September 22, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.27.0 To use this extension pack, see [Set up Anypoint Code Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements, see [Anypoint Code Builder Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-september-22-2026)What’s New This release introduces these features. - [Managing Global Elements](#managing-global-elements-september-22-2026) - [Upgrading All Connectors with One Click](#upgrade-all-connectors-september-22-2026) - [Viewing Project Dependencies](#viewing-project-dependencies-september-22-2026) - [Navigating to Flows That Reference a Subflow](#navigate-to-referencing-flows-september-22-2026) ### [](#managing-global-elements-september-22-2026)Managing Global Elements You can now add, edit, and delete global configurations directly from **Global Elements**, without editing XML. Click **New Configuration** to create connector configurations, TLS contexts, object stores, caching strategies, API Autodiscovery, global error handlers, import project references, and properties files, and encrypt secure property values from the same view. For more information, see [anypoint-code-builder::int-global-config-elements.adoc](#anypoint-code-builder::int-global-config-elements.adoc). ### [](#upgrade-all-connectors-september-22-2026)Upgrading All Connectors with One Click You can now upgrade every connector in a project to its latest version with a single action in **Project Properties**, so you no longer need to update connectors one at a time. For more information, see [Upgrade All Connectors in a Project](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions#upgrade-all-connectors). ### [](#viewing-project-dependencies-september-22-2026)Viewing Project Dependencies Anypoint Code Builder now provides a visual way to view the dependencies added to a project, so you no longer need to inspect the project’s POM file to see what a project depends on. For more information, see [anypoint-code-builder::start-view-project-dependencies.adoc](#anypoint-code-builder::start-view-project-dependencies.adoc). ### [](#navigate-to-referencing-flows-september-22-2026)Navigating to Flows That Reference a Subflow From the canvas context menu, you can now select a subflow and navigate to every flow that references it, making it easier to trace execution paths and assess the impact of changes across a project. For more information, see [Find Flows That Reference a Subflow](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components#find-referencing-flows). ### Fixed Issues
Issue Resolution ID

The Add Component (+) button now appears on hover in the descriptive UI as expected.

W-23437230

Bundled connectors now load reliably on startup and are no longer skipped due to a stale interrupt flag.

W-24014499

The design service now works as expected for projects using JDK 17 with Mule runtime 4.6.x.

W-24079635

The canvas now renders components correctly when the dynamic tooling cache file is truncated, instead of showing every component as Unknown.

W-24154114

FIPS trust store setup now succeeds with BCFKS source keystores when a custom Cacerts path is configured.

W-24152130

Loading the bundled connector cache no longer causes out-of-memory errors on low-resource machines.

W-24117873

## [](#september-4-2026)September 4, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.26.2 To use this extension pack, see [Set up Anypoint Code Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements, see [Anypoint Code Builder Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-september-4-2026)What’s New This release introduces these features. - [Support for Mule Runtime 4.12](#support-for-mule-runtime-4-12-september-4-2026) - [Upgrade Mule Applications with the upgrade-mule-app Skill](#upgrade-mule-app-skill-september-4-2026) ### [](#support-for-mule-runtime-4-12-september-4-2026)Support for Mule Runtime 4.12 Anypoint Code Builder now supports Mule runtime version 4.12 for developing, running, and deploying Mule applications. Create new projects with Mule runtime 4.12.0 or update existing projects to use this runtime version in project properties. For more information, see [Bundled Mule Runtime Versions](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions#bundled-runtimes). ### [](#upgrade-mule-app-skill-september-4-2026)Upgrade Mule Applications with the upgrade-mule-app Skill MuleSoft Vibes now includes the `upgrade-mule-app` skill, which upgrades a Mule application to a later Mule runtime version and Java version. For more information, see [anypoint-code-builder::vibes-skills.adoc](#anypoint-code-builder::vibes-skills.adoc). ### Fixed Issues
Issue Resolution ID

Error handlers scaffolded from an API specification now map the Error Type correctly.

W-19987815

Running a Mule application on Windows no longer requires administrator permission.

W-23172858

The canvas now loads as expected when the project.json file is corrupted.

W-23846800

MCP server network requests now succeed when a proxy is configured.

W-23853401

The debugger’s Step Over action now pauses at the next step when Save & Hot Deploy is used.

W-23959338

## [](#august-24-2026)August 24, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.25.0 To use this extension pack, see [Set up Anypoint Code Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements, see [Anypoint Code Builder Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-august-24-2026)What’s New This release introduces these features. - [Managing API Spec Versions](#managing-api-spec-versions-august-24-2026) - [Navigating to Flows in Reusable Libraries](#navigate-to-flows-in-reusable-libraries-august-24-2026) - [Triggering On-Demand Scheduler from the Canvas](#trigger-on-demand-scheduler-from-canvas-august-24-2026) - [Agent Network Improvements](#agent-network-improvements-august-24-2026) ### [](#managing-api-spec-versions-august-24-2026)Managing API Spec Versions Anypoint Code Builder now lets you view API specification details and change API dependency versions from **Project Properties**. When you update a version, the IDE re-scaffolds your project and notifies you about the result, including errors and incompatibilities. You can also manage API versions with MuleSoft Vibes. For more information, see [anypoint-code-builder::imp-manage-api-spec-versions.adoc](#anypoint-code-builder::imp-manage-api-spec-versions.adoc). ### [](#navigate-to-flows-in-reusable-libraries-august-24-2026)Navigating to Flows in Reusable Libraries Anypoint Code Builder now supports **Go to Flow** for flows imported from Mule project dependencies (reusable libraries). You can open those flows in a read-only canvas and view their read-only XML to inspect them at design time, and step into them while debugging a Flow Reference. For more information, see [Navigate to the Referenced Flow](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-flow-ref#navigate-to-the-referenced-flow). ### [](#trigger-on-demand-scheduler-from-canvas-august-24-2026)Triggering On-Demand Scheduler from the Canvas During an active run or debug session, you can now trigger a scheduler flow on demand from a **Play** button on the scheduler source node, without waiting for the next scheduled run. The flow runs exactly as it would on a scheduled trigger, respecting your breakpoints and interceptors. For more information, see [Trigger a Scheduler On Demand](https://docs.mulesoft.com/jp/anypoint-code-builder/int-trigger-flows#trigger-scheduler-on-demand). ### [](#agent-network-improvements-august-24-2026)Agent Network Improvements This release includes improvements for authoring and deploying agent networks for Agent Fabric. For more information, see the [Agent Fabric Release Notes](https://docs.mulesoft.com/jp/release-notes/agent-fabric/agent-fabric-release-notes). ### Fixed Issues
Issue Resolution ID

Canceling the login process no longer displays an unexpected error.

W-20636555

The Problems tab no longer shows incorrect validation warnings for global configuration.

W-21322966

Opening a project no longer overwrites the maven-compiler-plugin source level to 1.8 when the project declares a different Java specification version.

W-23357940

The Re-scaffold this local API command is now available when you set up a multi-root workspace manually as expected.

W-23493499

The FIPS custom cacerts path setting now applies during FIPS conversion as expected.

W-23517641

Implement This Local API no longer fails intermittently on Windows with a Connection is closed error.

W-23546215

The IDE no longer rewrites pom.xml with identical content during DataSense tooling-cache sync.

W-23604327

## [](#august-6-2026)August 6, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.24.1 To use this extension pack, see [Set up Anypoint Code Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements, see [Anypoint Code Builder Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-august-6-2026)What’s New This release introduces these features. - [Support for Hyperforce in the Australia Region](#support-for-hyperforce-australia-august-6-2026) - [Agent Network Improvements](#agent-network-improvements-august-6-2026) - [Cloud IDE (Beta) Retirement](#cloud-ide-retirement-august-6-2026) ### [](#support-for-hyperforce-australia-august-6-2026)Support for Hyperforce in the Australia Region Anypoint Code Builder now supports the [Australia Cloud](https://au1.platform.mulesoft.com) control plane of Anypoint Platform. For more information about Anypoint Platform availability on control planes, see [Cloud Hosts](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds). ### [](#agent-network-improvements-august-6-2026)Agent Network Improvements This release includes improvements for authoring and deploying agent networks for Agent Fabric. For more information, see the [Agent Fabric Release Notes](https://docs.mulesoft.com/jp/release-notes/agent-fabric/agent-fabric-release-notes). ### [](#cloud-ide-retirement-august-6-2026)Cloud IDE (Beta) Retirement Cloud IDE (Beta) is scheduled for retirement on August 31, 2026. August 30, 2026 is the last day you can access Cloud IDE (Beta). Download your projects to work from Desktop IDE. Learn more in [Migrate a Project from Cloud IDE to Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project#migrate-cloud-to-desktop). ## [](#july-21-2026)July 21, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.24.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements for the desktop IDE, see [Desktop IDE Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the Visual Studio Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-july-21-2026)What’s New This release introduces these features. - [FIPS-Compliant Security Support](#fips-support-in-dependencies-july-21-2026) - [Support for Scaffolding OAS 3.0 APIs That Reference Exchange Fragments](#oas-fragment-scaffolding-july-21-2026) ### [](#fips-support-in-dependencies-july-21-2026)FIPS-Compliant Security Support Anypoint Code Builder now provides FIPS 140-2 and FIPS 140-3 compliant support through updated dependencies and UI support in the desktop IDE. This helps teams configure and run secure development workflows more consistently in regulated environments. For more information, see [anypoint-code-builder::start-fips-compliance.adoc](#anypoint-code-builder::start-fips-compliance.adoc). ### [](#oas-fragment-scaffolding-july-21-2026)Support for Scaffolding OAS 3.0 APIs That Reference Exchange Fragments Anypoint Code Builder now scaffolds OAS 3.0 API specifications that use `$ref` to reference Anypoint Exchange fragments. For more information, see [API 仕様フラグメントの作成および使用](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-fragments). ### Fixed Issues
Issue Resolution ID

Runtime default arguments now parse correctly when you configure application run settings.

W-23122012

The Transformation Builder component now appears with a consistent display name across the UI as expected.

W-22775707

The Add Component button now behaves consistently when you add components to your flow.

W-22293870

Autocomplete now supports partial text matches so you can find items faster while typing.

W-22454656

API spec projects now appear correctly in the Project and Project Dependencies panels.

W-22715444

XML debugger launch configurations now accept the noDebug property in launch.json as expected.

W-23122632

## [](#july-14-2026)July 14, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.23.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements for the desktop IDE, see [Desktop IDE Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-july-14-2026)What’s New This release introduces these features. - [Guided Determinism in Agent Broker and Agent Network 2.0](#support-mule-soft-agent-broker-july-14-2026) - [Improved Exchange Search Results](#improved-exchange-search-results-july-14-2026) - [Improved Java Detection with the Bundled JDK](#use-bundled-jdk-for-java-detection-july-14-2026) ### [](#support-mule-soft-agent-broker-july-14-2026)Guided Determinism in Agent Broker and Agent Network 2.0 Build agent and brokers and networks with predictable, governed orchestration using [Agent Script](https://developer.salesforce.com/docs/ai/agentforce/guide/agent-script.html)—a graph-based language that gives you explicit control over how brokers coordinate agents, tools, and LLMs. In Agent Network 2.0, agent brokers use guided determinism to separate LLM-powered reasoning from deterministic control flow, giving you intelligent decision-making where you need it and guaranteed execution paths everywhere else. For more information, see [Agent Fabric Release Notes](https://docs.mulesoft.com/jp/release-notes/agent-fabric/agent-fabric-release-notes) and [Building Agent Networks for Agent Fabric](https://docs.mulesoft.com/agent-network/latest/af-agent-networks). ### [](#improved-exchange-search-results-july-14-2026)Improved Exchange Search Results Anypoint Code Builder now uses platform search components for Exchange search experiences, which helps you find and select Exchange assets more consistently. This update improves search behavior across supported Exchange workflows. For more information, see [Exchange からのコネクタのインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components-import-connector-exchange). ### [](#use-bundled-jdk-for-java-detection-july-14-2026)Improved Java Detection with the Bundled JDK Anypoint Code Builder now uses the JDK in the `AnypointCodeBuilder` folder as the Java instance for supported workflows. This reduces setup issues and helps projects open and run more reliably across environments. For more information, see [Mule Runtime の問題とエラー](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-mule-runtime-errors). ### Fixed Issues
Issue Resolution ID

Mule language server operations now complete reliably without timing out during normal workflows.

W-23049419

MuleSoft Vibes requests now route through the proxy correctly.

W-23056251

The metadata tree now stays expanded when you open Transformation Builder with custom metadata.

W-23061578

Go To Flow now opens the referenced flow as expected.

W-23090107

Debugging now opens dependency flows referenced by flow-ref as expected.

W-23128325

Skill auto-update failures no longer display an error toast in the IDE.

W-23148357

Opening Mule projects on Windows now handles lowercase drive-letter paths correctly during Maven validation.

W-21968540

Uncommenting a component that Studio disabled now preserves valid Mule code.

W-22708555

The canvas now loads as expected when dependency resolution takes longer than usual.

W-23032933

DataWeave scripts now update correctly on Windows for array and nested mapping scenarios.

W-23122433

Anypoint Code Builder now connects reliably on slower computers during startup.

W-23232084

Projects that use CI-friendly ${revision} parent POM versions now load the flow canvas as expected.

W-23293643

## [](#june26-2026)June 26, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.22.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements for the desktop IDE, see [Desktop IDE Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-June26-2026)What’s New This release introduces these features. - [Faster Startup on Windows](#faster-startup-on-windows-june-26-2026) - [Faster Extension Startup with Optimized Bundle Loading](#faster-extension-startup-with-optimized-bundle-loading-june-26-2026) - [Updated MCP Connector Support](#updated-mcp-connector-support-june-26-2026) ### [](#faster-startup-on-windows-june-26-2026)Faster Startup on Windows Anypoint Code Builder now starts faster on Windows by optimizing Maven bookkeeping and bundle-loading operations during initialization. This reduces startup overhead so you can open projects and begin development more quickly. For more information, see [Anypoint Code Builder Startup](https://docs.mulesoft.com/jp/anypoint-code-builder/#acb-startup). ### [](#faster-extension-startup-with-optimized-bundle-loading-june-26-2026)Faster Extension Startup with Optimized Bundle Loading Anypoint Code Builder now reads bundle directories directly from the extension path, improving how workspaces initialize extension assets. This streamlines startup behavior and reduces delays in project readiness. For more information, see [Anypoint Code Builder Startup](https://docs.mulesoft.com/jp/anypoint-code-builder/#acb-startup) ### [](#updated-mcp-connector-support-june-26-2026)Updated MCP Connector Support Anypoint Code Builder now uses an updated MCP connector version to improve compatibility with current MCP integrations. This helps keep tool-driven workflows reliable across supported scenarios. For more information, see [MCP Connector in Anypoint Code Builder](#anypoint-code-builder::vibes-get-started.adoc#mcp-connector-in-ACB). ### Fixed Issues
Issue Resolution ID

The configuration panel now loads as expected for connectors that use XML simple-content elements with attributes.

W-23048952

Local JSON-RPC socket connections now initialize more reliably on slower or constrained machines.

W-23156379

MuleSoft Vibes Anypoint Platform tools now fetch user profiles correctly in the India region when listing applications.

W-23008805

Language server requests now continue reliably in slower environments without timing out prematurely during startup.

W-23049419

Platform shutdown now handles failed JSON-RPC initialization without additional NullPointerException errors.

W-23049504

Custom connectors that define union-typed object parameters now load correctly.

W-22863083

## [](#june18-2026)June 18, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.22.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements for the desktop IDE, see [Desktop IDE Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-June18-2026)What’s New This release introduces these features. - [Manage Global Elements from the UI](#global-elements-june-2026) - [Efficient Screen Space Usage in Transformation Builder](#efficient-screen-space-usage-in-transform-builder-june-2026) - [India Cloud Control Plane Region Support](#hyperforce-india-region-support-june-2026) ### [](#global-elements-june-2026)Manage Global Elements from the UI Anypoint Code Builder now provides a **Global Elements** panel for viewing and managing the shared configurations your Mule application depends on, including connector configurations, properties files, TLS contexts, and error handlers. Open the panel from the canvas toolbar or **Project Properties**, and add, edit, or remove configurations using the form editor, source editor, or MuleSoft Vibes. For more information, see [anypoint-code-builder::int-global-config-elements.adoc](#anypoint-code-builder::int-global-config-elements.adoc). ### [](#efficient-screen-space-usage-in-transform-builder-june-2026)Efficient Screen Space Usage in Transformation Builder **Transformation Builder** now provides enhanced workspace flexibility with improved screen real estate management. For more information, see [Customize the Transformation Builder Layout](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions#customize-transformation-builder-layout). ### [](#hyperforce-india-region-support-june-2026)India Cloud Control Plane Region Support Anypoint Code Builder is now available on the [India Cloud](https://in1.platform.mulesoft.com) control plane of Anypoint Platform. For more information about Anypoint Platform availability on control planes, see [Cloud Hosts](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds). ### Fixed Issues
Issue Resolution ID

Transformation Builder source metadata now remains visible after mapping operations.

W-22767859

Implicit DataWeave variables, such as correlationId, now work as expected.

W-20610661

Auto-discovery now adds the required namespace information automatically.

W-22158386

Expression Builder now keeps the cursor position stable so functions insert in the expected location.

W-22154279

Namespace additions now apply correctly when editing configurations.

W-22941217

Mule runtime downloads from the CLI now complete successfully.

W-22432886

Mule runtime download authentication now works correctly in non-production environments.

W-22434986

Path handling on Windows now uses consistent separators during URI comparisons.

W-22770705

## [](#june11-2026)June 11, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.21.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements for the desktop IDE, see [Desktop IDE Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### Fixed Issues
Issue Resolution ID

MCP tools now display correctly across supported IDEs. The connectivity MCP server can appear without registered tools in this release, which is the expected behavior.

W-22854860

## [](#May26-2026)May 26, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.20.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements for the desktop IDE, see [Desktop IDE Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### Fixed Issues
Issue Resolution ID

Anypoint Code Builder no longer shows duplicate or triplicate items when selecting a project for testing.

W-22565928

## [](#May19-2026)May 19, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack. - Extension pack version: 1.19.2 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements for the desktop IDE, see [Desktop IDE Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Compatibility](#compatibility). ### [](#features-May19-2026)What’s New This release introduces these features. - [Auto-Scroll Canvas During Debugging](#auto-scroll-canvas-debugging-may-2026) - [Enhanced Breakpoint Visualization](#breakpoint-highlighting-may-2026) - [MuleSoft Vibes Updates](#vibes-updates-may-2026) - [Deprecation of the Develop the American Flights App Tutorial](#american-flights-tutorial-deprecated-may-2026) ### [](#auto-scroll-canvas-debugging-may-2026)Auto-Scroll Canvas During Debugging The canvas now automatically scrolls to and centers the active component when you step through your application during debugging. For more information, see [Canvas Behavior While Debugging](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps#canvas-execution-indicators). ### [](#breakpoint-highlighting-may-2026)Enhanced Breakpoint Visualization Active breakpoints during debugging now display with a yellow outline on the canvas, making it easy to identify which component execution has paused at. For more information, see [Mule アプリケーションのデバッグ](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps). ### [](#vibes-updates-may-2026)MuleSoft Vibes Updates #### [](#manage-default-skills)Manage Default Skills Default Skills in MuleSoft Vibes give agents preloaded, reusable instructions for common Mule development tasks such as project work, connector setup, and dependency resolution. For more information, see [Manage Default Skills in MuleSoft Vibes](#anypoint-code-builder::vibes-skills.adoc#manage-default-skills). #### [](#run-multiple-integration-projects-locally)Run Multiple Integration Projects Locally Run multiple integration projects locally in one runtime to validate service-to-service behavior before deployment. Use MuleSoft Vibes to automatically create and run a reusable multi-project run configuration, including run and debug scenarios. You can also run saved configurations from the standard **Run and Debug** panel. For more information, see [anypoint-code-builder::vibes-run-multiple-integration-projects-locally.adoc](#anypoint-code-builder::vibes-run-multiple-integration-projects-locally.adoc). #### [](#modernize-development-with-the-new-descriptive-ui)Modernize Development with the New Descriptive UI MuleSoft Vibes now features a vertical canvas that uses AI to generate plain-language descriptions for every component in your flow. Build, modify, and document integrations using natural language commands or direct UI interactions. For more information, see [Descriptive UI in MuleSoft Vibes](#anypoint-code-builder::vibes-get-started.adoc#vibes-descriptive-ui). ### [](#american-flights-tutorial-deprecated-may-2026)Deprecation of the Develop the American Flights App Tutorial The **Develop the American Flights App** tutorial is deprecated. For an alternative tutorial, see [チュートリアル: API ビルドの最初から最後まで](https://docs.mulesoft.com/jp/general/api-led-overview). ### Fixed Issues
Issue Resolution ID

The debugger now focuses on the correct file as expected when debugging multiple files simultaneously.

W-20493459

Sample data specified in custom metadata examples now loads correctly in the transformation window.

W-21314835

Sample data displayed in Expression Builder now matches the persisted sample data as expected.

W-21319134

Type propagation now resolves correctly without unexpected failure errors.

W-21485471

The debugger now displays Mule Message component values correctly for non-Java data types.

W-21707026

Copying JSON from a Mule event in debug mode now works as expected without errors.

W-21707258

Type propagation no longer fails when component location returns null values.

W-21735935

Variable value updates in the debugger now work as expected during debugging sessions.

W-21936302

Error breakpoint exception messages now provide clearer and more actionable information.

W-21957772

Breakpoint icons on the canvas now correctly display their muted state.

W-21986288

Signing in now works as expected for all users.

W-22000712

Document identifiers now propagate correctly across all batch steps in the Batch Processing connector.

W-22002465

The Go To Flow navigation feature no longer has intermittent failures.

W-22043908

Error objects are now visible in the VARIABLES panel when debugging inside error handler scopes.

W-22099074

Mapping icons now work correctly when variables are present in scripts.

W-22100547

MuleSoft Vibes no longer shows ValidationException errors for large prompts or PII context window connection errors.

W-22107257

MuleSoft Vibes MCP server connections now succeed for servers that don’t support resources or prompts.

W-22116159

The MimeType attributes no longer incorrectly show expression mode as supported.

W-22164971

Project artifact IDs can now be directly inherited in parent POMs.

W-22166146

The undo command now executes on the first invocation instead of requiring two attempts.

W-22170160

The debugger can now introspect ImmutableBatchJobResult objects in the On Complete phase.

W-22177315

Token refresh no longer enters an infinite loop due to setTimeout overflow.

W-22251798

The Apply button in the HTTP Listener Global Element configuration now works as expected.

W-22321659

The debugger now processes files within nested folders when debugging as expected.

W-22349447

## [](#April27-2026)April 27, 2026 Anypoint Code Builder releases these patch versions in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.18.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn more about hardware and storage requirements for the desktop IDE, see [Desktop IDE Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). - Cloud IDE version: 1.18.3 This cloud IDE version runs the 1.18.3 extension pack. ### Fixed Issues
Issue Resolution ID

Applying policies with required schema properties that have default values in Agent Networks no longer causes failures.

W-22170170

## [](#April20-2026)April 20, 2026 Anypoint Code Builder releases these versions in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.18.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). To learn about hardware and storage requirements for the desktop IDE, see [Desktop IDE Hardware and Storage Requirements](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#hardware-storage-requirements). - Cloud IDE version: 1.18.1 This cloud IDE version runs the 1.18.0 extension pack. ### [](#features-April20-2026)What’s New This release introduces these features. - [Canvas Actions](#canvas-actions-april-2026) - [Namespaces in DataWeave Scripts](#namespaces-in-dw-scripts) - [MuleSoft Vibes Updates](#mulesoft-vibes-updates-april-20-2026) - [Centralized Errors and Warnings](#acb-logs-centralized-panel-april-2026) ### [](#canvas-actions-april-2026)Canvas Actions You can now refactor flows directly from the canvas, including moving, copying, and extracting components into new flows or subflows. Fore more information, see [Refactor Flows Using Canvas Actions](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components#canvas-actions). ### [](#namespaces-in-dw-scripts)Namespaces in DataWeave Scripts Anypoint Code Builder now supports metadata containing namespace URIs. For more information, see [Namespaces in Generated DataWeave](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions#namespaces-in-generated-dataweave). ### [](#mulesoft-vibes-updates-april-20-2026)MuleSoft Vibes Updates MuleSoft Vibes now supports custom metadata and reusable instructions with skills. #### [](#custom-metadata-full-support)Custom Metadata Full Support Create, delete, fetch, or edit custom metadata across these metadata types: csv, copybook, excel, fixed width, flat file, json, java, simple type, and xml. For more information, see [Custom metadata in MuleSoft Vibes](#anypoint-code-builder::int-manage-custom-metadata.adoc#custom-metadata-vibes). #### [](#reusable-instructions-with-skills)Reusable Instructions with Skills Create and reuse instructions with MuleSoft Vibes Skills. Save instructions as skills to easily apply them across multiple conversations and projects, ensuring consistency and efficiency in your interactions. For more information, see [anypoint-code-builder::vibes-skills.adoc](#anypoint-code-builder::vibes-skills.adoc). ### [](#acb-logs-centralized-panel-april-2026)Centralized Errors and Warnings The new **ACB Logs** tab provides a single, table-based view of warnings and errors from every Anypoint Code Builder extension, so you can scan, filter, and search without switching between channels. You can filter by log level, source extension, date range, and project name. Expand an entry for full details such as stack traces and include Anypoint Code Builder Logs automatically when you export troubleshooting information. For full raw log streams from one channel at a time, keep using the **Output** panel (for example, **Mule DX Server** or **Mule DX Server: Scaffolding**). For more information, see [出力パネルを開く](https://docs.mulesoft.com/jp/anypoint-code-builder/start-open-output-panel). ### Fixed Issues
Issue Resolution ID

Enum option lists now appear as expected inside arrays in the configuration UI.

W-20031362

Publishing a project to Anypoint Exchange no longer creates an example project unexpectedly.

W-20969183

Opening a project no longer takes more time than expected to load XML.

W-21154541

Opening a project or XML file again on Windows no longer takes an excessive amount of time.

W-21239937

Importing a project without sources no longer produces poor error handling.

W-21284401

Anypoint Code Builder AI no longer suggests an outdated Salesforce connector version.

W-21290906

The Transform Message component now shows the output tree for an inner field as expected.

W-21309692

Drag-and-drop mapping now works as expected for nested objects in flat file formats.

W-21310967

Metadata validation errors now work as expected for JMS and AS2 elements with Mule runtime 4.11.0.

W-21314344

DataWeave data preview works as expected on failure and shows log output.

W-21324741

The editor and workspace no longer show an unsaved file warning after saving all changes.

W-21327302

Importing a new API from Anypoint Exchange from the command palette no longer requires a reload to show changes.

W-21341100

Opening a file in a non-Mule project no longer raises nested project errors.

W-21341353

Field concatenation no longer fails across arrays and different sources in DataWeave.

W-21346401

Breakpoints in a source now stop execution as expected.

W-21352232

Sample generation no longer fails after changing custom metadata for the first time in the transformation window.

W-21421249

Progressive mapping now extends existing mappings as expected instead of replacing them.

W-21462334

The factory now handles the object-store-caching-strategy component as expected.

W-21467904

Large log files no longer slow down error logging.

W-21469432

The Mule::p function reference now resolves as expected.

W-21472817

Incorrect underline placement for DataWeave expressions in set-variable XML is fixed.

W-21473016

Verifying a test connection no longer randomly breaks.

W-21473880

A stack overflow in SimpleReferenceType.metadataConstraints in the DataWeave editor is fixed.

W-21485285

DataWeave editor no longer shows inconsistent counts of errors and warnings on the Problems tab.

W-21530956

The resolution of the p() function in DataWeave now works as expected.

W-21533179

Embedded documents now regenerate in DataWeave as expected.

W-21549247

The message reference now resolves in DataWeave as expected.

W-21550252

A StatusLogger format or conversion error in the design service is fixed.

W-21552602

Missing icons for date fields in DataWeave transforms are fixed.

W-21560510

Tests that affected reliability of the test suite are now stabilized and working as expected.

W-21575885

DataWeave syntax errors are now highlighted in configuration XML as expected.

W-21627864

POM.xml now resolves as expected when using a relative path.

W-21629880

An unexpected child element error in DefaultContainerProcessor in the DataWeave editor is fixed.

W-21631829

MUnit files now resolve in the workspace as expected.

W-21631910

Spacing around the Transform Message workspace in the DataWeave UI is tightened.

W-21638610

Saving files now persists changes as expected.

W-21642439

Clearing search on the Metadata tab now works as expected.

W-21642458

The canvas no longer fails to load.

W-21666326

Null pointer errors in the DataWeave virtual file system are fixed.

W-21667508 / W-21770880

The HTTP port is released as expected after use.

W-21706607

The restarts now pick up your latest changes as expected.

W-21706655

New components are no longer occasionally inserted inside a nested body instead of after it on the canvas.

W-21707238

Error messages now appear in the Mule event view as expected.

W-21707484

Intermittent socket timeout errors from Anypoint Exchange search are fixed.

W-21709965

A stack overflow in SimpleReferenceType.metadataConstraints caused by a self-referencing variable is fixed.

W-21712344

Contained element content now overrides the parent operation’s general content on the canvas as expected.

W-21712983

The first multi-selected canvas node (Shift+click) no longer opens the configuration UI unexpectedly.

W-21780098

The Project Properties header now shows the project name instead of the path.

W-21804043

Mapping editor errors caused by VFS initialization failures are fixed.

W-21809434

Corrupted JDK downloads no longer report success.

W-21841815

Autocompletion now works as expected in customer projects.

W-21850315

The Extract To form now shows the correct project’s file name in the drop-down.

W-21869137

The Extract To form now hides non-extractable nodes when multiple nodes are selected.

W-21869146

The Extract To form no longer appears for nodes that can’t be extracted.

W-21869157

The Extract To form now selects the current file by default as the extraction target.

W-21873522

Transform mapping data is no longer overwritten when variables are declared in the header.

W-21886152

Signing out of Anypoint Code Builder now works as expected.

W-21892267

Creating MUnit tests from a flow now works as expected.

W-21950086

Library configuration changes are now saved as expected when a shared library already exists in the POM.

W-21966352

Log files no longer use an incorrect file extension.

W-21978917

## [](#March20-2026)March 20, 2026 Anypoint Code Builder releases these patch versions in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.17.2 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.17.3 This cloud IDE version runs the 1.17.3 extension pack. ### Fixed Issues
Issue Resolution ID

Opening multiple projects no longer causes errors during the initialization of the embedded DataWeave language server.

W-21618731

The file picker for DataWeave transformation configurations now opens as expected on Windows.

W-21651056

API governance validations no longer fail and display a "Validation failed: try again later" error message on Windows.

W-21568869

## [](#March16-2026)March 16, 2026 Anypoint Code Builder releases these versions in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.17.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.17.2 This cloud IDE version runs the 1.17.2 extension pack. ### [](#whats-new)What’s New This release introduces these features. - [Anypoint Code Builder Support for gRPC](#anypoint-code-builder-grpc-support) - [Use More MIME Types in the DataWeave Transformer](#more-mime-types-dataweave-transformer) - [Export Mule Project Enhancements](#export-mule-project-unified) - [MuleSoft Vibes Updates](#mulesoft-vibes-updates-march-16-2026) - [MuleSoft MCP Server Project Updates](#mulesoft-mcp-server-project-updates) - [Expanded MIME Type Support in DataWeave Transform](#dataweave-transform-mime-type) - [Removal of Code Snippets Feature](#code-snippets-removal) ### [](#anypoint-code-builder-grpc-support)Anypoint Code Builder Support for gRPC Anypoint Code Builder now supports gRPC for API specification design, scaffolding, and implementation. Create and import gRPC API specifications in Protocol Buffers (proto) format, scaffold Mule projects based on those specifications, and implement the generated flows using the Anypoint Code Builder. For more information, see [anypoint-code-builder::des-design-grpc-api-spec.adoc](#anypoint-code-builder::des-design-grpc-api-spec.adoc). ### [](#more-mime-types-dataweave-transformer)Use More MIME Types in the DataWeave Transformer Map and transform data using any MIME type supported by the Mule platform. The **DataWeave Transformer** component now supports all Mule runtime MIME types, moving beyond the previous JSON-only limitation. These improvements ensure parity with the Mule runtime and enable you to build diverse integrations without workarounds. ### [](#export-mule-project-unified)Export Mule Project Enhancements Export a Mule project as a shareable or deployable JAR using a single action in the context menu and command palette. You can optionally include project sources for deployable JARs so the JAR can be opened in the IDE and used for deployment. For more information, see [Exporting Mule Projects](https://docs.mulesoft.com/jp/anypoint-code-builder/int-export-mule-project). ### [](#mulesoft-vibes-updates-march-16-2026)MuleSoft Vibes Updates Build and manage integrations more efficiently with support for adding images to your conversation, using templates, and generating applications that include your private Exchange assets. These updates allow you to use a wider variety of assets for application generation while tracking your resource usage. #### [](#add-files-to-prompts-with-multi-modal-support)Add Files to Prompts with Multi-modal Support Drag and drop images directly into the prompt window to provide context for your tasks. You can add up to 10 files per conversation to help MuleSoft Vibes understand your specific requirements. For more information, see [Add Files to Messages with Multi-Modal Support](#anypoint-code-builder::vibes-get-started.adoc#vibes-multimodal-file-prompts). #### [](#generate-applications-from-templates)Generate Applications from Templates Use local templates from Anypoint Exchange as the foundation for your generated applications. This ensures that new integrations follow your organization’s established patterns and best practices. For more information, see [Generate Applications from Exchange Templates](#anypoint-code-builder::vibes-create-integrations.adoc#vibes-generate-apps-from-templates). #### [](#include-custom-connectors-in-generated-applications)Include Custom Connectors in Generated Applications Generate applications that use custom connectors published to your private Anypoint Exchange. This update allows you to integrate with internal or specialized systems during the automated generation process. For more information, see [Include Custom Connectors in Generated Applications](#anypoint-code-builder::vibes-create-integrations.adoc#vibes-custom-connectors-generated-apps). #### [](#invoke-exchange-apis-using-rest-connectors)Invoke Exchange APIs Using REST Connectors Generate applications that call APIs published to Anypoint Exchange. MuleSoft Vibes now uses REST connectors to invoke these APIs, making it easier to reuse existing assets across your landscape. For more information, see [Invoke Exchange APIs Using REST Connectors](#anypoint-code-builder::vibes-create-integrations.adoc#vibes-exchange-apis-rest-connectors). #### [](#monitor-token-consumption-in-mulesoft-vibes)Monitor Token Consumption in MuleSoft Vibes Track the number of tokens consumed for each request and task directly within the Vibes window. This visibility helps you manage your usage and understand the resource cost of your generation tasks. For more information, see [Monitor Token Consumption in MuleSoft Vibes](#anypoint-code-builder::vibes-get-started.adoc#vibes-token-consumption-monitoring). ### [](#mulesoft-mcp-server-project-updates)MuleSoft MCP Server Project Updates MuleSoft MCP Server includes tool updates. For more information, see [MuleSoft MCP Server Release Notes](https://docs.mulesoft.com/jp/release-notes/mulesoft-mcp-server/mulesoft-mcp-server-release-notes#new-features-mcp-server-mar16-26). ### [](#dataweave-transform-mime-type)Expanded MIME Type Support in DataWeave Transform DataWeave Transform in Anypoint Code Builder now expands support for MIME types across the Transform mapper. The component automatically adjusts DataWeave script headers based on the selected metadata and improves preview capabilities across additional formats, including Excel (XLSX) and CSV files with custom separators. These improvements help ensure that generated transformations remain consistent with Mule runtime behavior across a wider range of data formats. ### [](#code-snippets-removal)Removal of Code Snippets Feature Anypoint Code Builder deprecates the code snippets feature. ### Fixed Issues
Issue Resolution ID

The Open Project tool no longer closes the current workspace when opening a project folder during application generation.

W-21351774

Core models for the Mule runtime are now correctly cached. This change prevents the design service from starting unnecessarily and improves startup performance.

W-21354463

Workspaces now open correctly when you create an integration project from a template.

W-21414040

Integration projects created from a template now correctly include JavaSpecifications in the mule-artifact.json file.

W-21439730

Project Properties now correctly reflect the JDK version immediately after it is downloaded.

W-21514611

Login now works as expected on VDI machines after a previous logout.

W-21145337

Applications now correctly inherit characteristics from the parent pom file.

W-21368450

Instantiate a Mule framework instance using plugins without encountering NoSuchMethodException.

W-20922748

Project-specific connector operations now display correctly in the canvas without requiring you to reopen the file.

W-21582912

## [](#Feb24-2026)February 24, 2026 Anypoint Code Builder releases these patch versions in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.16.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.16.2 This cloud IDE version runs the 1.16.2 extension pack. ### Fixed Issues
Issue Resolution ID

The bundled Mule runtime is no longer copied empty in the Web IDE.

W-21314634

Mule projects located outside of the Anypoint Studio workspace folder now import correctly into the Anypoint Code Builder workspace.

W-21294903

Fixed an issue where project deployment to CloudHub 2.0 failed because the system looked for an incorrect JAR file name after a successful package operation.

W-21304545

The custom metadata UI now loads correctly for projects with paths that contain spaces.

W-21308475

## [](#Feb17-2026)February 17, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.16.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.16.0 This cloud IDE version runs the 1.16.0 extension pack. ### [](#features-Feb17-2026)What’s New This release introduces these features. - [External Library Configuration for Mule Projects](#external-libraries-mule-projects-feb17-26) - [Custom Metadata Support](#custom-metadata-support-feb17-26) - [AI-Powered Auto Mapping with Enhanced Error Feedback](#ai-powered-auto-mapping-feb17-26) - [Bundled Runtimes for Instant Project Editing](#bundled-runtimes-feb17-26) - [Workspace Validation for Mule Projects](#workspace-validation-feb17-26) ### [](#external-libraries-mule-projects-feb17-26)External Library Configuration for Mule Projects You can now add and manage external libraries for Mule projects directly from Anypoint Code Builder. This lets you configure project-level dependencies using recommended libraries, Maven dependencies, or local files. Configured libraries are added to the project POM and applied to all components that require them. You can also edit or remove libraries from the same configuration interface. ### [](#custom-metadata-support-feb17-26)Custom Metadata Support You can now define and assign your own custom metadata within the canvas UI to accurately visualize and test your organization’s data structures for your integration projects. By using a dedicated tab in the configuration panel, you can create metadata for inputs and outputs using common formats like CSV, JSON, and XML to make sure your data transformations are accurate. For more information see [Managing Custom Metadata](#anypoint-code-builder::int-manage-custom-metadata.adoc). ### [](#ai-powered-auto-mapping-feb17-26)AI-Powered Auto Mapping with Enhanced Error Feedback You can now better debug your transformations with comprehensive error feedback for GenAI actions—including authorization, metadata, and request limits—ensuring a more reliable and guided mapping experience. The **Transformation Builder** now provides categorized error guidance to help you troubleshoot authorization issues, metadata problems, and request limit errors, making it easier to diagnose and resolve issues when using AI-assisted transformations and mapping features. ### [](#bundled-runtimes-feb17-26)Bundled Runtimes for Instant Project Editing You can now open and edit projects instantly without downloading separate Mule runtime versions. Anypoint Code Builder now ships bundled runtimes used for editing and metadata discovery (DataSense). You must download the exact runtime versions if running or debugging your app. ### [](#workspace-validation-feb17-26)Workspace Validation for Mule Projects Anypoint Code Builder now validates your project structure and provides guidance when a Mule project isn’t configured correctly. When creating new projects, you can select **Create in workspace** to organize multiple projects in a multi-root workspace. You can also import and validate existing Anypoint Studio workspaces and use MuleSoft Vibes to switch between workspaces using natural language. For more information, see [Working with Workspaces](#anypoint-code-builder::start-workspaces.adoc). ### [](#mulesoft-mcp-server-project-updates-2)MuleSoft MCP Server Project Updates MuleSoft MCP Server includes tool updates. For more information, see [MuleSoft MCP Server Release Notes](https://docs.mulesoft.com/jp/release-notes/mulesoft-mcp-server/mulesoft-mcp-server-release-notes#new-features-mcp-server-feb17-26). ### Fixed Issues
Issue Resolution ID

Duplicate runtime arguments from run and debug commands are removed, and arguments are now passed correctly without redundancy in the execution string.

W-20293482

Standalone DataWeave library projects in Anypoint Code Builder now execute correctly across all workspace configurations.

W-20334373

Error handling logic now works as expected and provides uniform behavior and messaging consistency across the IDE.

W-20364853

Project properties and connection lists now display correctly and are no longer hidden or empty.

W-20531631

Mule Maven plugin dependencies now resolve correctly in clean .m2 repositories without manual intervention.

W-20825706

Processors can now be added as expected to the beginning of existing components within the Process Record section of a Batch Job component.

W-20926265

Components are now placed in the correct location during drag operations on the UI canvas.

W-20926514

The Transform Message component content is now visible without the requirement of CDATA tags.

W-21146025

Database connection configurations in the global configuration page now update the XML source correctly.

W-21147450

Socket timeout exceptions no longer occur when loading connector operators.

W-20201721

## [](#Feb06-2026)February 6, 2026 Anypoint Code Builder releases this version in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.15.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.15.0 This cloud IDE version runs the 1.15.0 extension pack. ### [](#features-Feb06-2026)What’s New This release introduces these features. ### [](#mule-runtime-4-11-0-support)Support for Mule Runtime 4.11.0 Anypoint Code Builder now supports Mule runtime 4.11.0 for creating and managing Mule projects. Create new projects with Mule runtime 4.11.0 or update existing projects to use this runtime version in project properties. ### [](#new-features-agent-networks-feb6-26)Agent Network Project Updates Agent networks now support these authentication types: - OAuth 2.0 OBO Credential Injection using OAuth 2.0 Token Exchange or Microsoft Entra ID On-Behalf-Of protocols - In-Task Authorization Code For more information about these types, see the [Agent Network YAML File Reference](https://docs.mulesoft.com/agent-network/latest/af-project-files#authentication-types). ### [](#mulesoft-mcp-server-project-updates-3)MuleSoft MCP Server Project Updates MuleSoft MCP Server includes tool updates. For more information, see [MuleSoft MCP Server Release Notes](https://docs.mulesoft.com/jp/release-notes/mulesoft-mcp-server/mulesoft-mcp-server-release-notes#new-features-mcp-server-feb6-26). ### [](#scaffold-and-implement-apis-with-vibes)Scaffold and Implement APIs with Vibes MuleSoft Vibes can now scaffold and implement API specifications on your local machine or from Anypoint Exchange. This ensures accurate project structures and a seamless transition from scaffolding to adding application logic, reducing manual configuration and preventing project errors. ### Fixed Issues
Issue Resolution ID

The command 'mule-dx-mule-dev.runMuleProject' error no longer occurs when selecting Run Mule Project in the Mule option.

W-20978630

You can now edit nested connections from different XML files as expected.

W-20898437

The Exchange search filter is no longer breaking search results.

W-21018002

## [](#Jan15-2026)January 15, 2026 Anypoint Code Builder releases this patch version in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.14.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.14.1 This cloud IDE version runs the 1.14.1 extension pack. ### [](#features-Jan15-2026)What’s New This release introduces these features. ### [](#dataweave-mapping-enhancements)DataWeave Mapping Enhancements - **Advanced nested array mapping**: **DataWeave Transform** now supports dragging fields within nested objects and arrays more intuitively. When mapping fields into an existing `map` function, the UI automatically resolves the correct scope and variables to generate accurate DataWeave scripts. - **Automated hierarchical array mapping**: **DataWeave Transform** now intelligently handles mapping between different array levels. When dragging a top-level source array to a nested target array, the tool automatically generates the required parent-to-child wrapping and map functions to maintain the correct output structure. - **Intelligent scalar-to-object refactoring**: **DataWeave Transform** now automatically handles the transition from scalar assignments to nested object structures. When you map nested fields within an object node, Anypoint Code Builder refactors the script to ensure a valid hierarchy without requiring manual code cleanup. ### [](#canvas-loading-status-indicator)Canvas Loading Status Indicator A loading status indicator now shows while the canvas initializes. This enhancement provides more visible and integrated feedback during project loading and synchronization tasks, improving the overall responsiveness of the design experience. ### [](#optimized-canvas-connectors)Optimized Canvas Connectors The design of flow edges and connectors is improved to increase visual density. This update allows for a more compact representation of integration flows, enabling users to view more content and steps within the canvas. #### [](#agent-network-project-creation)Agent Network Project Creation You can now create Agent Network projects directly from the project creation flow. The project creation interface includes Agent Network configurations for setting up advanced project environments within the Anypoint Code Builder workspace. #### [](#refined-api-specification-selection)Refined API Specification Selection The project creation form is now clearer and more intuitive when starting new Mule projects based on existing API definitions. #### [](#centralized-dependency-error-reporting)Centralized Dependency Error Reporting The dependency-related errors are now shown in the **PROBLEMS** tab so that you can identify and resolve Maven resolution or library conflicts more efficiently without searching through background logs. #### [](#mulesoft-mcp-server-project-updates-4)MuleSoft MCP Server Project Updates MuleSoft MCP Server includes three new tools: - `implement_api_spec` - `generate_munit_test` - `modify_munit_test` For more information about these tools, see [MuleSoft MCP Server Release Notes](https://docs.mulesoft.com/jp/release-notes/mulesoft-mcp-server/mulesoft-mcp-server-release-notes#new-features-mcp-server-jan15-26). #### [](#new-features-agent-networks-jan15-26)Agent Network Project Updates - Agent network now supports Gemini models. Specify these parameters in the LLM section of the `agent-network.yml` file. - `thinkingBudget`: Sets a token budget for the reasoning phase. (Applies only to Gemini 2.5 series.) - `thinkingLevel`: Controls the depth of the reasoning process. (Applies only to Gemini 3 series.) - `temperature`: Controls randomness. - `topP`: Nucleus sampling parameter. - `responseLogprobs`: Whether to return log probabilities. - `maxOutputTokens`: Maximum number of tokens that can be generated in the response. For more information about these parameters, see the [Agent Network YAML File Reference](https://docs.mulesoft.com/agent-network/latest/af-project-files#agent-network-yaml). - The agent broker is now aware of which LLM model you select and uses the appropriate API. For example, if you’re using an OpenAI model, the broker now uses function calling rather than sending the system prompt, broker instructions, tools, and history as one prompt. ### [](#cleaner-project-context-menus)Cleaner Project Context Menus Project context menus are now consistent across root and multi-root workspaces for supported Mule project types. Anypoint Code Builder actions are shown only when they apply to the selected project or folder, and related actions are grouped more clearly to improve discoverability. ### [](#cleaner-command-palette-actions)Cleaner Command Palette Actions The Command Palette now shows a cleaner and more consistent set of Anypoint Code Builder commands across single-root and multi-root workspaces. Commands are clearly named, consistently prefixed with MuleSoft, and organized using descriptive categories such as API, Mule, and Agent Network. Only actions that initiate complete workflows appear in the Command Palette. Context-specific commands are available only when the required project context is active. ### Fixed Issues
Issue Resolution ID

Fixed an issue where switching between factory configurations in a JMS publish component caused XML corruption.

W-20159060

Fixed an issue in the Java module New operation where the error icon remained visible after the Constructor value is successfully configured. The UI now correctly clears the error state after valid configuration data is provided.

W-20117914

Fixed an issue in DataWeave Transform where mapping fields from a nested source to a nested target sometimes resulted in incorrect script nesting. The UI now accurately maintains the nested structure and context when multiple fields are mapped to the same target path.

W-20208318

Fixed an issue where creating a new API project inside a nested workspace folder prevented the project from opening or being added to the current workspace. Projects now open correctly regardless of their folder depth within the workspace.

W-20212604

Drag actions in Transformation Builder no longer occasionally result in a UI error state.

W-20222649

Anypoint Code Builder now correctly shows an error message when you open a project located outside the root folder or within the current workspace.

W-20249789

The canvas now accurately identifies and displays synthetic routes within connectors.

W-20332947

Anypoint Code Builder now displays an error related to project properties when your project fails to initialize correctly.

W-20481957

The editor now correctly uses UTF-8 encoding across all platforms to ensure that consistent data is displayed in the Transformation Builder input and output windows.

W-20494670

Fixed an issue with MCP tools that took no input arguments.

W-20474172

The DataWeave editor no longer becomes slow or unresponsive when working with large transformations, including freezes triggered by auto-save.

W-19966256

DataWeave scripts no longer lose their formatting or collapse into a single line when you edit connection configurations or make unrelated project changes.

W-20082580

The canvas no longer gets stuck in an infinite loading state.

W-20214677

The HTTP Request component no longer reverts header or body values back to payload when editing them in the canvas UI.

W-20581927

DataWeave mappings no longer drop type casting when concatenating expressions.

W-20582971

## [](#Dec18-2025)December 18, 2025 Anypoint Code Builder releases this patch version in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.13.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.13.1 This cloud IDE version runs the 1.13.1 extension pack. ### Fixed Issues
Issue Resolution ID

CLI for Agent Fabric Plugin is updated to the latest version to address reported security vulnerabilities.

W-20573569

## [](#Dec12-2025)December 12, 2025 Anypoint Code Builder releases this version in the Cloud IDE. - Cloud IDE version: 1.13.0 This cloud IDE version runs the 1.13.0 extension pack. For a complete list of the features and fixed issues included in this release, see the [December 11, 2025](#Dec11-2025), Anypoint Code Builder release notes. ## [](#Dec11-2025)December 11, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack. - Extension pack version: 1.13.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). ### [](#features-Dec11-2025)What’s New This release introduces these features. #### [](#new-enhancements-to-the-dataweave-transform-component)New Enhancements to the DataWeave Transform Component This update includes several improvements to UI stability and the generative AI experience, such as optimized behavior in the **Transform Message** component UI and more responsive error handling for AI-powered actions. #### [](#stability-enhancements)Stability Enhancements ##### [](#improved-mcp-config-reference-editing)Improved MCP Config Reference Editing The Inference Connector configuration panel now reliably allows the added client to be edited when configuring an MCP config reference field. ##### [](#stabilized-audience-settings-for-mcp-listener)Stabilized Audience Settings for MCP Listener Configuration of the audience field within the responses group of the MCP Tool Listener is now reliable and consistent, ensuring that the field appears correctly, even when imported from an XML file. #### [](#new-features-agent-networks-dec11-25)Agent Network Project Updates - The [Agent Network YAML File Reference](https://docs.mulesoft.com/agent-network/latest/af-project-files#agent-network-yaml) now includes all available parameters for each section. - The `agent-network.yml` file now exposes new parameters from OpenAI. Specify these parameters in the `llm` section settings for OpenAI. - `reasoningEffort`: Constrains reasoning effort for reasoning models. - `temperature`: Controls randomness in the output. - `topP`: Nucleus sampling parameter. - `topLogprobs`: Number of most likely tokens to return at each position. - `maxOutputTokens`: Maximum number of tokens to generate. For more information about these parameters, see the [Agent Network YAML File Reference](https://docs.mulesoft.com/agent-network/latest/af-project-files#agent-network-yaml) and [OpenAI Platform API Reference](https://platform.openai.com/docs/api-reference/introduction). - These agent network dependencies are updated: - OpenAI SDK version is updated to 4.8.0. - Mule HTTP Connector version is updated to 1.11.0. - A2A Connector version is updated to 0.4.0-BETA. - A2A SDK version is updated to 0.3.3-final. - MCP Connector version is updated to 1.3.0. - Caffeine version is updated to 3.2.3. - JaCoCo version is updated to 0.8.11. - `aspectj` version is updated to 1.9.22.1. - Common text version is updated to 1.14.0. #### [](#git-installation-no-longer-required)Git Installation No Longer Required - You no longer need to install git as part of the Anypoint Code Builder installation process. ### Fixed Issues
Issue Resolution ID

The Autodiscovery element no longer appears in the Add Component panel.

W-16891052

Users now receive a notification after successful deployment to CloudHub as expected.

W-18079627

DataWeave output metadata is now correct in component fields.

W-18553945

The canvas now correctly reflects unsaved changes.

W-18657386

CloudHub redeployment no longer fails intermittently.

W-18727013

The Transformation Builder window for DataWeave no longer shows an error in the input sample on Windows systems.

W-18911593

The flow configuration UI attribute for enabling default events is now correctly written in the XML file.

W-19117758

The configuration UI no longer shows a default value for data types when no default value exists in the metadata.

W-19175333

Errors updating XML no longer occur on the canvas when updating auto closed tags.

W-19211738

Editing metadata in the Transform Message component now works correctly if the source is a DataWeave file.

W-19273485

The M2_REPO variable is now used to populate the repository at startup.

W-19476167

The debugger now correctly pauses in the main flow and sub-flow after using Step into.

W-19547488

Toggling between INLINE or Bean mode to None now works correctly in the configuration panel.

W-19623905

You can now input text for Operations in MuleSoft Vectors Connector as expected.

W-19637694

Validation now shows errors as expected for missing fields in the Database component.

W-19679369

The debugger now shows the breakpoint information as expected if Step into is used on a flow reference pointing to a flow in the configuration of a sub-folder.

W-19679780

Unauthorized errors no longer occur when the token expires.

W-19971283

A2A Connector configurations now appear in version 0.4.0-BETA as expected.

W-20004568

If deployment to CloudHub 2.0 fails, the user now gets an error notification.

W-20030018

Transformation Builder no longer closes unexpectedly on Windows systems when pressing Ctrl+Backspace.

W-20031151

Error messages no longer repeatedly pop up for the same error during dependency resolution.

W-20036183

A path traversal vulnerability in MuleSoft MCP Server tools is now fixed.

W-20039005

Intermittent corruption of the JDK installation no longer occurs.

W-20052935

A server-side template injection vulnerability in MCP flow generation tools is now fixed.

W-20053148

The Dev Agent web fetch tool timeout is increased from 10 to 30 seconds to support slow-loading URLs.

W-20084547

Expression Builder no longer breaks or displays incorrectly if the DataWeave transformation contains a long script.

W-20086693

The configuration UI in the Java module now successfully loads the Method field values.

W-20112957

Misleading stack traces from the Design Service logs that appeared when loading custom connectors are removed.

W-20131222

The HTTP Listener component now secures the password during TLS setup as expected.

W-20135822

The Anypoint Code Builder Integration Extension now uses the correct version of org.mule.weave dependencies instead of using the 2.6.1. version.

W-20159499

The Anypoint Code Builder Platform Extension version 5.9.7 no longer breaks in Windows systems.

W-20192341

The Expression Builder gear icon is now clickable as expected.

W-20203410

The Audience field in the MCP tool listener configuration no longer intermittently fails to display.

W-19127724

The MCP configuration reference field in the Inference Connector can now be edited as expected.

W-20018055

The internal platform jar socket is now restricted to listening on localhost only, mitigating a potential Remote Code Execution (RCE) vulnerability.

W-20194553

Object group element attributes now update correctly in the UI, and inconsistent behavior related to empty element deletion in the Transform script field no longer occurs.

W-20244840

Custom metadata now shows as expected in the Output column of the mapping window for transform components.

W-20062856

SAP Connector test connection no longer fails.

W-19124681

The scaffolding process no longer fails when the project ID used for scaffolding doesn’t match the project ID that was created.

W-20201660

Projects that are inherited from a Parent POM that use Maven’s CI-friendly version properties no longer incorrectly report that the parent POM can’t be found.

W-20272484

The Connectors tab in Project Properties no longer fails to load when an incompatible connector version causes the Mule framework introspection to fail.

W-19284941

The code editor of a component is now resizable and shows line numbers.

W-20060203

The drag and drop action for simple Transform components no longer breaks the canvas view and flow XML on Windows systems.

W-20439430

The MuleSoft Dev Agent stream no longer intermittently throws an incorrect ValidationException error embedded within stream chunks.

W-20068043

MuleSoft Dev Agent no longer fails due to streaming errors or server timeouts during operations.

W-20023190

MuleSoft Dev Agent no longer experiences a five-second delay before making the first API call after being opened.

W-20077965

The Map with AI feature in Transformation Builder now correctly displays user access errors when they occur.

W-20276613

The Edit Sample Data File icon is no longer disabled in the Map with AI feature in Transformation Builder. Also, the default call when opening the Transform UI is removed, and the UI now shows a message instead of a spinning icon when the GenAI API call fails.

W-20276613

Anypoint Code Builder no longer fails to render all configuration parameters, such as the HTTP Requestor parameter, for the RosettaNet Connector in the Configuration UI.

W-20190237

Anypoint Code Builder no longer displays an incorrect compatibility error message when a project dependency is missing in the current Exchange environment.

W-19750194

The Import global element now recognizes flows defined within the imported plugin as expected.

W-19986168

The Visual Designer no longer fails to show and recognize shared configuration components when they’re inherited from a Parent POM.

W-20178132

Keyboard shortcuts, such as Command+C and Command+V, now work as expected when selecting and editing text in the DataWeave Editor.

W-20162326

This release addresses the following issue with agent network projects:
Issue Resolution ID

The distributed trace now correctly includes LLM calls for an agent broker.

W-19825674

## [](#Nov12-2025)November 12, 2025 Anypoint Code Builder releases this patch version in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.12.2 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.12.2 This cloud IDE version runs the 1.12.2 extension pack. ### Fixed Issues
Issue Resolution ID

Anypoint Code Builder Platform Extension no longer fails on Windows systems.

W-20192341

## [](#Nov10-2025)November 10, 2025 Anypoint Code Builder releases this patch version in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.12.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.12.1 This cloud IDE version runs the 1.12.1 extension pack. ### Fixed Issues
Issue Resolution ID

Some dependencies are updated to address reported vulnerabilities.

W-20115973

## [](#Nov4-2025)November 4, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack. - Extension pack version: 1.12.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.12.0 This cloud IDE version runs the 1.12.0 extension pack. For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-Nov25)What’s New This release introduces these features: - [Support for Maven Multi-Module Projects and Parent POM Files](#multi-module) - [Map with AI Now Detects and Applies Existing Metadata MIME Types](#dw-metadata-mime-types) - [Agent Network Project Updates](#agent-networks-nov-25) - [Support for Connection Configurations Defined in Dependencies](#dependency-connection-configs) #### [](#multi-module)Support for Maven Multi-Module Projects and Parent POM Files Anypoint Code Builder now supports Maven multi-module projects and parent POM file functionality. Define properties, dependencies, and versions once and share them across multiple projects, guaranteeing consistency and eliminating version drift. For more information, see [IDE へのプロジェクトのインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project). #### [](#dw-metadata-mime-types)Map with AI Now Detects and Applies Existing Metadata MIME Types The **Map with AI** tool is now enhanced to automatically detect and apply the existing metadata MIME types (such as `application/json`, `application/xml`, and `application/java`) defined in your project’s flow. When generating a DataWeave script, **Map with AI** now reads the input and output formats from the surrounding connectors and correctly applies those types to the generated script’s directives. #### [](#agent-networks-nov-25)Agent Network Project Updates The agent broker now dynamically adapts when any downstream AI asset changes its contract because the MCP and A2A metadata automatically refreshes every hour. #### [](#dependency-connection-configs)Support for Connection Configurations Defined in Dependencies Anypoint Code Builder now detects and loads connection configurations that are defined in external project dependencies. The tool scans all import statements in your Mule flows, locates the related files inside dependency JARs, and extracts the connection configurations they define. These configurations appear in both the XML view and the canvas view. ### Fixed Issues
Issue Resolution ID

Anypoint Code Builder now correctly resolves Maven settings and configurations against the settings.xml file and no longer creates a temporary acb_settings.xml file.

W-19128433

The canvas now refreshes automatically after updating the runtime version in project properties.

W-19285759

Pasting a component after a disabled component no longer breaks the canvas UI or prevents the flow from rendering.

W-19719169

The Error Handler configuration now displays all applicable error types based on the components used in the flow as expected.

W-19788055

The Agent Fabric flag is now correctly enabled when switching from the Control Plane to EU Cloud in the desktop IDE.

W-19810833

The context menu no longer appears for nodes in the read-only Agent Fabric Authoring canvas.

W-19840137

The auto approval for tool execution in the Dev Agent chat window now works as expected.

W-19842516

Java processes no longer remain active after closing Anypoint Code Builder.

W-19849557

The local .m2 repository is now populated correctly at startup.

W-19860834

Dev Agent no longer becomes unresponsive.

W-20051611

Validation decorators now appear correctly in the canvas after adding a new connector or updating dependencies in the project pom.xml file.

W-18741926

The Java debug server that started automatically when running Mule apps is now disabled by default to prevent unauthorized access.

W-18968450

Anypoint Code Builder now loads the Maven settings.xml file at startup to correctly generate the acb_settings.xml file with the user’s configuration.

W-19128433

MUnit configurations defined in the parent pom.xml file are now correctly inherited by child projects.

W-19284704

The minMuleVersion value in the mule-artifact.json file is no longer overwritten by Anypoint Code Builder. Runtime feature toggles are now decoupled from this property.

W-19374653

Anypoint Code Builder no longer becomes unresponsive or stuck on the loading screen when adding components to a flow in customer projects.

W-19525162

The canvas now opens the correct configuration panel when selecting components.

W-19687980

Disabled components can now be copied and pasted successfully without triggering errors during node duplication.

W-19760175

DataWeave actions now appear in the correct position within the context menu.

W-19883653

Anypoint Code Builder now defaults to the US production environment when the ANYPOINT_ENV variable is set to an unrecognized value.

W-20003674

Exchange search now correctly returns the Inference connector when using Mule runtime 4.9.10 or later.

W-20054759

The correct message is now displayed when attribute and variable samples are empty in the configuration panel.

W-20057018

Error messages related to connector dependencies now include a clickable pom.xml link.

W-15813306

This release addresses the following issues with agent network projects:
Issue Resolution ID

Agent brokers now maintain conversation context during multi-turn interactions.

W-19825674

Agent brokers now return properly formatted text content in input-required responses instead of empty strings.

W-19880599

## [](#oct24-2025)October 24, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack. - Extension pack version: 1.11.6 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.11.5 This cloud IDE version runs the 1.11.6 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### Fixed Issues
Issue Resolution ID

Auto-approval for safe commands is now disabled in MuleSoft Dev Agent. Command execution now always requires explicit user approval, unless Execute all commands is enabled, preventing potential prompt injection exploits.

W-19853225

Editing VS Code configuration files (.vscode/ and *.code-workspace) now requires explicit approval.

W-19853255

Editing the MCP configuration file (a4d_mcp_settings.json) now requires explicit approval in MuleSoft Dev Agent.

W-19853247

## [](#oct14-2025)October 14, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack. - Extension pack version: 1.11.5 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### Fixed Issues
Issue Resolution ID

Core capabilities in the Design Service, including Test Connection and Run and Debug, function as expected on slow machines.

W-19864902

Data streaming issues are fixed now and responses from Model API no longer fail.

W-19845839

## [](#oct8-2025)October 8, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.11.4 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.11.4 This cloud IDE version runs the 1.11.4 extension pack. For extension versions, see the [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-10-08-25)What’s New This version contains internal bug fixes and performance improvements. ## [](#oct-2025)October 3, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.11.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.11.0 This cloud IDE version runs the 1.11.0 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-Oct25)What’s New This release introduces these features: - [Agent Fabric](#agent-fabric) - [MuleSoft Dev Agent](#dev-agent) - [Batch Processing Support](#batch-process-support) - [Duplicate Flows in Canvas](#duplicate-flows) - [Copy and Paste Components in Canvas](#copy-paste-components) - [Stability and Usability enhancements](#stability-usability-enhancements) - [Mule Runtime Support](#mule-runtime-4-10-0-support) - [Einstein Features and Free Trial Orgs](#einstein-and-free-trials) - [More Agentic Integration Development with the Embedded MuleSoft Model Context Protocol (MCP) Server](#mcp-server) #### [](#agent-fabric)Agent Fabric Use Anypoint Code Builder to create, publish, and deploy agent networks as part of the Agent Fabric solution. Agent Fabric is a unified solution for governing and monitoring AI agents built anywhere, making it possible to build a collaborative digital workforce across any system or app. For more information, see [Building Agent Networks for Agent Fabric](https://docs.mulesoft.com/agent-network/latest/af-agent-networks). #### [](#dev-agent)MuleSoft Dev Agent The Agentforce panel in Anypoint Code Builder has been updated with MuleSoft Dev Agent. MuleSoft Dev Agent is an integrated assistant that enables developers to use natural language prompts to design, develop, and manage applications directly within Anypoint Code Builder. Dev Agent unifies all generative AI capabilities into a single experience: - Create and edit flows - Generate and refine API specifications - Configure connections and projects - Deploy applications Dev Agent can read and write directly to project files, and supports tools provided by embedded MCP servers. For more information, see: - [AI を使用した API 仕様の作成](https://docs.mulesoft.com/jp/anypoint-code-builder/api-ai-create-spec) - [Agentforce を使用したインテグレーションの開発](https://docs.mulesoft.com/jp/anypoint-code-builder/int-ai-developing-integrations) #### [](#batch-process-support)Batch Processing Support Create and configure batch jobs for processing large volumes of records asynchronously, in parallel, and in chunks to optimize performance and resource utilization. For more information, see [anypoint-code-builder::acb-component-batch.adoc](#anypoint-code-builder::acb-component-batch.adoc). #### [](#duplicate-flows)Duplicate Flows in Canvas Duplicate flows in the canvas to create copies of existing flows with their components and configurations. For more information, see [Duplicate a Flow](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components#duplicate-a-flow). #### [](#copy-paste-components)Copy and Paste Components in Canvas You can now copy components in your flow and paste them in the same or a different flow, while retaining their configuration. For more information, see [Copy Components](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components#copy-components). #### [](#stability-usability-enhancements)Stability and Usability enhancements ##### [](#object-store-in-global-configuration)Object Store in Global Configuration Streamline your development with an improved visual and guided experience for configuring object stores in any component and reduce the need for manual XML coding. ##### [](#special-characters-support)Special Characters Support You can now use special characters in flow names, password fields, connection configurations, and global elements. ##### [](#multiple-versions-of-a-connector-within-a-project)Multiple Versions of a Connector Within a Project You can now use multiple versions of a connector in your projects. ##### [](#multi-level-connection-configurations)Multi level Connection Configurations Easily manage and structure complex connection setups by layering connection configurations within each other directly from the UI. ##### [](#flow-error-handler-configuration)Flow Error Handler Configuration New configuration options for handling errors in your Mule project flow. ##### [](#go-to-flow-keyboard-shortcut)Go to Flow Keyboard Shortcut You can now quickly open a referenced flow by pressing Ctrl+Alt+g (Windows) or Cmd+Option+g (macOS) while the `Flow ref` component is selected. For more information, see [Navigate to Referenced Flows](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components#navigate-to-referenced-flows). ##### [](#notifications-with-project-context)Notifications with Project Context Notifications now provide specific context about which projects are causing errors within a workspace. ##### [](#design-service-connection-on-non-english-computers)Design Service Connection on Non-English Computers Users can now connect to the design service on a computer with a non-English language setting. ##### [](#initial-pom-xml-template-update)Initial pom.xml Template Update The initial **pom.xml** template is updated to use HTTPS for Maven XSD to enhance its security. ##### [](#projects-open-in-current-window)Projects Open in Current Window Projects created using the **Implement an API** option now open in the current window instead of a new one. ##### [](#map-and-transform-with-ai-improvements)Map and Transform with AI Improvements The **Map and Transform with AI** feature now shows specific messaging when there is an error. Input and output metadata is no longer required for this feature. ##### [](#variable-and-attribute-configuration-in-transformations)Variable and Attribute Configuration in Transformations You can now edit and configure variables and attributes within transformations from the UI. #### [](#mule-runtime-4-10-0-support)Mule Runtime Support Support for Mule runtime engine version 4.10.0 Edge with Java version 17. See [Compatibility](#compatibility). #### [](#einstein-and-free-trials)Einstein Features and Free Trial Orgs Einstein features are no longer be available on free trial Salesforce orgs. Users must link to their own Salesforce org to use these features. For more information, see [Anypoint Platform アカウントの管理](https://docs.mulesoft.com/jp/access-management/managing-your-account). #### [](#mcp-server)More Agentic Integration Development with the Embedded MuleSoft Model Context Protocol (MCP) Server Use natural language interaction to build Agent Fabric agent networks, manage governance rulesets, and more. Any agent can execute MuleSoft MCP Server tools. MCP provides extensibility for a wide array of agent types. For more information, see [MuleSoft MCP Server Release Notes](https://docs.mulesoft.com/mulesoft-mcp-server/mulesoft-mcp-server-release-notes). ### Fixed Issues
Issue Resolution ID

When setting up HTTP request headers, the IDE no longer incorrectly adds an empty array symbol #[] in the headers expression section of the flow XML code.

W-19152657

The inference connector no longer fails to retrieve and show dynamic data for the value provider field.

W-19084301

The IDE now correctly generates the default XML code snippets for nested fields, including arrays, objects, and unions.

W-19144806

In the Salesforce Connector, the parameters for the "Salesforce - Query" connector no longer disappear after clicking on it from the "Set variable" connector.

W-18836813

The Agent Conductor module now displays correctly.

W-19094498

The paths for certain container route types, such as scatter-gather and first successful, no longer overlap with each other.

W-19094528

The connection test for the Kafka connector is now working as expected.

W-12553536

The XML code is now generated in the correct order in the A2A Connector.

W-19105944

The MIME type parameters are shown as expected in the user interface.

W-18106124

DataWeave data and functions no longer return empty if adding a new project to an existing workspace.

W-18824864

The agent conductor data now loads properly in the user interface.

W-19154866

Setting breakpoints on flow control nodes is now working as expected.

W-18838355

The debugger tool no longer disappears unexpectedly.

W-19145809

The flow name updates as expected if you close the panel right after changing the flow name.

W-19147834

The error message java.lang.NoClassDefFoundError: org/mule.apikit.ApiParser no longer appears when the design service starts.

W-18195261

The output of a DataWeave mapping for non-transform components is no longer incorrect.

W-18566031

The startup error no longer occurs in specific customer project.

W-19337637

The output variable of a DataWeave mapping is now correct.

W-18566025

Dynamic control data is no longer overridden if you switch nodes.

W-19280291

Adding a Raise error component no longer breaks DataSense for the entire flow.

W-19404195

Validation issues in the XML file are fixed when using the batch component.

W-19136911

DataSense resolution errors no longer occur with certain components.

W-19367638

Sample data persistence calls for some nodes no longer fail.

W-19145325

Debug sessions are no longer killed on slower machines.

W-19183938

The Flow Ref component now correctly gets the flow list even if a flow is disabled.

W-19248177

Breakpoints set in one file are no longer incorrectly shown in another file’s canvas.

W-19302452

DataWeave expressions used within a variable of a Transform Message component are no longer lost.

W-19336241

Custom names for flows and error handlers are now correctly updated in the flow canvas.

W-19121648

The error state for connector routes is now displayed correctly.

W-19388454

The Export Shareable Jar command on Windows no longer includes unwanted folders.

W-19461974

NullPointerException no longer occurs if invoking 'getElementName().

W-18727157

The Go to Flow command now correctly finds a sub-flow in a second file.

W-19013755

The Map and Transform with AI feature is now working as expected.

W-19134821

## [](#sep-2025)September 3, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.10.2 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.10.2 This cloud IDE version runs the 1.10.2 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-Sep25)What’s New - Support for Mule runtime engine version 4.9.9 LTS with Java version 17. See [Compatibility](#compatibility). ### Fixed Issues
Issue Resolution ID

The platform extension pack is updated to version 5.7.2 to fix a compatibility issue with Intel Mac machines.

W-19359467

## [](#aug-2025)August 19, 2025 Anypoint Code Builder releases this patch version in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.10.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.10.1 This cloud IDE version runs the 1.10.1 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ## [](#august-11-2025)August 11, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.10.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.10.0 This cloud IDE version runs the 1.10.0 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-Aug25)What’s New This release introduces this feature: - Agentic Integration Development with the Embedded MuleSoft Model Context Protocol (MCP) Server With agentic integration development, build and manage your integration with natural language interaction, not code. Any agent can execute MuleSoft MCP Server tools to create, test, debug, and deploy Mule applications. MCP provides extensibility for a wide array of agent types. For more information, see [MuleSoft MCP Server Overview](https://docs.mulesoft.com/mulesoft-mcp-server/). ## [](#july-2025)July 21, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.9.2 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.9.2 This cloud IDE version runs the 1.9.2 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the Visual Studio Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-Jul21)What’s New - Support for Mule runtime engine version 4.9.7 LTS with Java version 17. See [Compatibility](#compatibility). ## [](#july-4-2025)July 4, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.9.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.9.0 This cloud IDE version runs the 1.9.0 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the Visual Studio Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-jul-2025)What’s New This release introduces these features: - [Map Fields in DataWeave Expressions with AI](#dataweave-transform-map) - [Generate DataWeave Transformations with AI](#dataweave-transform-map-transform) - [Design API Specs with AI](#api-design) - [Use A2A Connector (Beta) with Anypoint Code Builder](#a2a-connector) - [Use MCP Connector 1.0 (Generally Available) with Anypoint Code Builder](#mcp-connector) - [Create MUnit Test from Flow](#munit-flow) - [Scope MUnit Tests to Specific Processors from UI](#munit-processor) - [Comment Out Components in Canvas](#comment-out-canvas) - [Navigate to Flows from Connectors](#navigate-to-flows) - [Review Scaffolding Errors in Output Panel](#scaffolding-errors) - [Open Projects in Canvas by Default](#canvas-default) - [Enter Properties as Values in Fields in UI](#properties-in-fields) - [Check Java and Mule Runtime Compatibility for All Connectors in Your Project](#connector-compatibility) - [Use Anypoint Code Builder with Windows 11](#windows-11) - [Agentforce Command Removed](#command-removed) - [Fixed Issues](#july-25-fixed-issues) #### [](#dataweave-transform-map)Map Fields in DataWeave Expressions with AI Automatically generate field-to-field mappings based on input and output metadata with the assistance of AI. For more information, see [Map with AI](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions#map-with-ai). #### [](#dataweave-transform-map-transform)Generate DataWeave Transformations with AI Generate full DataWeave transformations from input and output sample data with the assistance of AI. For more information, see [Map and Transform with AI](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions#map-and-transform-with-ai). #### [](#api-design)Design API Specs with AI Use Einstein generative AI to generate API specs from a conversation. For more information, see [Designing API Specs with AI](https://docs.mulesoft.com/jp/anypoint-code-builder/api-ai-design-spec). #### [](#a2a-connector)Use A2A Connector (Beta) with Anypoint Code Builder This release introduces support for Anypoint Connector for Agent2Agent (A2A Connector) (beta). A2A Connector (beta) facilitates inter-agent communication for Large Language Model (LLM) agents and other applications by implementing the A2A protocol. This enables agents to interact and delegate specialized tasks to other agents. See [組み込みコネクタ](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-connectors). _A2A Connector is a beta connector that is subject to the Beta Services Terms at [Agreements - Salesforce.com](https://www.salesforce.com/company/legal/agreements/) or a written Unified Pilot Agreement if executed by Customer, and the Non-GA Gen AI and Non-GA Credit Consumption terms in the [Product Terms Directory](https://ptd.salesforce.com/?_ga=2.247987783.1372150065.1709219475-629000709.1639001992). Use of this beta connector with external systems or services consumes Mule messages and is at the Customer’s sole discretion._ #### [](#mcp-connector)Use MCP Connector 1.0 (Generally Available) with Anypoint Code Builder This release introduces support for the generally available version of Anypoint Connector for MCP (MCP Connector). Previously, Anypoint Code Builder supported the beta version of MCP Connector. If you used the beta version of MCP Connector, remove `-Dmule.http.service.implementation=NETTY` from Runtime: Default Arguments in MuleSoft Settings. Also, the Design Service: System Properties setting is removed from MuleSoft Settings. MCP Connector helps you expose your Mule application as a tool that any AI client supporting Model Context Protocol (MCP) can use to perform real-world actions. See [組み込みコネクタ](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-connectors). #### [](#munit-flow)Create MUnit Test from Flow Create MUnit tests for your Mule project directly from the context menu of a flow. For more information, see [Create a Test from a Flow](https://docs.mulesoft.com/jp/anypoint-code-builder/int-test-munit#create-test-from-flow). #### [](#munit-processor)Scope MUnit Tests to Specific Processors from UI Select the processors and attributes in a Mule flow from the UI for testing to i​ncrease precision, identify issues faster, and create tests more efficiently. For more information, see [Targeting Specific Processors and Attributes in Your Test](https://docs.mulesoft.com/jp/anypoint-code-builder/int-test-munit#targeting-specific-processors-and-attributes-in-your-test). #### [](#comment-out-canvas)Comment Out Components in Canvas Comment out components directly in Anypoint Code Builder canvas. Disabled components can also be deleted in bulk for cleanup purposes. #### [](#navigate-to-flows)Navigate to Flows from Connectors You can now open the target flow referenced by a connector, using the **Go to Flow** option in the context menu for application flows and MUnit test flows to trace and manage application logic across modular flows. #### [](#scaffolding-errors)Review Scaffolding Errors in Output Panel Now it’s even easier to troubleshoot errors when creating a project. In the Output panel, there’s a new **MuleDX Server - Scaffolding** option. Select that option to show the MuleDX Server log content that’s related to scaffolding only. ![Output panel with Mule DX Server: Scaffolding selected](/mulesoft/current/ja-jp/release-notes/_images/code-builder/scaffolding.png) For more information, see [出力パネルを開く](https://docs.mulesoft.com/jp/anypoint-code-builder/start-open-output-panel). #### [](#canvas-default)Open Projects in Canvas by Default Anypoint Code Builder now opens projects in the canvas by default. You can save and debug your applications directly from the UI without switching views, streamlining your low-code experience. #### [](#properties-in-fields)Enter Properties as Values in Fields in UI Property mode `{}` now makes it possible to enter properties in number and boolean fields in the UI. Previously, it was possible only in the code editor. ![Create parent directories field with Property mode enabled](/mulesoft/current/ja-jp/release-notes/_images/code-builder/bracket.png) #### [](#connector-compatibility)Check Java and Mule Runtime Compatibility for All Connectors in Your Project Verify that your local and Anypoint Exchange connectors are compatible with your Java and Mule runtime version for your projects. Project Properties now tells you about incompatible versions and lets you fix them right away, accelerating development and reducing blockers, especially when importing projects. Previously, Project Properties verified compatibility of Anypoint Exchange connectors only. For more information, see [Mule、Java、コネクタのバージョン設定](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions). #### [](#windows-11)Use Anypoint Code Builder with Windows 11 Anypoint Code Builder Desktop IDE now supports Windows 11. For more information, see [Compatibility](#compatibility). #### [](#command-removed)Agentforce Command Removed The **MuleSoft: Open Agentforce** command is removed from the Command Palette. You can use the toolbar button to access the Agentforce panel when available. ### Fixed Issues
Issue Resolution ID

When you define a DataWeave multiline expression, code highlighting now works as expected.

W-11492623

## [](#may-2025)May 27, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.8.2 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.8.3 This cloud IDE version runs the 1.8.2 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-May25)What’s New - Authentication support for Cursor, Trae, and Windsurf. - Support for Mule runtime engine version 4.9.4 LTS with Java version 17. See [Compatibility](#compatibility). ## [](#apr-2025)April 29, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.8.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.8.3 This cloud IDE version runs the 1.8.1 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-Apr25)What’s New This release introduces support for Anypoint Connector for MCP (MCP Connector) (beta). MCP Connector (beta) helps you expose your Mule application as a tool that any AI client supporting Model Context Protocol (MCP) can use to perform real-world actions. For example, your MCP client can trigger a process, look up data, or transform records. See [組み込みコネクタ](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-connectors). _MCP Connector is a beta connector that is subject to the Beta Services Terms at [Agreements - Salesforce.com](https://www.salesforce.com/company/legal/agreements/) or a written Unified Pilot Agreement if executed by Customer, and the Non-GA Gen AI and Non-GA Credit Consumption terms in the [Product Terms Directory](https://ptd.salesforce.com/?_ga=2.247987783.1372150065.1709219475-629000709.1639001992). Use of this beta connector with external systems or services consumes Mule messages and is at the Customer’s sole discretion._ ## [](#mar-2025)March 21, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.8.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.8.0 This cloud IDE version runs the 1.8.0 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-Mar25)What’s New This release introduces these features: - New DataWeave Transformation Builder Tool. Transform your message payload, attributes, and variables to the required output format and data structure with DataWeave Transformation Builder. See [Open Transformation Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions#open-transformation-builder). - Refine your flows through natural language interactions. Anypoint Code Builder dynamically updates your flow code based on your latest instructions, ensuring an easy and efficient workflow. Plus, access your chat history to track changes. - Validate and publish your API project to Anypoint Exchange through a new intuitive user interface. See [Exchange への API プロジェクトのパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange). - Build Agentforce integrations using Agentforce Connector 1.0.1 and Einstein AI Connector 1.1.1. See [組み込みコネクタ](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-connectors). - Agentforce for Anypoint Code Builder Generative Flows is now available on these Anypoint Platform control plane regions : [Canada Cloud](https://ca1.platform.mulesoft.com) and [Japan Cloud](https://jp1.platform.mulesoft.com). - New documentation to help you migrate your Anypoint Studio Mule projects to Anypoint Code Builder. Learn how to import your Mule projects into Anypoint Code Builder to unlock a modern development experience with faster startup times, streamlined collaboration, and the integration of MuleSoft for Agentforce: Topic Center to enable API projects for topics and agents. See [Migrate Your Mule Project from Anypoint Studio to Anypoint Code Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/int-migrate-studio-to-acb). - The Einstein generative flow feature is now called the Agentforce generative flow feature. ### Fixed Issues
Issue Resolution ID

DataSense now works as expected when a tag spans multiple lines.

W-12482310

DataSense now works as expected when you create a project with Mule runtime version 4.4 and no other runtime versions are downloaded.

W-16117373

## [](#feb-2025)February 6, 2025 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the Cloud IDE. - Extension pack version: 1.7.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.7.1 This cloud IDE version runs the 1.7.0 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-Feb25)What’s New This release introduces these features: - Support for [MuleSoft for Agentforce: Topic Center](https://docs.mulesoft.com/jp/anypoint-code-builder/ai-enabling-api-project-topic-center). - Use the visual editor when you design an API to enable your API specifications for topics and agents. - Make your topic and action-enabled APIs available in Salesforce using Salesforce API Catalog. - Augment agent functionality by assigning topics to Agentforce agents in Agent Builder. - Use the provided governance rules to validate that your API is ready to generate agent actions and topics in Salesforce. - Run MUnit tests from the canvas. See [Testing Projects with MUnit](https://docs.mulesoft.com/jp/anypoint-code-builder/int-test-munit#run-tests-from-the-canvas). - Configure proxy settings. See [Using a Proxy in Anypoint Code Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-proxy-settings). - Streamline productivity with performance enhancements for DataSense, flow canvas rendering, and connector configuration testing. - Support for Mule runtime engine version 4.9 LTS with Java version 17. See [Compatibility](#compatibility). ### Fixed Issues
Issue Resolution ID

A notification now appears after you change the region in the settings.json file.

W-13184670

XML formatting is no longer corrupted when you add or update a connection configuration, or when you use the Format Document menu option.

W-16850099

Avro suggestions now appear when you define an Avro schema and declare a record inside a record property.

W-16814386

Correct suggestions now display for inline Avro schema payloads. The issue occurred inside maps that contained arrays.

W-16809972

Correct suggestions now display for values in fields of type map.

W-16814887

Syntax errors in DataWeave expressions in projects imported from Studio no longer occur. Anypoint Code Builder now automatically fetches the required dependencies when the project loads.

W-14037343

When you use a proxy, the Mule runtime options now appear in the UI form for creating a new integration project. You can click Create Project to create the project.

None

## [](#dec-2024)December 9, 2024 Anypoint Code Builder releases a new feature in the Anypoint Extension Pack. - Extension pack version: 1.6.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-dec24)What’s New - This product is now available on Hyperforce. Anypoint Platform instances on the Hyperforce infrastructure are: - [Canada Cloud](https://ca1.platform.mulesoft.com) - [Japan Cloud](https://jp1.platform.mulesoft.com) Exceptions: - Einstein for Anypoint Code Builder Generative Flows is available only on US and EU cloud hosts. Canada and Japan cloud hosts are currently not supported. - Cloud IDE is available only on US and EU cloud hosts. Canada and Japan cloud hosts are currently not supported. - “Design Center” UI labels are renamed to “MuleSoft VCS”. ### Fixed Issues
Issue Resolution ID

Anypoint Connector for Zoom (Zoom Connector) component configuration view now correctly displays relevant options.

W-17148078

Adding a transform connector no longer incorrectly inserts #[] in script fields.

Previous: <![CDATA[#["test"]]]>

New: <![CDATA["test"]]>

W-17199037

## [](#nov-2024)November 4, 2024 Anypoint Code Builder releases a new feature in the Anypoint Extension Pack and the cloud IDE. - Extension pack version: 1.5.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.5.0 This cloud IDE version runs the 1.5.0 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-nov24)What’s New The release introduces the following feature: - The Einstein for Anypoint Code Builder Generative Flows feature is now enabled and managed in Anypoint Platform Access Management. For more information, see [Enabling Einstein for Anypoint Platform](#access-management::enabling-einstein.adoc). ### Fixed Issues
Issue Resolution ID

JMS Connector connections can now be validated with the Test Connection button.

W-16983063

## [](#oct-2024)October 8, 2024 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the cloud IDE. - Extension pack version: 1.4.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.4.6 This cloud IDE version runs the 1.4.1 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-oct24)What’s New This release introduces these features: - [Advanced Data Types](#data-types-advanced) - [Connection Configurations from the UI](#connection-configurations) - [Code Coverage Reports](#code-coverage-munit) - [Deploy to CloudHub 2.0](#cloudhub-2-deployments) - [Publish Mule Projects to Anypoint Exchange](#app-publish-exchange) - [AsyncAPI Specification Design and Governance](#asyncapi-design) - [AsyncAPI Support for Avro Schema Fragments](#asyncapi-avro) - [AsyncAPI Implementation Support for Solace PubSub+ and Salesforce Platform Events Connectors](#solace-platform-support) - [Support for Mule Version 4.8](#runtime-version-support) - [Enhanced API Auto-Completion](#api-autocompletion) - [API Autodiscovery](#api-autodiscovery) - [Enhanced Debugging](#visual-debugger) - [Custom Connector Support](#custom-connector-support) #### [](#data-types-advanced)Advanced Data Types The connection configuration panel in the canvas UI adds support for configuring connections, objects, arrays of non-primitive types, and multi-level dynamic lists. In the previous release, the configuration panel supported unions, arrays of primitive types, file selectors, and password fields. For more information, see [Adding a Component to Your Project](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components-add). #### [](#connection-configurations)Connection Configurations from the UI Connection configurations are global configurations that more than one component in a project can use. Anypoint Code Builder improves workflow by enabling you to check for components that use the connection through the UI. For more information, see [Adding a Component to Your Project](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components-add). #### [](#code-coverage-munit)Code Coverage Reports Anypoint Code Builder adds code coverage reports for testing integration and implementation projects with MUnit. For more information, see [Running MUnit Tests with Coverage](https://docs.mulesoft.com/jp/anypoint-code-builder/int-test-munit#run-coverage). Additionally, you can now run MUnit tests in Anypoint Code Builder without setting your credentials in Maven. #### [](#cloudhub-2-deployments)Deploy to CloudHub 2.0 In addition to supporting deployments of your integrations to CloudHub, Anypoint Code Builder adds support for deployments to CloudHub 2.0. For more information, see [Mule アプリケーションの CloudHub および CloudHub 2.0 へのデプロイ](https://docs.mulesoft.com/jp/anypoint-code-builder/int-deploy-mule-apps). #### [](#app-publish-exchange)Publish Mule Projects to Anypoint Exchange Anypoint Code Builder adds functionality for publishing project templates and project examples to Anypoint Exchange. Publishing to Exchange enables your team to reuse your applications. For more information, see [Publishing a Mule Project to Exchange](https://docs.mulesoft.com/jp/anypoint-code-builder/int-export-mule-project#publishable). #### [](#asyncapi-design)AsyncAPI Specification Design and Governance Anypoint Code Builder now supports creating, designing, and governing AsyncAPI 2.6 specifications. For more information, see: - [Creating and Importing AsyncAPI API Specifications](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-asyncapi-api-specs) - [Validating API Specifications Against Governance Rulesets](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api) #### [](#asyncapi-avro)AsyncAPI Support for Avro Schema Fragments Anypoint Code Builder adds support for creating and designing Apache Avro schema fragments. Ensure data consistency and interoperability in distributed systems by defining Avro schemas with structured data, including data types and fields. For more information, see [Creating and Using API Spec Fragments](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-fragments) #### [](#solace-platform-support)AsyncAPI Implementation Support for Solace PubSub+ and Salesforce Platform Events Connectors Anypoint Code Builder adds support for Solace PubSub+ and Salesforce platform events connectors. Expand your integration capabilities and streamline event-driven architectures. For more information, see [Supported Message Brokers](https://docs.mulesoft.com/jp/apikit/latest/apikit-asyncapi-module-reference#supported-message-brokers). Implementing AsyncAPI specifications using DataSense for Avro schemas requires Mule 4.8 or later. #### [](#runtime-version-support)Support for Mule Version 4.8 Anypoint Code Builder adds support for Mule version 4.8 with Java versions 11 and 17. For more information, see [Mule and Java version support](#versions-mule-jdk). #### [](#api-autocompletion)Enhanced API Auto-Completion Anypoint Code Builder introduces enhanced API auto-completion. Instead of typing Ctrl+Space to activate the auto-completion menu in your API spec, you can place your cursor at the location in your API spec file where you require suggestions. If the line has some content, press Tab, press Space, or start typing after the content on the line to launch the menu. To close the auto-completion menu, press Escape. - [Mule > Editor > Auto-completion: Enablement](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-mule-settings#setting-auto-complete) This setting is disabled by default. - [Mule > Editor > Auto-completion: Trigger Delay](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-mule-settings#setting-auto-complete) For more information on using auto-complete, see [Use Auto-Complete in the Editors](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#use-autocomplete). #### [](#api-autodiscovery)API Autodiscovery Anypoint Code Builder supports configuring Mule apps for tracking requests with Autodiscovery. Configure a Mule app to send request data to an API running on a Mule Gateway runtime in API Manager. The API tracks this data in charts in API Manager. For more information, see [Tracking Requests with Autodiscovery](https://docs.mulesoft.com/jp/anypoint-code-builder/int-autodiscovery-config). #### [](#visual-debugger)Enhanced Debugging Anypoint Code Builder adds breakpoint indicators in the canvas UI for components that have one or more breakpoints in the configuration XML. Indicators also display when stepping through a flow while debugging. Additionally, you can add and remove breakpoints on components in the canvas UI. For more information, see [Debugging Mule Applications](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps). #### [](#custom-connector-support)Custom Connector Support Anypoint Code Builder now supports custom connectors that are locally bundled or published to Exchange. For locally bundled connectors, add the dependency to your integration project by referencing the Maven dependency in your `pom.xml` file. For connectors published to Exchange, add the component from the **Add Component** panel using the **Search in Exchange** toggle. ### Fixed Issues
Issue Resolution ID

The Governance Rulesets and Governance Results panels now update as expected when more than one project folder is open in a VS Code workspace.

W-15677742

After iteratively scaffolding an API spec into an implementation project, the Data and Functions tabs in the expression builder no longer display the "loading" animation.

W-15828343

## [](#aug-2024)August 17, 2024 Anypoint Code Builder releases a new feature in the Anypoint Extension Pack and the cloud IDE. - Extension pack version: 1.3.0 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.3.0 This cloud IDE version runs the 1.3.0 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ### [](#features-august-2024)What’s New The release introduces the following feature: - You can now use the Einstein for Anypoint Code Builder Generative Flows feature to jumpstart your integration development by generating flows for you. For more information about this feature, see [Agentforce を使用したインテグレーションの開発](https://docs.mulesoft.com/jp/anypoint-code-builder/int-ai-developing-integrations). ### Fixed Issues
Issue Resolution ID

The Governance Rulesets and Governance Results now update as expected when more than one folder is open in a VS Code workspace.

W-15677742

The Preview tab in the expression builder UI no longer produces an Internal Error message when you configure an attribute of a component’s child element in the XML editor and that attribute accepts DataWeave expressions. This issue affected all components with child attributes that accept expressions. The following example displays a child element with an attribute that contains a DataWeave expression:

Attribute with an expression in nested element of a component

W-15906886

## [](#jul-2024)July 2, 2024 This patch release addresses Anypoint Code Builder issues. ### Fixed Issues
Issue Resolution ID

You no longer have to update the runtime version when deploying a Mule application with Mule runtime version 4.6 or 4.7. This issue occurred when deploying to CloudHub from the IDE.

W-15902597

A tooling client error no longer appears after creating a Java class, adding a New operation from the Java Module to a flow, selecting the class, and then refreshing Constructor.

W-15877062

The XML now reflects changes after configuring the Send operation of Anypoint Connector for Email (Email Connector) from the component configuration panel.

W-15906937

After changing the class setting in the Class field, you no longer have to refresh the Method field before selecting from the list of methods in the class. This issue occurred when updating the Invoke, Invoke Static, or New operations from the Java Module in the configuration panel.

W-15111695

To import DataWeave libraries when using functions outside of the Core library, you no longer have to use the Quick Fix option. The DataWeave libraries are now imported automatically.

W-15673127

The feedback button for the open beta of AsyncAPI support to implement event-driven architecture now consistently appears in the canvas.

W-16084084

Patching the desktop IDE extensions requires a manual update or installation of the Anypoint Extension Pack. The cloud IDE is updated automatically. - Extension pack version: 1.2.2 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.2.4 This cloud IDE version runs the 1.2.2 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ## [](#jun-24-2024)June 24, 2024 AsyncAPI Beta: AsyncAPI 2.6 and 2.0 implementation features are now available for use in Anypoint Code Builder. The minimum Mule runtime engine requirement for this feature is Mule 4.6. Before you can use these features, your Anypoint Platform organization administrator must accept the Beta terms and conditions from the Anypoint Code Builder landing page in Anypoint Platform. For guidance, see [AsyncAPI 仕様の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-asyncapi). Anypoint Extension Pack has not changed since the [June 4, 2024 release](#jun-2024). If you installed or upgraded your extensions on the desktop IDE in that release, no installation or upgrade is required. The cloud IDE was updated automatically in that release. To learn about the AsyncAPI journey, see [AsyncAPI Support to Implement Event-Driven Architecture](https://docs.mulesoft.com/jp/release-notes/platform/event-driven-api). For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ## [](#jun-2024)June 4, 2024 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the cloud IDE. - Extension pack version: 1.2.1 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.2.1 This cloud IDE version runs the 1.2.1 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. ### [](#features-jun24)What’s New The release introduces the following features: - [DataWeave Expression Builder](#dw-expression-builder) - [Component Configuration Enhancements](#component-config-ui) - [Support for Multiple Mule Runtime Versions with Java 17 or 11](#multiruntime) - [Custom Java Classes and Code](#java-custom) - [Maven Settings](#maven) - [MUnit Support](#munit) - [API Governance for REST APIs](#governance) For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). #### [](#dw-expression-builder)DataWeave Expression Builder Use the DataWeave expression builder when configuring your integrations and implementations from the UI. DataWeave is a programming language designed for transforming data. Most components in Mule application flows use DataWeave expressions to select and transform messages (payload and attributes) or Mule variables. The DataWeave expression builder helps you configure fields of components that accept expressions (**fx** fields). For each expression field, the feature provides an extra panel with the following tabs: - **Data** for selecting a value (payload, attributes, or a Mule variables) - **Functions** for selecting DataWeave functions to use in your expressions Function documentation is available from this tab by mousing over a function and getting details, including parameter descriptions and examples. - **Preview** for running the expression on sample data In addition, you can use autocomplete from an expression (**fx**) field for a component to select DataWeave functions from the Core module and other values accepted in this field. For details, see [Anypoint Code Builder での DataWeave 式と変換の使用](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions). For more information about DataWeave and the Mule event structure, see [DataWeave Overview](https://docs.mulesoft.com/dataweave/latest/) and [Mule Event Structure](https://docs.mulesoft.com/mule-runtime/latest/about-mule-event). #### [](#component-config-ui)Component Configuration Enhancements Configure more of your integrations and implementations from the canvas UI. The configuration panel for components adds: - An **Input/Output** tab to existing tabs (**General**, **Advanced**, and **Notes**) for Mule event metadata from the payload, attributes, Mule variables - Support for additional data types in the configuration fields: - File selectors - Passwords - Array (primitive types only) - Union for some configurable data sets For examples, see [Anypoint Code Builder での DataWeave 式と変換の使用](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions). #### [](#multiruntime)Support for Multiple Mule Runtime Versions with Java 17 or 11 Anypoint Code Builder now supports Mule runtime versions 4.4, 4.6, and 4.7 and compatible Java versions (Java 11 or Java 17) to run Mule apps for your implementation and integration projects (see [supported Mule and Java versions](#versions-mule-jdk)). In addition, when you create an integration project from a template or example project in Anypoint Exchange, the asset search displays assets set to use Mule 4.4 or higher, instead of 4.4 only. Select the versions to run when creating or importing Mule applications in Anypoint Code Builder and when scaffolding an API specification into an implementation project. The following settings are new in this release: - **Mule > Application: Default Mule Runtime And Java Versions**: Sets default Mule and Java versions for all projects. - **Project Properties** tabs for setting and changing Mule runtime, Java, and connector versions in an implementation or integration project. This feature is useful for updating to the latest minor version or when importing projects that use unsupported versions. - **Mule: Home Directory**: Set the home directory for Mule runtime and Java downloads. This setting replaces the runtime settings **Mule > Runtime: Mule Home** and **Mule > Runtime: Mule Runtimes Directory**, which are no longer present in the **Settings** tab. In addition, the IDE no longer uses the directory `${user.home}/muleRuntimes/` to store Mule runtime versions. Anypoint Code Builder - Mule Runtime Extension (`salesforce.mule-dx-mule-runtime`) is removed from Anypoint Extension Pack in this release. Instead of supplying a bundled runtime, the IDE provides an interface for downloading and installing runtime versions to use in your projects. To remove the runtime extension from VS Code, open the **Extensions** panel, click **Anypoint Code Builder - Mule Runtime Extension**, and select **Uninstall**. See [Mule、Java、コネクタのバージョン設定](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions) for project and default version settings. #### [](#java-custom)Custom Java Classes and Code The Java module is now bundled into Anypoint Code Builder. When you create a new Java class in a project, Anypoint Code Builder automatically adds the necessary dependencies to the project’s `pom.xml` and the namespace and schema locations to the configuration XML for the project. New integration and implementation projects now add the directories `src/main/java` and `/src/test/java` for your custom Java work. For documentation, see [Anypoint Code Builder を使用した Java Module の設定](https://docs.mulesoft.com/jp/java-module/latest/configure-java-module-acb). To use auto-complete from the application XML to find module configuration options and to display lists of available Java classes and methods in a selected class, install [Extension Pack for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) from Microsoft to the IDE. #### [](#maven)Maven Settings To avoid changing any of your preferred Maven settings in `settings.xml`, Anypoint Code Builder now creates a separate settings file, `acb_settings.xml`. The setting **Mule: Home Directory**, in the **Settings** tab, configures the location of this file. By default, the full path to the file is `{user.home}/AnypointCodeBuilder/maven/acb_settings.xml`. For details, see [Anypoint Code Builder の Maven 設定ファイル](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-acb-maven). #### [](#munit)MUnit Support Anypoint Code Builder introduces limited support for testing with MUnit. Run, modify, and create MUnit tests for your implementation and integration projects in Anypoint Code Builder. Import projects that contain MUnit test files. Test configuration is supported through the XML editor only at this time. For more information, see [MUnit を使用したプロジェクトのテスト](https://docs.mulesoft.com/jp/anypoint-code-builder/int-test-munit). Some MUnit features supported by Anypoint Studio are not supported by Anypoint Code Builder in this release. #### [](#governance)API Governance for REST APIs Anypoint Code Builder now supports API Governance for REST APIs: - Check conformance status of a project. - Add rulesets to your project. You can also remove rulesets, change ruleset versions, and review ruleset configurations. - Run and re-run validations against your API specifications. For supported specifications, see [Compatibility](#compatibility). - Monitor the progress of a validation. - Fix conformance issues. See [ガバナンスルールセットに対する API 仕様の検証](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api). ## [](#apr-2024)April 19, 2024 Anypoint Code Builder updates the built-in Mule runtime engine to patch version `4.4.0-20240408`. The Mule version is updated automatically in the cloud IDE but requires a manual update or installation of the Anypoint Extension Pack in the desktop IDE. - Extension pack version: 1.0.8 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.1.4 This cloud IDE version runs the 1.0.8 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ## [](#feb-2024)February 14, 2024 Anypoint Code Builder releases new features in the Anypoint Extension Pack and the cloud IDE. - Extension pack version: 1.0.7 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.1.3 This cloud IDE version runs the 1.0.7 extension pack. For extension versions, see [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog) in the VS Code Marketplace. ### [](#features-feb24)What’s New The release introduces the following features: - [Component Configuration Panel in the UI](#component-ui) - [Integration Project Creation from Templates and Examples](#project-import) - [API Design Project Improvements](#api-design-change) - [Configuration XML File Creation Enhancement](#config-xml-creation) #### [](#component-ui)Component Configuration Panel in the UI Anypoint Code Builder introduces a configuration panel in the UI for components, such as connector operations, within integration and implementation projects. This feature simplifies component configuration. The component configuration panel provides configuration options that are also available through the configuration XML files for your projects. Some components and fields continue to require configuration through the XML in this release. Continue to use XML for complex fields, identified as read-only fields in the UI, and for global configurations, such as connection configurations. You can open the configuration panel from the canvas or from a configuration XML file within your project. See [Add a Component to Your Project](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations#add-components) and [Open a Component in the Canvas from the XML Editors](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations#open-component-from-xml). #### [](#project-import)Integration Project Creation from Templates and Examples Anypoint Code Builder adds the ability to import a template or example from Anypoint Exchange into an integration project within Anypoint Code Builder. After importing, you can continue to develop your integration. For information about templates and examples in Exchange, see [アセットタイプ](https://docs.mulesoft.com/jp/exchange/asset-types). For guidance with importing from Exchange, click the tab **Start with a Project Template or Example** in the procedure [Create an Integration Project](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations#anchor-for-rns). #### [](#api-design-change)API Design Project Improvements This release introduces improvements and simplifications to the design process: - Import API design projects from Design Center into Anypoint Code Builder. For details, see [Import an API Specification from Design Center](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs#import-spec). - Publish your API specifications and fragments to Anypoint Exchange without first syncing your code changes with the Anypoint source control management (SCM) system. Creating an API design project from scratch in Anypoint Code Builder no longer spawns a corresponding design project in Design Center or creates a connection to the Anypoint SCM. For details, see [Source Control for API Design Projects](https://docs.mulesoft.com/jp/anypoint-code-builder/des-designing-api-specs#anypoint-scm). - Set a business group for your API design project when you publish to Exchange instead of when you create the design project. For example, see the steps in [Publish an API Spec to Exchange](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange#publish-spec). #### [](#config-xml-creation)Configuration XML File Creation Enhancement Anypoint Code Builder enables you to create one or more additional configuration XML files from within your integration or implementation projects. This feature is useful for adding an implementation for an interface. The feature also enables you to split complex project code into more manageable pieces. For more information, see [Create an Additional Configuration XML File](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations#create-new-config). For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ## [](#dec-2023)December 6, 2023 Anypoint Code Builder releases a patch to Anypoint Extension Pack and the cloud IDE. - Extension pack version: 1.0.6 To use this extension pack in the desktop IDE, see [Set up the Desktop IDE](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop). - Cloud IDE version: 1.0.3 This cloud IDE version runs on the 1.0.6 extension pack. The patch addresses the following issues:
Description Issue

When you open the IDE, the exception dw-lang-server-language-0" java.lang.NoClassDefFoundError: org/jboss/shrinkwrap/resolver/api/maven/Maven in the Mule DX Server logs no longer occurs because of an open workspace that contains a non-Mule project, such as an API spec project or other folders or files.

W-14268344

The issue java.io.FileNotFoundException no longer occurs due to attempted parsing of files that do not exist.

W-14254505

After scaffolding an API spec into an interface within an implementation project, the IDE no longer produces the syntax validation issue Configuration type reference is not compatible (INVALID_CONFIG_REFERENCE) within the configuration XML for config-ref attribute-value pairs. Previously affected components include <http:listener/>, <apikit:router/>, and <apikit:console/>.

W-14243529

A test connection no longer fails with the error 'Invalid Connection ElementDeclaration is declaring an extension: 'HTTP' that is not part of the session: '[]' after you copy and paste an HTTP Listener configuration (<http:listener-config/>) into a new project.

W-14252415

For more information, see [Known Issues](#known-issues) and [Compatibility](#compatibility). ## [](#oct-19-2023)October 19, 2023 Anypoint Code Builder releases a patch to the cloud IDE: - 1.0.2 (Cloud IDE): The cloud IDE removes the proxy for security purposes. URLs that trigger flows in the cloud IDE through the proxy no longer work. To trigger locally hosted flows that use an HTTP listener, see [開発環境でのフローのトリガー](https://docs.mulesoft.com/jp/anypoint-code-builder/int-trigger-flows). There are no changes to the desktop IDE, which remains version 1.0.5. ## [](#oct-16-2023)October 16, 2023 Anypoint Code Builder releases these versions: - 1.0.5 (Desktop IDE): Anypoint Code Builder for Desktop (desktop IDE) is generally available (GA) in this release. - 1.0.1 (Cloud IDE): The cloud IDE for Anypoint Code Builder remains in open beta:
Any use of an Anypoint Code Builder IDE in its beta state is subject to the applicable beta services terms and conditions, available from the cloud IDE.
The desktop IDE version 1.0.5 and cloud IDE version 1.0.1 both run on the same versions of the Anypoint Code Builder extensions, described in [Change Log](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog), and provide the same features. To set up and gain access to the IDEs, see [Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb). ### [](#whats-new-2)What’s New This release introduces: - Anypoint Extension Pack version 1.0.5 for the desktop IDE on [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=salesforce.mule-dx-extension-pack) - API fragment support for JSON Schema See [Supported Specification Languages for API Fragments](https://docs.mulesoft.com/jp/anypoint-code-builder/des-designing-api-specs#supported-fragment-languages). ## [](#open-beta)Open Beta Prior to the Oct 16, 2023 release, MuleSoft released these open beta versions of Anypoint Code Builder: - [September 2023 (Open Beta)](#sept-2023) - [August 2023 (Open Beta)](#aug-2023) - [June 2023 (Open Beta)](#june-2023) - [April 24, 2023 (Open Beta)](#april-24-2023) - [April 2023 (Open Beta)](#april-2023) ### [](#sept-2023)September 2023 (Open Beta) This update to the open beta introduces Anypoint Code Builder for Desktop on Windows and new features for desktop and cloud IDEs. - Windows support on the desktop IDE. See [Compatibility](#compatibility). - Hot deployments are supported for debugging Mule applications. See [Hot Deploy When Debugging](#anypoint-code-builder::debug-a-mule-application.adoc#hot-deploy). - New export commands for packaging Mule applications within shareable and deployable JAR files. See [anypoint-code-builder::package-mule-application.adoc](#anypoint-code-builder::package-mule-application.adoc). ### [](#aug-2023)August 2023 (Open Beta) This update to the open beta introduces Anypoint Code Builder for Desktop on MacOS and a new feature for desktop and cloud IDEs. - Anypoint Extension Pack on [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=salesforce.mule-dx-extension-pack) to support API specification design (OAS 3 and RAML), API implementation, and integration development Install the _pre-release\_version. Attempting to install the \_release_ version produces an error. - Support for the Mac operating system running on Intel or ARM processors (see [Compatibility](#compatibility)) - Desktop and cloud IDE support for the following features: - Secure configuration properties in your integrations and API implementations (see [Mule アプリケーションのプロパティの定義および保護](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-secure-configs)) - Improvements to avoid reloading the IDE when unpacking the runtime for the first time ### [](#june-2023)June 2023 (Open Beta) The update to the open beta for the web-based IDE introduces these features and improvements: - Support for EU Cloud: EU Cloud users of Anypoint Platform can now use Anypoint Code Builder from their management plane. See [anypoint-code-builder::connect-eu-cloud.adoc](#anypoint-code-builder::connect-eu-cloud.adoc) for more information. - Synchronization between a local API specification and Mule project: You can now work on your API specification and its Mule project implementation simultaneously. Anypoint Code Builder enables you to scaffold your API specification into a Mule project without publishing it to Exchange. You can work on your Mule project, then edit the API specification, and re-scaffold it to reflect your new changes. Both API design and API implementation tasks are now synchronized. You can then publish your API specification and deploy your Mule project from there. See [anypoint-code-builder::local-api-specification-tutorial.adoc](#anypoint-code-builder::local-api-specification-tutorial.adoc) for more information. - Updated UI canvas and code snippet support: - Directly import connectors from the canvas instead of using the dedicated command. - Use code snippets. See [anypoint-code-builder::work-with-code-snippets.adoc](#anypoint-code-builder::work-with-code-snippets.adoc) for more information. ### [](#april-24-2023)April 24, 2023 (Open Beta) The update to the open beta for the cloud IDE introduces a number of features and improvements: - Anypoint Code Builder migrated to a new underlying architecture. - The URL for your cloud IDE instance changed. You can get the new URL by launching the cloud IDE from the central page or checking the IDE details. - Your session cookie changed, so you must update it when [pinging a locally deployed application](#anypoint-code-builder::ping-locally-deployed-app.adoc) from a REST client. ### [](#april-2023)April 2023 (Open Beta) The update to the open beta for the cloud IDE introduces these features and improvements: - Business group support enables you to control access to resources when working with assets from Anypoint Exchange. - Search filters enable you to refine your search results when looking for an API asset from Anypoint Exchange. See [検索結果の絞り込み](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-filter-search-results) for more information. - The canvas UI enables you to add components to flows in your integration. ## Compatibility
Application/Service Version

Anypoint Platform

US Cloud, EU Cloud, and these Anypoint Platform control plane regions: Australia Cloud, Canada Cloud, Japan Cloud, and United Kingdom Cloud. Anypoint Code Builder also connects to Anypoint Platform Private Cloud Edition (PCE). (Not supported by MuleSoft Government Cloud)

API Governance

Validations for REST API and AsyncAPI specs

CloudHub

1.0 and 2.0 (for deployments to the Sandbox environment)

DataWeave

Bundled with Mule runtime engine (built-in)

Java

Multiple versions supported. See supported Mule and Java versions.

Maven

3.9.4 (built-in)

Mule runtime engine

Multiple versions supported. See supported Mule and Java versions.

Operating system

Windows 11, Windows 10, macOS Intel and ARM (M1 or M2)

Visual Studio Code

Minimum version: 1.99.3
Tested versions:

  • 1.99.3 or later (macOS)

  • 1.99.3 or later (Windows)

Web browser

Anypoint Platform のブラウザーサポート

In Anypoint Code Builder, Mule applications for your implementation and integration projects are compatible with the following Mule runtime engine (Mule) and Java versions: Supported Mule and Java versions:
Mule runtime version Java version

Mule 4.13.x Edge

Java 17

Mule 4.12.x Edge

Java 17

Mule 4.11.x Edge

Java 17

Mule 4.10.x Edge

Java 17

Mule 4.9.x LTS

Java 17

Mule 4.8 Edge

Java 11, Java 17

Mule 4.6.x LTS

Java 11, Java 17

Mule 4.4

Java 11

Minor and major version changes to Mule require a manual update to your projects. Periodic Mule patch updates (such as from Mule 4.8.2 to 4.8.3) to Mule versions already downloaded to your IDE occur automatically when you log in to Anypoint Platform from the IDE.

Starting May 18, 2026, publishing connectors and Mule plugins to Exchange requires mule-extension-plugin 1.9.0 or later. Update your plugin version before publishing new connector versions.

## Known Issues For new known issues and workarounds for the February 6, 2025 release and later, see [Salesforce Known Issues](https://help.salesforce.com/s/issues). These known issues and workarounds from the December 9, 2024 release still apply to this release:
Limitation ID

When the Anypoint Code Builder launches for the first time, a corrupted dependency (.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.pom) can block the Anypoint Code Builder - Integration Extension when extracting the Mule runtime operation.

Workaround: Delete the dependency from .m2\repository\net\minidev\accessors-smart, and re-launch the IDE.

W-14047707

Previously configured sample data is overridden when selecting a component in the canvas UI.

W-16270847

There is no command to delete dependencies related to assets that you import from Exchange to an API design project.

Workaround: Remove the dependency from the dependencies node in the exchange.json file.

W-13822075

Moving the editors while searching for components from the UI canvas causes your search to be canceled.

Workaround:
Avoid rearranging your editors when using the component palette in the canvas.

W-13172200

Using autocompletion to create a parameter for the value field in the XML adds an extra #[] statement.

W-12444650

Autocompletion does not work properly when more than one connector has the same prefix.

W-10667510

Anypoint Connector for Apache Kafka (Apache Kafka Connector) does not display the Test Connection option.

W-12553536

DataSense doesn’t identify functions provided by a connector.

W-12448776

DataSense doesn’t reflect array structures at the payload’s root level.

W-12263085

DataWeave doesn’t recognize the larger context to which samples belong. So DataWeave requests sample data for all scripts within a single component.

None

DataWeave validations to produce Invalid input errors on some multiline scripts because Anypoint Code Builder does not decode Unicode characters for new lines in XML (&#10;). This limitation does not interrupt the correct execution of your Mule application.

W-11750473

Updates to metadata in one component don’t trigger metadata validation in subsequent components. This issue causes Anypoint Code Builder to display potential issues in the subsequent components.

W-12215165

The Batch Job processor is not supported by the UI canvas or through auto-complete in the configuration XML.

None

When scaffolding a GraphQL or AsyncAPI specification on Windows, an empty Mule configuration file with the name of the project is created in addition to the flows.xml file.

Workaround: Delete the empty file.

W-15757808

When source validation is enabled, AsyncAPI messages are invalid if mediaType doesn’t match the specification.

W-16663560

When source validation is disabled, AsyncAPI messages are sent downstream without transforming mediaType.

W-16663585

Source validation is not working with the Salesforce platform events application/xml content type.

W-16756836

## [](#see-also)See Also - [CloudHub](https://docs.mulesoft.com/cloudhub/) - [Salesforce Help](https://help.salesforce.com) - [MuleSoft Services](https://www.mulesoft.com/support-and-services) - [Product Versioning and Back Support Policy](https://www.mulesoft.com/legal/versioning-back-support-policy) - [トラブルシューティング](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshooting) - [Known Issues](https://help.salesforce.com/s/issues) # Anypoint Code Builder での DataWeave 式と変換の使用 DataWeave は、データ変換と式の定義のための MuleSoft プログラミング言語です。DataWeave を使用して、コネクタ操作やその他のコンポーネントで、​`payload`​、​`attributes`​、​`vars`​ などの Mule イベントデータを処理します。​**式項目**​、​**式ビルダー**​、または​**変換ビルダー**​を使用するか、設定 XML を編集して、Mule アプリケーションで DataWeave 式と変換を開発します。入力および出力サンプルデータまたはメタデータを提供することで、AI を使用して DataWeave 変換を生成します。 ![1) 式項目の fx ボタン、2) 式ビルダーボタン、3) 変換ビルダーボタンの 3 つの番号付きコールアウトが表示されている設定パネル](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-transform-ui.png)
1式項目​: コンポーネント設定パネルに DataWeave 式またはスクリプトを入力します。
2式ビルダー​: Mule アプリケーション内で式を作成および管理します。
3変換ビルダー​: AI 支援の視覚的インターフェースで、Mule アプリケーションの DataWeave 変換を作成します。
Anypoint Code Builder での実装とインテグレーションにより、Mule Runtime Engine のインスタンスで実行される Mule アプリケーションが作成されます。 Anypoint Code Builder は、DataWeave 式と変換を Mule アプリケーション開発プロセスに統合し、次の機能をサポートします。 - 階層マッピング - オブジェクト間および配列間の変換 - 文字列、数値、ブールの連結 - データ型の変換 Anypoint Code Builder では、次の変換マッピングユースケースがサポートされています。 - `Object`​ から ​`Object` - `Primitive`​ から ​`Primitive` - `Object`​ から ​`Primitive` - `Primitive`​ から ​`Object` - `Object`​ から ​`Array` - `Array`​ から ​`Object` - `Object`​ から ​`Object`​ のデータ型の変換 - シンプルな項目の連結 - `Array`​ から ​`Array`​ (同レベル) ## [](#prereq-dw-transforms)始める前に - DataWeave 式の関数、演算子、変数、セレクターを理解します。 詳細は、[DataWeave Reference](https://docs.mulesoft.com/dataweave/latest/dw-functions)を参照してください。 - IDE が提供する関数の組み込みドキュメントを確認します。例については、​[DataWeave 関数のリストの表示およびドキュメントの取得](#tab-functions)​を参照してください。 - [定義済みの Mule イベント変数](https://docs.mulesoft.com/dataweave/latest/dataweave-variables-context)​ (​`payload`​、​`attributes`​、​`vars`​ など)。 - [DataWeave セレクター](https://docs.mulesoft.com/dataweave/latest/dataweave-selectors)​。​[Mule イベント](https://docs.mulesoft.com/mule-runtime/latest/about-mule-event)​内のペイロード内の項目、属性、または変数の値を取得します。 その他のリソースについては、[DataWeave Overview](https://docs.mulesoft.com/dataweave/latest/)を参照してください。 - Anypoint Code Builder AI 機能を使用するには、次の権限があることを確認します。 - Anypoint Code Builder Developer (Anypoint Code Builder 開発者) - Mule Developer Generative AI User (Mule 開発者生成 AI ユーザー) - \[Access Management (アクセス管理)\] で Einstein を有効にします。詳細は、​[「Enabling Einstein for Anypoint Platform (Anypoint Platform での Einstein の有効化)」](#access-management::enabling-einstein.adoc)​を参照してください。 - AI 支援変換で問題がある場合は、​[AI 支援変換のトラブルシューティング](#troubleshoot-ai-assisted-transformations)​を参照してください。 ## [](#open-fx-field)式項目を開く ほとんどのコネクタ操作およびコンポーネントで、DataWeave 式とスクリプトを受け入れる 1 つ以上の項目が提供されます。コンポーネントの設定パネルの ​**\[fx\]**​ ボタンは、項目が式を受け入れることを示します。XML では、これらの項目には ​`#[]`​ マークアップが含まれます。式項目は、DataWeave 関数と Mule イベントデータ (​`payload`​、​`attributes`​、​`vars`​ など) を含め DataWeave 式を受け入れます。 コンポーネントの式項目 (​**fx**​) を開く手順は、次のとおりです。 1. 実装またはインテグレーションプロジェクトのキャンバスから、式を受け入れるコンポーネントを開きます。 2. **\[fx\]**​ をクリックして、項目を文字列項目から式項目に変更します。 ![\*\[値\]\* 項目の横にある \*\[fx\]\* ボタンが強調表示されている \[変数を設定\] コンポーネント設定パネル](_images/int-dw-fx-field-set-variable.png) XML では ​**fx**​ 項目にマークアップ ​`#[]`​ も表示されるため、式の項目であることが示されます。 3. コンポーネントを設定するには、​**式ビルダー**​をクリックします。 ![\*式ビルダー\*インターフェースの \[Set Variable (変数を設定)\] コンポーネントに DataWeave 式を作成するための \*\[Data (データ)\]\*、\*\[Functions (関数)\]\*、および \*\[Preview (プレビュー)\]\* タブが表示されています](_images/int-dw-fx-expression-builder.png) **\[Data (データ)\]**​、​**\[Functions (関数)\]**​、​**\[Preview (プレビュー)\]**​ タブを使用すると、コンポーネントの式を容易に設定できます。外部ソースのデータで Mule アプリケーションを実行せずに、式の出力をプレビューします。 - [データ構造の確認](#tab-data) - [DataWeave 関数のリストの表示およびドキュメントの取得](#tab-functions) - [DataWeave 式の出力のプレビュー](#tab-preview) ## [](#open-expression-builder)式ビルダーを開く **式ビルダー**​を使用すると、Mule アプリケーション内で式を作成および管理するプロセスが簡略化されます。ビルダーでは、DataWeave 式と変換を作成するための視覚的インターフェースが提供されます。 ### [](#tab-data)データ構造の確認 ペイロード、属性、Mule 変数を含め Mule イベントのデータ構造を確認するには、​**\[Data (データ)\]**​ タブを使用します。サンプルデータが含まれるこのタブは、コンポーネントの ​**fx**​ 項目の​**式ビルダー**​に含まれます。次に例を示します。
[Data (データ)]​ タブ (自動生成データを含む) [Data (データ)]​ タブ (拡張済み)

"式項目の [Data (データ) タブ"]

"式項目の [Data (データ) タブとモック属性"]

自動生成された文字列はモック値として表示され、​[\[Preview (プレビュー)\]](#tab-preview)​ タブなどにプレビューの出力を生成するために使用されます。例の属性メタデータキーはフローの ​`HTTP Listener`​ コンポーネントの設定から取得されます。 **\[Input/Output (入力/出力)\]**​ タブには、データ入力 (​**Input (入力)**​) コンポーネントとデータ出力 (​**Output (出力)**​) コンポーネントの構造が表示されます。次に例を示します。 !["コンポーネントの \[Input/Output (入出力)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-fx-input-output-sample.png) タブ"\] ### [](#tab-functions)DataWeave 関数のリストの表示およびドキュメントの取得 コンポーネントの ​**\[Functions (関数)\]**​ タブ、​**fx**​ 項目、または XML エディターのオートコンプリートメニューから使用可能な関数のリストを取得する手順は、次のとおりです。 1. **fx**​ 式項目を持つコンポーネントを開きます。 案内については、​[式項目を開く](#open-fx-field)​を参照してください。 2. 使用可能な関数のリストを表示します。 - 空の ​**fx**​ 項目からコアモジュールの DataWeave 関数のリストを表示するには、​_空_​の ​**fx**​ 項目内で Ctrl+Space を押します。次に例を示します。 ![DataWeave オートコンプリートドロップダウンメニューに、abs、avg、ceil、floor などの使用可能な Core モジュール関数とその説明が表示されています](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-fx-field-autocomplete.png) - `String`​ モジュール、​`Array`​ モジュール、​`Core`​ モジュールなど、すべての ​[DataWeave モジュール](https://docs.mulesoft.com/dataweave/latest/dw-functions#dw_modules)​から関数を表示する手順は、次のとおりです。 1. **fx**​ 項目をクリックして、​**式ビルダー**​を開きます。 2. **\[Functions (関数)\]**​ タブをクリックします。
DataWeave 関数 関数リファレンス

関数にマウスポインターを置くと、短い説明が表示されます。

"式ビルダーの [Functions (関数) タブに、検索機能を備えた Array、Core、Object、String モジュールを含む分類済み DataWeave 関数が表示されています"]

[Details (詳細)]​ をクリックすると、完全なドキュメントが表示されます。

関数の詳細ポップアップに、構文、パラメーター、使用例など、DataWeave 関数の完全なドキュメントが表示されています

### [](#tab-preview)DataWeave 式の出力のプレビュー キャンバスまたは XML エディターで DataWeave 式の出力をプレビューします。プレビュー機能の動作は、​**fx**​ (式) 項目のペイロード (​`payload`​) や Mule 変数 (​`vars.somevar`​ など) の設定 XML から提供されたサンプルデータに基づきます。 独自のサンプルデータを提供するには、​[DataWeave 式のサンプルデータを提供する](#sample-data)​を参照してください。 - [UI での結果のプレビュー](#preview-results-fx) - [XML エディターからの結果のプレビュー](#preview-results-xml) #### [](#preview-results-fx)UI での結果のプレビュー 自動生成されたサンプルデータをプレビューするか、独自のサンプルデータをプレビューします。出力は、コンポーネントの式項目の​**式ビルダー**​の ​**\[Preview (プレビュー)\]**​ タブでプレビューします。
自動生成されたサンプルデータのプレビュー サンプルデータのプレビュー

自動生成されたサンプルデータからの出力結果

"自動生成されたサンプルデータを使用した DataWeave 式の出力が表示されている式ビルダーの [Preview (プレビュー) タブ"]

ユーザーが作成したサンプルデータを使用した式からの出力結果

"ユーザーが提供したサンプルデータを使用した DataWeave 式の評価結果が表示されている式ビルダーの [Preview (プレビュー) タブ"]

DataWeave セレクターと関数をサンプルデータに適用することができます。想定される構造とデータ型を持つサンプルデータを作成するには、​[DataWeave 式のサンプルデータを提供する](#sample-data)​を参照してください。 #### [](#preview-results-xml)XML エディターからの結果のプレビュー 設定 XML から結果をプレビューするには、DataWeave コードにマウスポインターを置いて ​**\[Show Code Actions (コードアクションを表示)\]**​ アイコンをクリックし、​**\[Run Preview (プレビューを実行)\]**​ をクリックします。 ![XML エディターの \[Code Actions (コードアクション)\] メニューで、DataWeave 式を実行するための \[Run Preview (プレビューを実行)\] オプションが強調表示されています](_images/function-validation-run-preview.png) Anypoint Code Builder では、関数の結果を含む新しい ​**\[Preview Output (出力をプレビュー)\]**​ タブが開きます。 ![JSON 形式の出力で DataWeave 関数の実行結果が表示されている \[Preview Output (出力をプレビュー)\] タブ](_images/dataweave-function-preview-output.png) ## [](#open-transformation-builder)変換ビルダーを開く Einstein 生成 AI 支援の​**変換ビルダー**​を使用して、Mule アプリケーションで DataWeave 変換を作成します。DataWeave スクリプトを生成するために、入力および出力のサンプルメタデータまたはデータを提供します。 ![\*変換ビルダー\*ウィンドウとその強調表示されたセクション](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-transform-builder-ui.png) **変換ビルダー**​で、ニーズに最適なオプションを選択します。 - [Map with AI (AI を使用したマップ)](#map-with-ai) - [Map and Transform with AI (AI を使用したマップと変換)](#map-and-transform-with-ai) ### [](#considerations-for-transformation-builder-with-ai)AI 支援変換に関する考慮事項 AI 支援変換を使用する場合は、次の考慮事項を評価します。 - メタデータは、出力の形状を提供します。 - サンプルデータは、計算、条件、その他の操作のための関数または式を生成するためのコンテキストを提供します。サンプルデータを含む Web Services Description Language (WSDL) ファイルを提供できます。サンプルデータでサポートされているデータ形式 (MIME タイプ) については、​[DataWeave 式のサンプルデータを提供する](#sample-data)​を参照してください。 - AI では、変換スクリプトを作成するために有効なデータが必要です。必要に応じて、手動で記述します。 - AI チャット履歴は、​**変換ビルダー**​では使用できません。 - サンプルデータや AI 入力では、実際の個人識別情報 (PII) を使用しないでください。架空のデータまたはマスクされたデータのみを含む入力および出力のサンプルデータを提供します。 ### [](#map-with-ai)AI を使用したマップ **変換ビルダー**​にアクセスするときに、項目間の自動マッピングを取得します。 **\[Map with AI (AI を使用したマップ)\]**​ にアクセスできない場合、次の作業を行う必要があります。 - 設定が AI 支援変換を使用するための前提条件を満たしていることを確認する。​[始める前に](#prereq-dw-transforms)​を参照してください。 - 提供された入力メタデータと出力メタデータが有効であることを確認する。 1. Mule プロジェクトを開きます。 2. **fx**​ 項目を持つコンポーネントを開きます。 3. **変換ビルダー**​を開きます。 ![AI 支援マッピング機能の読み込みインジケーターと共に \[Fetching metadata (メタデータを取得中)\] 状況メッセージが表示されている変換ビルダー](_images/int-map-with-ai.png) 提供されたサンプルデータを考慮して、マッピングが自動的に開始されます。 マッピングは XML ファイルに適用されます。 **\[Preview (プレビュー)\]**​ タブに変換の出力が表示されます。 4. マッピングが完了したら、次の作業を行う必要があります。 1. **\[Apply Mapping (マッピングを適用)\]**​ をクリックして、提案されたマッピングをプロジェクトに適用します。 2. AI から新しい提案を取得するには、​**\[Revise Mapping (マッピングを修正)\]**​ をクリックします。 ### [](#map-and-transform-with-ai)Map and Transform with AI (AI を使用したマップと変換) AI 支援 DataWeave 変換スクリプトを作成します。入力および出力サンプルデータ、入力および出力メタデータ、および AI をガイドするための省略可能な指示を提供します。 1. Mule プロジェクトを開きます。 2. **fx**​ 項目を持つコンポーネントを開きます。 3. **変換ビルダー**​を開きます。 ![AI 支援マッピング機能の読み込みインジケーターと共に \[Fetching metadata (メタデータを取得中)\] 状況メッセージが表示されている変換ビルダー](_images/int-map-with-ai.png) 提供されたデータを考慮して、マッピングが自動的に開始されます。マッピングは XML ファイルに適用されます。 4. **\[Map and Transform with AI (AI を使用したマップと変換)\]**​ をクリックします。 5. 必要に応じて、次の情報を提供するか変更します。 - **\[Input sample (入力サンプル)\]**​ データ - **\[Output sample (出力サンプル)\]**​ データ - AI をガイドする省略可能な指示
入力および出力サンプルデータを変更する場合は、AI が意図した変換を理解できるように同じ情報を提供します。入力データは、ペイロード、属性、または変数から取得できます。
6. **\[Transform (変換)\]**​ をクリックします。 Einstein AI は、入力および出力サンプル、指示 (ある場合) を分析して、推奨変換を実行することを目的とした DataWeave スクリプトの提案を生成します。 7. 該当する場合は ​**\[View Suggested Scripts (推奨スクリプトを表示)\]**​ をクリックしてスクリプトを挿入するか、推奨スクリプトをその形式のままでクリップボードにコピーします。 スクリプトを挿入すると、XML ファイルが更新され、​**\[Revise (修正)\]**​ をクリックしてスクリプトを再生成できます。 ### [](#troubleshoot-ai-assisted-transformations)AI 支援変換のトラブルシューティング AI 支援変換で問題が発生した場合は、次の手順に従います。 1. Anypoint Platform にログインして再試行します。 2. Anypoint Platform 管理者に問い合わせて、組織で生成 AI が有効になっていることを確認します。 3. Anypoint Platform にログインしており、組織が Einstein 生成 AI にアクセスできる場合は、Einstein 生成 AI の使用条件に同意します。 ### [](#manually-add-data-sources-targets)データソースと対象を手動で追加する 変換スクリプトにデータソースと対象を手動で追加できます。 1. **\[Transformation Workspace (変換ワークスペース)\]**​ セクションで、ソース項目を入力ペイロードから対象項目にドラッグして、ソースデータを対象データにマップします。 マップされた項目には緑色のドットが表示され、マッピングが成功したことを示すために強調表示されます。​**\[Script (スクリプト)\]**​ セクションが新しいマッピングで更新され、​**\[Output Preview (出力プレビュー)\]**​ セクションに変換の出力が表示されます。 必要に応じて、複数のソース項目を対象項目にマップし、変換ビルダーでそれらを連結します。 2. メタデータを更新したりすべてのマッピングを削除したりするには、​**\[More Actions (その他のアクション)\]**​ をクリックします。 3. 項目マッピングから生成された入力サンプルを確認します。 生成されたサンプルを選択するか、独自の​[サンプルデータ](#sample-data)​を提供できます。 ## [](#sample-data)DataWeave 式のサンプルデータを提供する Anypoint Code Builder で DataWeave 式をローカルでテストおよびプレビューします。アプリケーションを実行せずに出力をプレビューするには、​**fx**​ の項目で ​`payload`​ などの Mule 変数のサンプルデータを追加します。AI 支援変換の場合、サンプル入力および出力データを提供すると、AI が意図した変換を理解し、正しい DataWeave スクリプトを生成するのに役立ちます。 サンプルデータは次の形式で作成することができます。 - JSON - XML - CSV - Java - Text (テキスト) - YAML - Avro - Excel - NDJSON - URL エンコード - Protobuf - Multipart
  • 実際のデータでアプリケーションを実行したときにエラーが発生しないようにするには、式で期待されるデータの基本構造、形式、およびデータ型に一致するサンプルデータを提供します。

  • キャンバスからコンポーネントを再度開くと、サンプルデータは上書きされます。

Mule 変数のサンプルデータを作成する手順は、次のとおりです。 1. プロジェクトを開きます。 2. XML エディターで Mule イベント変数 (​`payload`​ など) にマウスポインターを置きます。次に例を示します。 ![ペイロード変数の上にマウスポインターが置かれ、サンプルデータを作成するための \[Quick Fix (クイック修正)\] が表示されている XML エディター](_images/int-dw-sample-quick-fix-hover.png) 3. **\[Quick Fix (クイック修正)\]**​ をクリックして ​**\[Quick Fix (クイック修正)\]**​ メニューを開きます。 4. **\[Create sample data for payload (ペイロードのサンプルデータを作成)\]**​ など、​**\[Create sample data for ​_your-value_​ (your-value のサンプルデータを作成)\]**​ を選択します。次に例を示します。 ![XML エディターのコンテキストメニューに \[Create sample data for payload (ペイロードのサンプルデータを作成)\] オプションが表示されている \[Quick Fix (クイック修正)\] メニュー](_images/int-dw-sample-quick-fix-create.png) 5. 開いたメニューで、サンプルデータの形式 (JSON など) を選択します。 ![JSON、XML、CSV、Java、Text (テキスト)、YAML、Avro、Excel、その他のサポートされている形式を含むオプションが表示されているサンプルデータ形式選択メニュー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/dw-issue-sample-data-formats.png) IDE にサンプルデータのタブが開きます。 6. 選択した形式のコンテンツをサンプルデータファイルに追加します。たとえば、JSON の場合は次のようになります。 ![src/test/resources ディレクトリ構造に保存されている payload.json などのサンプルデータファイルが表示されている Project Explorer](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-sample-quick-fix-example-dir.png) ファイル名は ​`payload.json`​ です。独自のサンプルデータと自動作成されたサンプルデータのファイルはプロジェクトディレクトリ ​`src/test/resources`​ に保存されます。 サンプルデータを追加する前に​[「重要」](#important)​を参照してください。 XML エディター内の値にマウスポインターを置くと、サンプルデータの構造、データキー、データ型が表示されます。次に例を示します。 ![XML にマウスポインターを置いてサンプルデータを表示](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-sample-quick-fix-example-hover-xml.png) 7. **式ビルダー**​でサンプルデータをプレビューします。 1. キャンバスから、サンプルデータが含まれるコンポーネントをクリックして、その項目の​**式ビルダー**​を開きます。 2. サンプルデータが含まれるコンポーネントの ​**fx**​ をクリックして、その項目の​**式ビルダー**​を開きます。 3. **\[Preview (プレビュー)\]**​ をクリックして、サンプルデータを表示します。次に例を示します。 ![\*式ビルダー\*でのサンプルデータのプレビュー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-sample-quick-fix-example-preview.png) 値は変更できます。たとえば、DataWeave セレクターまたは関数を追加します。 ![変更したサンプルデータのプレビュー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-sample-quick-fix-example-preview-modified.png) この例では ​`id`​ 値の配列が返されるようになりました。 ## [](#address-dw-errors)DataWeave エラーへの対処 DataWeave コードに構文エラーやセマンティックエラーが含まれている場合、Anypoint Code Builder ではエラーが強調表示され、推奨の修正方法が提供されます。次のような問題があります。 - [DataWeave モジュールで欠落している Import ディレクティブを追加する](#fix-dw-add-import) - [未定義関数エラーを修正する](#fix-dw-error) ### [](#fix-dw-add-import)DataWeave モジュールで欠落している Import ディレクティブを追加する 多くの DataWeave モジュールでは、式に明示的な ​`import`​ ディレクティブが必要です。このディレクティブを必要としないモジュールはコアモジュールのみです。 たとえば、この関数が属している String モジュールをインポートしていない場合、関数 ​`camelize( "hello world")`​ では、​`「Unable to resolve the reference of 'camelize' (「camelize」の参照を解決できません)」`​というエラーが発生します。 ```xml ``` **式ビルダー**​ではエラーが識別されます。次に例を示します。 ![「インポートが必要」エラー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-fx-error-add-import.png) この問題を修正するには、クリックして import ディレクティブを自動で追加します。次に例を示します。 ![「インポートが必要」エラー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-fx-error-fix-import.png) この修正の XML は次の例のようになります。 ```xml ``` ### [](#fix-dw-error)未定義関数エラーを修正する Anypoint Code Builder では未定義の関数が自動的にフラグ付けされます。 たとえば、次のコードでは、DataWeave により ​`toUpper`​ がエラーとしてフラグ付けされています。 ![未定義関数エラー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/dw-error.png) カーソルを関数の上に置くと、DataWeave によりエラーに関する情報が提供されます。 ![未定義関数エラーに関する情報](/mulesoft/current/ja-jp/anypoint-code-builder/_images/undefined-function.png) この問題を修正する手順は、次のとおりです。 1. エラーをクリックしてポップアップを表示します。 2. **\[Quick Fix (クイック修正)\]**​、​**\[Create Function (関数を作成)\]**​ の順にクリックします。 Anypoint Code Builder では ​`???`​ プレースホルダー付きの関数定義が自動的に追加されます。このプレースホルダーにユーザーは関数を定義できます。 ```DataWeave fun toUpper(param0: String) = ??? ``` 3. `upper`​ 関数を使用して、指定された文字列を大文字で返すように関数を更新します。 ```DataWeave ``` ## [](#import-library)DataWeave ライブラリをインポートする Anypoint Code Builder を使用して、Exchange から Mule アプリケーションに DataWeave ライブラリをインポートします。 DataWeave ライブラリは、DataWeave モジュール、マッピングファイル、およびリソースファイル (JSON、XML、CSV ファイルなど) の再利用可能なパッケージです。 DataWeave ライブラリをインポートする方法は、Exchange から他のアセットをインポートする方法と同じです。 1. Anypoint Code Builder でインテグレーションプロジェクトを開きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. `「import」`​と入力し、次のコマンドを選択します。 ```command MuleSoft: Import Asset from Exchange ``` 4. **\[DataWeave Library (DataWeave ライブラリ)\]**​ を選択します。 ライブラリを検索するには、検索語を入力して Enter キーを押します。たとえば、​**「DataWeave」**​と入力します。 ![DataWeave ライブラリの検索](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-dw-libraries.png) 5. **\[Assets From Exchange (Exchange のアセット)\]**​ メニューから DataWeave ライブラリを選択します。 6. DataWeave ライブラリのバージョンを選択します。 ステータスバーに進行状況が表示されます。 完了したら、連動関係がプロジェクトに正常に追加されたことを示すメッセージが Anypoint Code Builder に表示されます。 ## [](#関連情報)関連情報 - [Mule アプリケーションのデバッグ](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps) - [DataWeave の問題とエラー](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-dataweave) - [プロジェクトにコンポーネントを追加する](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations#add-components) - [参照](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference) # Anypoint Code Builder の Maven 設定ファイル Anypoint Code Builder は、Apache Maven 設定を使用して Mule アプリケーション (実装プロジェクトとインテグレーションプロジェクト) および設計プロジェクトの API 仕様を管理します。 Maven ファイル ​`settings.xml`​ については、 [Maven ドキュメント](https://maven.apache.org/settings.html)​を参照してください。 ## [](#maven-設定ファイルのカスタム場所)Maven 設定ファイルのカスタム場所 Apache Maven ファイル ​`settings.xml`​ を使用すると、リポジトリ、プロキシ設定、ログイン情報などの Maven 設定を定義できます。詳細は、Apache Maven ドキュメントの [「Settings Reference (設定リファレンス)」](https://maven.apache.org/settings.html)​を参照してください。 Maven ​`settings.xml`​ ディレクトリへのデフォルトパスを変更するには、​`maven.settings`​ または ​`M2_REPO`​ システムプロパティを設定します。 `settings.xml`​ を見つけるため、IDE は最初に ​`maven.settings`​ 設定を確認します。プロパティでパスが指定されている場合、IDE はそのパスにある ​`settings.xml`​ ファイルを使用します。​`maven.settings`​ でパスが指定されていない場合、またはファイルがそのパスに存在しない場合、IDE は ​`M2_REPO`​ クラスパス変数で設定されたパス (​`M2_REPO/settings.xml`​ など) 内の ​`settings.xml`​ を確認します。そのパスに ​`settings.xml`​ が見つからない場合、IDE はデフォルトの場所 ​`${user.home}/.m2/repository`​ に空の ​`settings.xml`​ ファイルを作成します。 ## [](#anypoint-code-builder-設定ファイル)Anypoint Code Builder 設定ファイル Anypoint Code Builder は、Maven ​`settings.xml`​ ファイルに変更を加えません。代わりに、Anypoint Extension Pack が IDE にインストールされている場合、IDE を開くと別の設定ファイル ​`acb_settings.xml`​ が作成されます。この拡張パックは、クラウド IDE には事前にインストールされていますが、デスクトップ IDE の場合はインストールする必要があります。​[「デスクトップ IDE のセットアップ」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop)​を参照してください。 `settings.xml`​ に保存した更新は、​`acb_settings.xml`​ 内に自動的に反映されます。​`acb_settings.xml`​ ファイルは、​`${user.home}/AnypointCodeBuilder/maven`​ にあります。Anypoint Code Builder でプロジェクトのトラブルシューティングを行う場合、パスワードなどの機密情報を難読化してファイルをエクスポートできます。エクスポートするには、​[「トラブルシューティング情報をエクスポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshooting#export-troubleshooting-info)​を参照してください。 ## [](#関連情報)関連情報 - [トラブルシューティング情報をエクスポートする](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshooting#export-troubleshooting-info) # Anypoint Code Builder のプロキシの使用 ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Visual Studio Code (VS Code) でプロキシ設定を定義することで、Exchange へのパブリッシュ、Anypoint Platform へのログイン、アプリケーションの実行またはデバッグなど、ネットワークに依存する機能を Anypoint Code Builder で実行します。
プロキシ設定はクラウド IDE では機能しません
## [](#プロキシの設定を始める前に)プロキシの設定を始める前に VS Code でプロキシ設定を定義する前に、次の点を考慮してください。 - プロキシ URL を設定する場合、​`protocol`​ は ​`HTTP`​ または ​`SOCKS`​ です。次に例を示します。 - PROTOCOL://username:password@host:port - PROTOCOL://host:port
Anypoint Code Builder では、認証を使用しない ​SOCKS​ プロキシはサポートされていますが、基本認証を使用する ​SOCKS​ プロキシはサポートされていません。
- Anypoint Code Builder は次の項目を無視し、プロキシ URL と非プロキシリストから設定を読み取ります。 - Proxy Authorization (プロキシ認証) - Proxy Kerberos Service Principal (プロキシ Kerberos サービスプリンシパル) - Proxy Strict SSL (プロキシの厳密な SSL) - 特定のホストをプロキシから除外するには、​**\[Proxy bypass (プロキシバイパス)\]**​ 設定を使用します。 ## [](#vs-code-でプロキシ設定を定義する)VS Code でプロキシ設定を定義する Anypoint Code Builder のプロキシ設定を定義する手順は、次のとおりです。 1. VS Code を開きます。 2. VS Code 設定を開きます。 1. Windows の場合は、​**\[File (ファイル)\] > \[Preferences (プリファレンス)\] > \[Settings (設定)\]**​ に移動します。 2. macOS の場合は、​**\[Code (コード)\] > \[Settings (設定)\] > \[Settings (設定)\]**​ に移動します。 3. 設定の検索バーで「proxy」(プロキシ) を検索します。 4. プロキシ URL と非プロキシ設定を定義します。 5. Maven ​`settings.xml`​ ファイルでプロキシ設定を定義します。設定手順については、 [「Configure a Proxy in Maven (Maven でプロキシを設定する)」](https://maven.apache.org/guides/mini/guide-proxies.html)​を参照してください。 6. \[Proxy Support (プロキシサポート)\] 設定を \[override (上書き)\] または \[on (オン)\] に設定します。 7. 変更を適用するには、VS Code を再起動します。 ## [](#anypoint-platform-の-url-を許可リストに追加する)Anypoint Platform の URL を許可リストに追加する 組織で許可リストを使用している場合は、次の Anypoint Code Builder および Anypoint Platform URL を追加します。
MuleSoft URL

Anypoint Platform サービス: CloudHub、Exchange、コアサービス

  • https://(*).anypoint.mulesoft.com (/*)

  • https://repository.mulesoft.org/(*)

  • https://(*).cloudhub.io/(*/)

Exchange からダウンロードしたアセット

  • https://exchange2-asset-manager-kprod.s3.amazonaws.com (/​*​)

  • https://exchange2-asset-manager-kprod-eu.s3.eu-central-1.amazonaws.com (/​*​)

API Portal のリソース

  • https://exchange2-file-upload-service-kprod.s3.amazonaws.com (/​*​)

サードパーティ URL

Eclipse ライブラリと Eclipse 更新サイト

  • https://download.eclipse.org/eclipse/updates (/​*​)

MuleSoft Maven リポジトリとコネクタの更新サイト

  • https://repo.maven.apache.org/maven2 (/​*​)

  • https://repo1.maven.org/maven2 (/​*​)

Login​ や ​Exchange​ 操作などの Web ブラウザーを使用するサービスの場合、ブラウザーのネットワーク要件についてはブラウザーのドキュメントを参照してください。外部 ID プロバイダー (IdP) を使用する場合は、他のサードパーティドメインにも権限を付与する必要があります。
# Anypoint Code Builder の生成 AI のトラブルシューティング Anypoint Code Builder の生成 AI を使用するときに、次のエラーが発生する可能性があります。 ## [](#生成-ai-機能を使用するときに予期しないクエリ結果になる)生成 AI 機能を使用するときに予期しないクエリ結果になる エージェントによって返された結果が希望どおりでない場合は、エージェントが ​[API 仕様を設計](https://docs.mulesoft.com/jp/anypoint-code-builder/api-ai-create-spec#design-spec-ai)​するために必要な情報がメッセージに含まれていることを確認します。API 仕様の設計ガイダンスで提供されている詳細 (省略可能) も追加することを検討してください。 ## [](#アクセスエラーのトラブルシューティング)アクセスエラーのトラブルシューティング 生成 AI にアクセスできない場合は、Anypoint Platform 組織のシステム管理者にお問い合わせください。組織のシステム管理者の場合、次の考慮事項を確認してください。 - 契約条件に同意し、組織で ​[Einstein for Anypoint Code Builder を有効化](#access-management::enabling-einstein.adoc)​している。 - 要求のために接続している Salesforce 組織で生成 AI が有効化されている。詳細は、 [「Einstein 生成 AI の設定」](https://help.salesforce.com/s/articleView?id=sf.generative_ai_enable.htm)​を参照してください。 - 要求のために接続している Salesforce 組織で Anypoint Platform 組織との​[テナント関係が確立](#access-management::trusted-salesforce-org.adoc)​され、接続が有効化されている。 - 要求のために接続している Salesforce 組織が有効である。たとえば、期限切れになっていないか、無効になっていないことを確認します。 ## [](#anypoint-platform-認証エラーのトラブルシューティング)Anypoint Platform 認証エラーのトラブルシューティング 認証エラーが発生した場合は、Anypoint Platform 組織のシステム管理者にお問い合わせください。組織のシステム管理者の場合、次の点を確認してください。 - ユーザーに Anypoint Platform アクセス管理で割り当てられた​**「Mule Developer Generative AI User (Mule 開発者生成 AI ユーザー)」**​権限がある。 - 組織で ​[Einstein を有効化](#access-management::enabling-einstein.adoc)​するための契約条件に同意している。 - Anypoint Platform 組織が最新の状態でアクティブである。 ## [](#eu-クラウドユーザーのデスクトップ-ide-に生成-ai-が表示されない)EU クラウドユーザーのデスクトップ IDE に生成 AI が表示されない EU クラウドの Anypoint Platform アカウントにサインインしており、生成 AI が UI に表示されない場合は、次の点を確認してください。 - [「デスクトップ IDE を EU クラウドまたは US クラウドに設定する」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#change-clouds)​の手順を完了している。 - Anypoint Code Builder アプリケーションを使用して Anypoint Platform にサインインしている。 - [必要な権限を持っている](https://docs.mulesoft.com/jp/anypoint-code-builder/api-ai-create-spec#before-you-begin)​。 ## [](#チャットの可用性のトラブルシューティング)チャットの可用性のトラブルシューティング 生成 AI では、パネルを開いたときに、サポートされているファイルがエディターで開かれている必要があります。この条件が満たされていない場合、次のいずれかのメッセージが表示される可能性があります。 1. 「To start a new chat for API, open a compatible API specification. (API の新しいチャットを開始するには、互換性のある API 仕様を開いてください。)」 このメッセージは、API プロジェクト内でアクティブなファイルが API 仕様ではないか、サポートされていない形式で記述されている場合に表示されます。 この問題を解決するには、RAML 1.0 または OAS 3.0 形式の API 仕様ファイルを開きます。 2. 「To start a new chat for Flow, open an integration project. (フローの新しいチャットを開始するには、インテグレーションプロジェクトを開いてください。)」 このメッセージは、API プロジェクトまたはインテグレーションプロジェクト内で .xml ファイルが選択されていない場合に表示されます。 これを修正するには、インテグレーションプロジェクトの一部である .xml ファイルを開きます。 インテグレーションプロジェクト内で API 仕様を開いている場合、パネルは表示されますが、API を生成することはできません。 この場合、フローを生成するために使用できるのは生成 AI のみです。API を生成するには、API プロジェクトに切り替えて、サポートされている API 仕様ファイルを開きます。 開いているファイルが OpenAPI 2.0 またはその他のサポートされていない形式である場合、生成 AI は使用できません。代わりに、RAML 1.0 または OAS 3.0 を使用するファイルを開きます。 生成 AI は、パネルが開かれたときにフォーカスされていたファイルに基づいて出力形式を決定します。RAML 1.0 ファイルがアクティブな場合、生成されるコンテンツは RAML 1.0 になります。OAS 3.0 ファイルがアクティブな場合、生成されるコンテンツは OAS 3.0 になります。 ## [](#関連情報)関連情報 - [access-management::trusted-salesforce-org.adoc](#access-management::trusted-salesforce-org.adoc) - [access-management::enabling-einstein.adoc](#access-management::enabling-einstein.adoc) - [IDE から Anypoint Platform へのログイン](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#log-in-to-anypoint-platform-from-the-ide) - [Anypoint Code Builder 権限](https://docs.mulesoft.com/jp/access-management/permissions-by-product#anypoint-code-builder) # Anypoint Code Builder 入門 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder は Visual Studio Code の Anypoint Extension Pack から構築されています。Anypoint Code Builder のデスクトップ IDE とクラウド IDE の両方でこれらの拡張機能が共有されます。クラウド IDE では、Web 用の Visual Studio Code のコードサーバー実装への組み込み拡張機能が提供されます。 - [デスクトップ IDE のセットアップ](#set-up-desktop)​: デスクトップ IDE の場合、拡張機能パックをローカルの Visual Studio Code IDE に読み込む必要があります。 - [クラウド IDE の起動](#set-up-web)​: クラウド IDE の場合、Anypoint Platform にサインインして、Anypoint Code Builder を使用するための権限を取得する必要があります。 ## [](#set-up-desktop)デスクトップ IDE のセットアップ Anypoint Extension Pack のデスクトップベースの IDE 拡張機能は Visual Studio Marketplace で入手できます。 - [Desktop IDE のセットアップを開始する前に](#prereqs) - [Anypoint Extension Pack をインストールする](#install-pack) - [Anypoint Extension Pack の更新](#update-pack) - [Anypoint Extension Pack のアンインストール](#uninstall-pack)​ ## [](#prereqs)Desktop IDE のセットアップを開始する前に デスクトップ拡張機能を VS Code にインストールする前に、git をセットアップし、必要な権限を持つ Anypoint Platform アカウントを用意します。 - [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)​ をインストールして ​`PATH`​ に追加します。適切に機能させるために、一部の Anypoint Extension Pack 拡張機能はこの要件に基づきます。 - Anypoint Platform 組織アカウントを持つシステム管理者から必要な権限を付与してもらう必要があります。[権限の設定](https://docs.mulesoft.com/jp/anypoint-code-builder/start-configure-permissions)を参照してください。 - クラウド IDE には、Mule Runtime Engine のトライアルでない Enterprise ライセンスが必要です。​[「アカウントをアップグレードする」](https://docs.mulesoft.com/jp/access-management/managing-your-account#upgrade-account)​および[Install an Enterprise License on On-Premises Mule Runtime Engine](https://docs.mulesoft.com/on-premises/latest/installing-an-enterprise-license)を参照してください。 - Anypoint Platform にはユーザーアカウントが必要です。既存のアカウントを使用することも、Anypoint Platform からアカウントを作成することもできます (サポートされる​[「クラウドホスト」](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds)​を参照)。 OS およびシステムの互換性についての詳細は、​[「Anypoint Code Builder リリースノート」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#compatibility)​を参照してください。 ## [](#anypoint-extension-pack-をインストール更新またはアンインストールする)Anypoint Extension Pack をインストール、更新、またはアンインストールする コンピューターの VS Code で Anypoint Code Builder を使用するには、Anypoint Extension Pack が必要です。 - [Anypoint Extension Pack をインストールする](#install-pack) - [Anypoint Extension Pack の更新](#update-pack) - [Anypoint Extension Pack のアンインストール](#uninstall-pack) ### [](#install-pack)Anypoint Extension Pack をインストールする Anypoint Extension Pack をデスクトップ IDE にインストールする手順は、次のとおりです。 1. VS Code を開きます。 2. デスクトップ IDE または [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=salesforce.mule-dx-extension-pack)​ から ​**Anypoint Extension Pack**​ を見つけます。
インストールエラーを回避する方法

Visual Studio Marketplace の Anypoint Extension Pack から個別に入手することもできる個々の Anypoint Code Builder 拡張機能をインストールしないでください。

- デスクトップ IDE からインストールするには、アクティビティバーから \[Extensions (拡張機能)\] アイコンをクリックするか Cmd+Shift+x (Mac) または Ctrl+Shift+x (Windows) を押して \[Extensions (拡張機能)\] メニューを起動し、拡張機能パックを検索します。 **\[Install Release Version (リリースバージョンをインストール)\]**​ を選択します。 - Visual Studio Marketplace Web サイトからインストールするには、拡張機能パックを見つけてインストールします。 **\[Install Release Version (リリースバージョンをインストール)\]**​ を選択します。 追加の指針については、 [Visual Studio Code Web サイト](https://code.visualstudio.com/learn/get-started/extensions)​を参照してください。 3. \[Extensions (拡張機能)\] メニューを開き、Anypoint Extension Pack の拡張機能を確認します。 Anypoint Extension Pack には次の拡張機能が含まれます。 - Anypoint Code Builder - API 拡張機能 - Anypoint Code Builder - APIkit 拡張機能 - Anypoint Code Builder - DataWeave 拡張機能 - Anypoint Code Builder - 連動関係拡張機能 - Anypoint Code Builder - インテグレーション拡張機能 - Anypoint Code Builder - MUnit 拡張機能 - Anypoint Code Builder - プラットフォーム拡張機能 Anypoint Extension Pack の拡張機能に関するバージョン設定情報は、 [「Change Log (変更ログ)」](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog)​を参照してください。 4. 推奨: 各拡張機能を右クリックして、​**\[Auto Update All (From Publisher) (すべて自動更新 (パブリッシャーから))\]**​ がオンになっているかどうかを確認し、Anypoint 拡張機能が自動的に更新されることを確認します。オンになっていない場合は、各拡張機能で ​**\[Auto Update (自動更新)\]**​ を選択します。次に例を示します。 ![拡張機能を自動更新に設定](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-extensions-auto-update.png) このオプションがチェックされていることを確認します。 5. アクティビティバーの \[MuleSoft\] アイコンをクリックして、Anypoint Code Builder 機能にアクセスして使用します。 ![アクティビティバーの \[Anypoint Code Builder\] の \[MuleSoft\] アイコン](_images/anypoint-code-builder-view.png) 6. **\[Quick Actions (クイックアクション)\]**​ と ​**\[Documentation (ドキュメント)\]**​ リンクを含む ​[Anypoint Code Builder メニュー](#acb-menu)​が IDE に読み込まれることを確認します。 7. Anypoint Platform アカウントを EU クラウドで実行している場合、​**\[Mule: Control Plane (Mule: コントロールプレーン)\]**​ 設定を ​**\[EU cloud (EU クラウド)\]**​ に変更します。 詳細は、​[「デスクトップ IDE を EU クラウドまたは US クラウドに設定する」](#change-clouds)​を参照してください。 8. [「IDE から Anypoint Platform へのログイン」](#login-ide)​の手順を実行します。 NOTE Anypoint Extension Pack をインストールするときにいずれかのブラウザーで Anypoint Platform セッションがアクティブな場合、そのセッションを使用して IDE から Anypoint Platform へのサインインが行われます。IDE のステータスバーから​[ログアウト](#logout-status-bar)​または​[サインイン](#logout-status-bar)​できます。 ### [](#update-pack)Anypoint Extension Pack の更新 デスクトップ IDE に Anypoint Extension Pack がインストールされている場合、 [「Update an extension manually (拡張機能の手動更新)」](https://code.visualstudio.com/docs/editor/extension-marketplace#_update-an-extension-manually)​の VS Code 手順に従って拡張機能パックの最新バージョンに更新します。 ### [](#uninstall-pack)Anypoint Extension Pack のアンインストール 通常、拡張機能パックや個々の Anypoint Code Builder 拡張機能を VS Code からアンインストールする必要はありません。たとえば、最初にアンインストールしなくても新しいバージョンに更新できます。 Anypoint Extension Pack をアンインストールするように決定した場合は、他の VS Code 拡張機能で使用する手順と同じ手順に従います。拡張機能パックをアンインストールすると、DataWeave 拡張機能や APIkit 拡張機能など、拡張機能パック内でバンドルされている個々の Anypoint Code Builder 拡張機能もアンインストールされます。 アンインストールする手順は、次のとおりです。 1. VS Code を開きます。 2. アクティビティバーから、\[Extensions (拡張機能)\] パネルを開きます。 3. \[Anypoint Extension Pack\] を見つけて選択します。 4. 開いた \[Anypoint Extension Pack\] タブで ​**\[Uninstall (アンインストール)\]**​ をクリックします。 5. Anypoint Code Builder 拡張機能を \[Extensions (拡張機能)\] パネルから削除するには、いずれかの拡張機能で ​**\[Reload (再読み込み)\]**​ をクリックします。 追加の指針については、VS Code ドキュメント [「Manage extensions (拡張機能の管理)」](https://code.visualstudio.com/docs/editor/extension-marketplace#_manage-extensions)​を参照してください。 再インストールはいつでも行うことができます。 ## [](#set-up-web)クラウド IDE の起動 Anypoint Platform からクラウド IDE を起動します。Anypoint Platform ユーザーアカウントとビジネス組織は US クラウドまたは EU クラウドでホストされ、これらのホスト間で共有されません。 ### [](#prereqs-cloud)クラウド IDE を開始する前に クラウド IDE を起動する前に前提条件を満たします。 - Anypoint Platform 組織アカウントを持つシステム管理者から必要な権限を付与してもらう必要があります。[権限の設定](https://docs.mulesoft.com/jp/anypoint-code-builder/start-configure-permissions)を参照してください。 - クラウド IDE には、Mule Runtime Engine のトライアルでない Enterprise ライセンスが必要です。​[「アカウントをアップグレードする」](https://docs.mulesoft.com/jp/access-management/managing-your-account#upgrade-account)​および[Install an Enterprise License on On-Premises Mule Runtime Engine](https://docs.mulesoft.com/on-premises/latest/installing-an-enterprise-license)を参照してください。 - Anypoint Platform にはユーザーアカウントが必要です。既存のアカウントを使用することも、Anypoint Platform からアカウントを作成することもできます (サポートされる​[「クラウドホスト」](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds)​を参照)。 - 組織のシステム管理者は、Anypoint Platform クラウドホスト ( [US](https://anypoint.mulesoft.com/codebuilder/)​ または [EU](https://eu1.anypoint.mulesoft.com/codebuilder/)​) の Anypoint Code Builder ランディングページからクラウド IDE のベータプログラムの契約条件に同意する必要があります。サインインが必要です。​**\[Terms & Conditions (契約条件)\]**​ ボタンは、組織のシステム管理者のみが使用できます。 ![組織のシステム管理者向け契約条件バナー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-acb-terms-admin.png) - 重要な進行中のベータ情報を確認します。

クラウド IDE は進行中のベータ期間中です。

進行中のベータの間、クラウド IDE インスタンスが削除される場合があります。これにより、インテグレーション、自動化、API が失われます。

詳細を表示するには、クリックしてください。

作業内容を保存するには、プロジェクトファイルをソース制御管理 (SCM) システムにコミットします。ソースファイルの制御を参照してください。

本番環境の API、インテグレーション、または自動化の開発に Anypoint Code Builder のクラウド IDE ベータバージョンを使用しないでください。

### [](#login-cloud)Anypoint Platform からクラウド IDE を開く クラウド IDE を起動する手順は、次のとおりです。 1. [\[before-you-begin\]](#before-you-begin)​の前提条件を確認して、Anypoint Code Builder を使用できるようにします。 2. Anypoint Platform にログインします。 - U.S. ホスト (すべての非 EU リージョンをサポート) の場合は [anypoint.mulesoft.com](https://anypoint.mulesoft.com/login/) - EU 準拠のホストの場合は [eu1.anypoint.mulesoft.com](https://eu1.anypoint.mulesoft.com/login)​ 1 つのクラウドにアカウントがあり、別のクラウドで作業する場合、別のクラウドでアカウントを作成してプロジェクトを作成し、プロジェクトの作業を行う必要があります。 3. Anypoint Platform から、Anypoint Code Builder ランディングページを開きます。 4. Anypoint Code Builder ランディングページで、​**\[Launch Cloud IDE (クラウド IDE を起動)\]**​ をクリックします。 ![Anypoint Platform のクラウド IDE の起動ボタン](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-launch-cloud-ide.png) クラウド IDE のプロビジョニングが完了したら、IDE が開きます。プロビジョニングプロセスには数分かかることがあります。 クラウド IDE 環境はユーザーアカウントに関連付けられています。クラウド環境には、自分のみがアクセスできる、Anypoint Platform UI 内に埋め込まれて​_いない_​一意の URL もあります。クラウド IDE をこの URL から直接再開したり、Anypoint Platform の Anypoint Code Builder から間接的に再起動したりできます。 5. アクティビティバーの \[MuleSoft\] アイコンをクリックして、Anypoint Code Builder 機能を表示して使用します。 ## [](#login-ide)IDE から Anypoint Platform にサインインする 一部の Anypoint Code Builder 機能では、IDE から Anypoint Platform に直接サインインする必要があります。ログインが必要な場合、IDE はログインを促し、ログインプロセスを案内します。ただし、IDE からのサインインは、IDE で MuleSoft 機能を開いてから行うことをお勧めします。 - Anypoint Platform 組織アカウントを持つシステム管理者から必要な権限を付与してもらう必要があります。[権限の設定](https://docs.mulesoft.com/jp/anypoint-code-builder/start-configure-permissions)を参照してください。 - クラウド IDE には、Mule Runtime Engine のトライアルでない Enterprise ライセンスが必要です。​[「アカウントをアップグレードする」](https://docs.mulesoft.com/jp/access-management/managing-your-account#upgrade-account)​および[Install an Enterprise License on On-Premises Mule Runtime Engine](https://docs.mulesoft.com/on-premises/latest/installing-an-enterprise-license)を参照してください。 - Anypoint Platform にはユーザーアカウントが必要です。既存のアカウントを使用することも、Anypoint Platform からアカウントを作成することもできます (サポートされる​[「クラウドホスト」](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds)​を参照)。 IDE から、ステータスバーまたはコマンドを使用してサインインしたり、ステータスバーからログアウトしたりできます。 - [ステータスバーから Anypoint Platform にサインインする](#login-status-bar) - [コマンドパレットから Anypoint Platform にサインインする](#login-command) - [IDE から別の Anypoint Platform アカウントにサインインする](#change-user-account) - [IDE から Anypoint Platform をログアウトする](#logout-status-bar) ### [](#login-status-bar)ステータスバーから Anypoint Platform にサインインする デスクトップ IDE とクラウド IDE のステータスバーにはログイン状況が表示されます。 - **\[Not logged in to Anypoint Platform (Anypoint Platform にログインしていません)\]**​ は、Anypoint Platform への接続を必要とするタスクを実行するにはサインインする必要があることを示しています。 ![ステータスバーのログイン状況メッセージ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-not-logged-in.png) サインインするには、この通知をクリックしてサインインのプロンプトに従います。 - ユーザー名へのリンクは、サインインしていることを示します。 ログアウトするには、ユーザー名をクリックしてプロンプトに従います。 ### [](#login-command)コマンドパレットから Anypoint Platform にサインインする コマンドパレットを使用して IDE から Anypoint Platform にサインインできます。 IDE からコマンドパレットでサインインする手順は、次のとおりです。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを選択します。 ```command MuleSoft: Login to Anypoint Platform ``` ![コマンドパレット内のログインコマンド](/mulesoft/current/ja-jp/anypoint-code-builder/_images/login-to-anypoint-platform.png)

「login」​と入力し、結果で検索条件を使用して必要なコマンドを選択できます。

3. プラットフォームにサインインするように促されたら、​**\[Allow (許可)\]**​ を選択します。 ![allow login to anypoint platform](/mulesoft/current/ja-jp/anypoint-code-builder/_images/allow-login-to-anypoint-platform.png) ログインしたら、Anypoint Platform に ​**\[You can close this page now (今すぐこのページを閉じることができます)\]**​ というメッセージが表示されます。 4. ログインを検証するには、​**\[Not logged in to Anypoint Platform (Anypoint Platform にログインしていません)\]**​ が ​****​ に置き換えられていることを確認します。 ### [](#logout-status-bar)IDE から Anypoint Platform をログアウトする 次の方法で IDE からログアウトします。 1. ステータスバーで自分のユーザー名をクリックする 2. **「Logout from Anypoint? (Anypoint からログアウトしますか?)」**​と尋ねられたら、​**\[Yes (はい)\]**​ をクリックします。 ### [](#change-user-account)IDE から別の Anypoint Platform アカウントにサインインする 別の Anypoint Platform ユーザーアカウントを使用する手順は、次のとおりです。 1. IDE のステータスバーからログアウトします。 案内については、​[IDE から Anypoint Platform をログアウトする](#logout-status-bar)​を参照してください。 2. ステータスバーからサインインします。 詳細は、​[ステータスバーから Anypoint Platform にサインインする](#login-status-bar)​を参照してください。 ## [](#change-clouds)デスクトップ IDE を別のコントロールプレーンに設定する デスクトップ IDE では、Anypoint Platform コントロールプレーンを次のいずれかのクラウドに変更することができます。 - US クラウド (デフォルト) - EU クラウド - カナダクラウド - 日本クラウド Anypoint Platform インスタンス間でユーザーアカウント、プロジェクト、その他のデータは共有されません。詳細は、​[「クラウドホスト」](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds)​を参照してください。 コントロールプレーンを変更する手順は、次のとおりです。 1. IDE の \[Explorer\] パネルで API 仕様が開いている場合、プロジェクトを閉じて、クラウドを切り替えたときに同期エラーが発生しないようにします。 - デスクトップ IDE では、​**\[File (ファイル)\]**​ > ​**\[Close Folder (フォルダーを閉じる)\]**​ をクリックします。 2. デスクトップ IDE で ​**\[Settings (設定)\]**​ タブを開きます。 ![デスクトップ IDE から EU クラウドの選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-activity-bar-select-cloud.png) 手順を表示 - \[Anypoint Code Builder\] パネルから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックします。 - アクティビティバーから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックし、​**\[Settings (設定)\]**​ を選択して、​**\[Settings (設定)\]**​ タブで ​`mule`​ を検索します。 - [\[Command Palette (コマンドパレット)](https://docs.mulesoft.com/jp/anypoint-code-builder/start-use-command-palette)\]​ でコマンド ​`MuleSoft: Open ACB Settings`​ を指定します。 3. **\[Mule: Control Plane (Mule: コントロールプレーン)\]**​ までスクロールします。 4. 目的のクラウドを選択します。 5. IDE を再起動してすべての変更を読み込みます。 6. [「IDE から Anypoint Platform にサインインする」](#login-ide)​の手順を実行します。 # Anypoint Code Builder 概要 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder 統合開発環境 (IDE) を使用して、API 設計、実装、インテグレーション開発を行います。Microsoft Visual Studio Code (VS Code) で Anypoint Code Builder for Desktop をローカルで操作したり、Anypoint Platform を介してブラウザーから Anypoint Code Builder を操作したりします。IDE では次の開発ライフサイクルがサポートされます。 - API 仕様設計 (OAS または RAML)、テストのモッキングサービス、ソース制御、Anypoint Exchange へのパブリッシュ - サポートされる API 仕様 (OAS、RAML、AsyncAPI、GraphQL など) をインポートして、Mule アプリケーション内でフローとエラーハンドラーのインターフェースを自動生成 (スキャフォールディング) する API 実装機能 - システムを接続し、必要な形式にデータを変換し、Mule アプリケーション内でメッセージとイベントをプログラムで管理するビジネスロジックを提供するインテグレーション開発 デスクトップ IDE とクラウド IDE では同じ Anypoint Code Builder 機能が提供されます。ニーズに適した IDE を使用します。プロジェクトのスナップショットを IDE 間またはチームのメンバーと共有するには、インポートとエクスポート機能を使用するか、任意の​[ソース制御管理 (SCM) システム](#scm)​を使用することができます。 Anypoint Code Builder の概要は、Trailhead バッジ ( [「Anypoint Code Builder: Quick Look (クイックルック)」](https://trailhead.salesforce.com/content/learn/modules/mulesoft-anypoint-code-builder-quick-look)​) (ログインが必要) を参照してください。Trailhead アカウントがない場合はサインアップしてください。 ## [](#extension-pack)Anypoint Extension Pack Visual Studio Code 用の Anypoint Extension Pack を使用して Anypoint Code Builder 環境を取得します。クラウドベースの拡張機能は、ブラウザーからの VS Code のアクセスを可能にするコードサーバー実装に事前インストールされています。デスクトップ拡張機能は VS Code IDE にインストールする必要があります。[Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)を参照してください。 ## [](#us-eu-clouds)クラウドホスト Anypoint Code Builder は、US、EU、カナダ (デスクトップ IDE のみ)、日本 (デスクトップ IDE のみ) のクラウドホストから Anypoint Platform を介して使用できます。リージョンごとに異なる新たに発生する規制要件を組織が順守できるように、Anypoint Platform ではホスト間で組織情報、権限、アカウントデータ、プロジェクトは共有されません。 - US クラウド (非 EU リージョンのホスト): [anypoint.mulesoft.com](https://anypoint.mulesoft.com/login/)​ MuleSoft では、このコントロールプレーンを米国のデータセンター内でホストします。 - EU クラウド (EU 準拠のホスト): [eu1.anypoint.mulesoft.com](https://eu1.anypoint.mulesoft.com/login) MuleSoft では、このコントロールプレーンを EU (フランクフルト) のデータセンター内でホストします。 - カナダクラウド (デスクトップ IDE のみ): [ca1.platform.mulesoft.com](https://ca1.platform.mulesoft.com/login/) MuleSoft では、このコントロールプレーンをカナダ (北米) のデータセンター内でホストします。 - 日本クラウド (デスクトップ IDE のみ): [jp1.platform.mulesoft.com](https://jp1.platform.mulesoft.com/login/) MuleSoft では、このコントロールプレーンを日本 (APAC) のデータセンター内でホストします。 Anypoint Platform では、Mule 実装に関するデータとメタデータを含め、管理されるランタイムおよび関連データのデプロイメント対象をホストします。 ホストをデフォルト (US) から変更するには、​[「デスクトップ IDE を異なるコントロールプレーンに設定する」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#change-clouds)​を参照してください。 デスクトップ IDE とクラウド IDE で Anypoint Code Builder を使用するには、Anypoint Platform ユーザーアカウントが必要です。クラウド IDE にアクセスしたり、両方の IDE で一部の機能を使用するには、組織のシステム管理者が設定する権限が必要です ([configure-permissions.adoc](#configure-permissions.adoc)を参照)。 Anypoint Platform から Anypoint Code Builder を開くには、​[「クラウド IDE の起動」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-web)​を参照してください。組織を介した Anypoint Platform アカウントがない場合は、Anypoint Platform の US または EU クラウドホストでサインアップすることができます。 詳細は、[Anypoint Platform Hosting Overview](https://docs.mulesoft.com/hosting-home/)を参照してください。 ## [](#基本の理解)基本の理解 API 仕様言語 (OAS、AsyncAPI、RAML など) を使用した API の設計に関する一部の役立つナレッジについて説明します。API の実装とインテグレーションの開発を行うには、Mule アプリケーションの開発、コネクタ、DataWeave 変換言語に精通している必要があります。Anypoint Code Builder [チュートリアル](https://docs.mulesoft.com/jp/anypoint-code-builder/tutorials)は、これらのタスクを開始するのに役立ちます。 次の製品と機能に精通することもお勧めします。 - Anypoint Connector では、システムからのデータの取得、データの変更、システムへのデータの送信を行うための操作が提供されます。Anypoint Code Builder では、​[組み込みコネクタ](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference#builtin-connectors)​が提供されます。また、Anypoint Exchange の他の多くのコネクタにアクセスできます。 - コアプロセッサー (コアコンポーネントまたは Mule コンポーネントとも呼ばれる) は、インテグレーションおよび実装アプリケーション用のビジネスロジックを提供するプログラム型ビルディングブロックです。たとえば、For Each (​``​)、Transform Message (​``​)、Flow (​``​) があります。[参照](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference)を参照してください。 - DataWeave は、インテグレーションと実装でのすべての式とデータ変換のためのプログラミング言語です。この言語は、独自の関数、ライブラリ、データ型などのカスタマイズを作成するための関数ライブラリとメカニズムを提供します。DataWeave の基本を学習し、DataWeave スクリプトを試すには、 [DataWeave チュートリアルとプレイグラウンド](https://dataweave.mulesoft.com/)​を参照してください。 - スキャフォールディングとは、APIkit を使用して API 仕様を入力として取得し、Mule アプリケーション内に実装する XML ベースのルーターとエンドポイントを自動生成する自動プロセスです。 - フローは、イベントおよびイベントに含まれるメッセージで Mule Runtime Engine (Mule) によって順次実行される、コネクタ操作を含むコンポーネントのブロックです。フローには、イベントの作成をトリガーし、フローの実行を開始する操作も含めることができます。 サブフローはフローに似ていますが、トリガー (メッセージソースとも呼ばれることもある) の設定はサポートされていません。トリガーはフローでのみサポートされます。 フロー参照を使用すると、フローまたはサブフローの実行を別のフローからトリガーできます。 - Mule アプリケーションには、コネクタ、コンポーネント、セキュア設定プロパティ、スキャフォールディング済み API 仕様、およびインテグレーションと実装のその他の部分に関する 1 つ以上の XML ベースの設定ファイルが含まれます。アプリケーションは Mule で実行されます。アプリケーションは、アプリケーションの設定、構築、実行、テスト、デプロイに必要なリソースが含まれるプロジェクトの一部です。 - ビジネスグループでは Anypoint Platform 組織内の API、Mule アプリケーション、その他のリソースを整理します。組織のシステム管理者がビジネスグループへのアクセス権を作成して制御します。ビジネスグループ、組織、関連する管理機能についての詳細は、[ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)を参照してください。 ## [](#snippets)コードスニペット スニペットは、IDE から Mule アプリケーションの設定 XML ファイルに挿入できるコードパターンです。再利用可能なコードパターンのコードスニペットを使用すると、より効率的に作業でき、設定エラーの可能性を減らすことができます。 IDE では組み込みスニペットが提供されています。ユーザーは独自のユーザースニペットを作成することもできます。コードスニペットを使用および作成するには、[コードスニペットの操作](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets)を参照してください。 ## [](#anypoint-platform-製品のインテグレーション)Anypoint Platform 製品のインテグレーション Web とデスクトップの両方の Anypoint Code Builder IDE は主要な Anypoint Platform 製品および機能と統合します。 - Anypoint Exchange。作成した API 仕様をパブリッシュし、API 仕様と開発リソース (コネクタ、インテグレーションプロジェクトテンプレート、例など) をプロジェクトにインポートします。 - CloudHub および CloudHub 2.0。構築した実装とインテグレーションをデプロイします。 - MuleSoft VCS。API 仕様プロジェクトを Anypoint Code Builder にインポートし、必要に応じて Anypoint ソース制御管理 (SCM) システムを使用して、インポートしたプロジェクトを同期します。 Anypoint Platform 製品により提供される機能をクラウド IDE およびデスクトップ IDE を介して使用するには、IDE から Anypoint Platform への接続が必要です。この接続を確立するには、IDE から Anypoint Platform アカウントにログインします。詳細は、​[「IDE から Anypoint Platform へのログイン」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#log-in-to-anypoint-platform-from-the-ide)​を参照してください。 ## [](#scm)ソースとバージョンの制御 サポートされるソース制御管理 (SCM) システムを使用します。VS Code では、Git が標準でサポートされるほか、一般的なバージョン管理システムと SCM システムのいくつかの拡張機能がサポートされます。 Anypoint Code Builder での Git セットアップについての詳細は、[ソースファイルの制御](https://docs.mulesoft.com/jp/anypoint-code-builder/start-scm)を参照してください。 [Git サポート](https://code.visualstudio.com/docs/sourcecontrol/overview)​および [その他の SCM プロバイダーの拡張機能](https://code.visualstudio.com/docs/sourcecontrol/overview#_scm-providers)​で VS Code ドキュメントを参照してください。拡張機能の作成者の場合のみ、VS Code では [VS Code ソース制御 API](https://code.visualstudio.com/api/extension-guides/scm-provider)​も提供されます。 ## [](#フィードバック)フィードバック [フィードバックアンケート](https://www.surveymonkey.com/r/acb_feedback)​に答えて Anypoint Code Builder に関するフィードバックをお寄せください。 Anypoint Code Builder についての質問や一般的なディスカッションについては、 [Trailblazer ディスカッショントピック](https://trailhead.salesforce.com/trailblazer-community/topics/mulesoftanypointcodebuilder?sort=LAST_MODIFIED_DATE_DESC)​をご覧ください。 ## [](#関連情報)関連情報 - [アクセス管理について](https://docs.mulesoft.com/jp/access-management/) - [Anypoint Exchange の概要](https://docs.mulesoft.com/jp/exchange/) - [Connectors](https://docs.mulesoft.com/connectors/) - [DataWeave Overview](https://docs.mulesoft.com/dataweave/latest/) - [Mule Runtime Engine Overview](https://docs.mulesoft.com/mule-runtime/latest/) # Anypoint Exchange への API 仕様のパブリッシュ **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 American Flights API 仕様を Exchange にパブリッシュして、他のチームメンバーがその仕様を見つけて実装できるようにします。 ## [](#prereqs)始める前に - American Flight API 仕様を開始していない場合は、パブリッシュする前にこの手順を実行します。 1. [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api) 2. [API 仕様へのサンプルの追加](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-add-request-response-details) 3. [モッキングサービスを使用した API 仕様のテスト](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-test-specification) - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)​に精通します。 API 仕様を Anypoint Code Builder から Exchange にパブリッシュすると、IDE でビジネスグループの名前が要求されます。 ## [](#exchange-に-api-をパブリッシュする)Exchange に API をパブリッシュする Exchange に API をパブリッシュする手順は、次のとおりです。 1. Anypoint Code Builder で American Flights API プロジェクトの仕様 (​`american-flights-api.raml`​ など) を開きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command MuleSoft: Publish API Specification to Exchange ``` ![コマンドパレット内で強調表示されている MuleSoft: Publish API Specification to Exchange](/mulesoft/current/ja-jp/anypoint-code-builder/_images/publish-to-exchange.png) 4. 確認を促されたら、​**\[Allow (許可)\]**​ をクリックし、プロンプトに従って Anypoint Platform にサインインします。 5. **\[Select a Business Group (ビジネスグループを選択)\]**​ で、プロジェクトのビジネスグループを見つけて選択します。 詳細は、​[始める前に](#prereqs)​を参照してください。 6. プロジェクト名を入力します: **American Flights API**​。 7. アーティファクト ID を確認します: **American-Flights-API**​。 8. アセットバージョンを確認します: **1.0.0**​。 9. API バージョンを確認します: **v1**​。 ステータスバーに進行状況が表示されます。 ![強調表示された、Exchange への API 仕様のパブリッシュの通知](/mulesoft/current/ja-jp/anypoint-code-builder/_images/publishing-to-exchange-dialog.png) 10. ここで API を実装するように促されたら、​**\[No (いいえ)\]**​ を選択して、インテグレーションに American Flights API 仕様がスキャフォールディングされないようにします。 **\[Yes (はい)\]**​ を選択すると、プロジェクトに API 仕様がスキャフォールディングされます。ここでスキャフォールディングするのではなく、[American Flights API 仕様の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-implement-am-flights-api)でスキャフォールディングします。 ## [](#exchange-で-api-を見つける)Exchange で API を見つける API 仕様をパブリッシュしたら、Anypoint Exchange でその API 仕様を見つけることができます。 1. Anypoint Platform に移動し、ログイン情報を使用してログインします。 手順を表示 - US クラウド (非 EU ホスト): [Anypoint Platform (US)](https://anypoint.mulesoft.com/login/) - EU クラウド (EU ホスト): [Anypoint Platform (EU)](https://eu1.anypoint.mulesoft.com/login/) 2. Anypoint Exchange に移動します。 手順を表示 - US クラウド (非 EU ホスト): [Exchange (US)](https://anypoint.mulesoft.com/exchange/) - EU クラウド (EU ホスト): [Exchange (EU)](https://eu1.anypoint.mulesoft.com/exchange/) 3. API 仕様はアセットとしてリストされています。 API を選択し、その概要に移動して、前のタスクで定義したすべてのエンドポイントを表示できます。 4. [American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights)に進み、American Flights のインテグレーションアプリケーションを開始します。 # Anypoint Studio から Anypoint Code Builder への Mule プロジェクトの移行 デプロイ可能な Mule アプリケーションアーカイブ (JAR ファイル) を作成して、Mule プロジェクトを Anypoint Studio から Anypoint Code Builder に移行します。 Anypoint Code Builder を使用すると、起動時間の短縮、コラボレーションの合理化、MuleSoft for Agentforce: Topic Center のインテグレーションによるトピックとエージェントの API 仕様の有効化などの利点を備えた最新の開発環境を実現できます。 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 ## [](#anypoint-studio-で-mule-プロジェクトを共有可能な-jar-ファイルにエクスポートする)Anypoint Studio で Mule プロジェクトを共有可能な JAR ファイルにエクスポートする 1. Anypoint Studio でエクスポートするプロジェクトを開きます。 2. **\[File (ファイル)\]**​ メニューから ​**\[Export (エクスポート)\]**​ を選択します。 3. Mule フォルダーをクリックして展開します。 4. **\[Anypoint Studio Project to Mule Deployable Archive (includes Studio metadata) (Anypoint Studio プロジェクトを Mule デプロイ可能アーカイブへ (Studio メタデータを含む))\]**​ を選択して ​**\[Next (次へ)\]**​ をクリックします。 5. エクスポートするプロジェクトを選択し、​**\[Next (次へ)\]**​ をクリックします。 6. **\[JAR file (JAR ファイル)\]**​ メニューで、省略記号 (\[…​\]) ボタンをクリックし、ローカルドライブを調べて、デプロイ可能 JAR ファイルのエクスポート先のフォルダーを選択します。 7. **\[Finish (完了)\]**​ をクリックします。 ### [](#エクスポートの考慮事項)エクスポートの考慮事項 - 次の操作を行う予定がある場合は、​**\[Attach Project Sources (プロジェクトソースを添付)\]**​ を選択してプロジェクトメタデータを含めます。 - デプロイ可能ファイルをオープン Mule プロジェクトとしてワークスペースに再インポートする。 - JAR ファイルを Anypoint Code Builder にインポートする - JAR ファイルを同じ Studio ワークスペースにインポートする
[Attach Project Sources (プロジェクトソースを添付)]​ を選択すると、Mule Maven プラグインで Mule プロジェクトをパッケージ化する場合と同様に ​-DattachMuleSources​ パラメーターにフラグが付けられます。
- エクスポートした Mule プロジェクトを CloudHub にデプロイする予定がある場合は、​**\[Include project module and dependencies (プロジェクトモジュールと連動関係を含める)\]**​ を選択します。 ## [](#anypoint-code-builder-で共有可能な-jar-ファイルから-mule-プロジェクトをインポートする)Anypoint Code Builder で共有可能な JAR ファイルから Mule プロジェクトをインポートする Mule プロジェクトのスナップショットの共有可能な JAR ファイルをデスクトップ IDE にインポートします。 共有可能な JAR ファイルを作成するには、​[「共有可能な JAR ファイルにエクスポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-export-mule-project#shareable)​を参照してください。 コンテンツに連動関係は含まれないため、コンテンツは軽量です。 IDE では、プロジェクトの ​`pom.xml`​ で設定された連動関係が生成されます。 共有可能な JAR ファイルをデスクトップ IDE にインポートする手順は、次のとおりです。 1. IDE で開いているプロジェクトがないことを確認します。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - **\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command MuleSoft: Import a Mule Project ``` 4. インポートする共有可能な JAR ファイルに移動し、​**\[Select jar file to import (インポートする JAR ファイルを選択)\]**​ をクリックします。 5. JAR ファイルを展開するフォルダー (ホームディレクトリや、Mule プロジェクトフォルダー​_外部_​のフォルダーなど) に移動します。 6. **\[Select project folder (プロジェクトフォルダーを選択)\]**​ をクリックします。 IDE により、プロジェクトの共有可能な JAR ファイルが選択したフォルダーに展開されます。 7. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトの​[ワークスペースを開きます](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project#open-a-project-folder-from-the-desktop-or-cloud-ide)​。 グラフィカルキャンバスの読み込みに加えて、IDE はプロジェクトの ​`pom.xml`​ で定義された連動関係も読み込みます。 Mule Runtime または Java 設定がない場合は、キャンバスから使用するバージョンを設定します。 ライブラリは、プロジェクトフォルダー内の ​`target/repositories`​ ディレクトリに読み込まれます。 8. プロジェクトをテストします。 1. 開いているプロジェクトでエラーをチェックし、設定 XML とキャンバスが正しく読み込まれていることを確認します。これは、コンポーネントの連動関係が解決されたことを示します。 2. 設定 XML 内のポートやファイルパスなど、変更する設定を確認します。 3. プロジェクトを実行してデバッグします。 案内については、​[「デバッグモードでのアプリケーションの実行」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps#run-debug-mode)​を参照してください。 ## [](#関連情報)関連情報 - [IDE へのプロジェクトのインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project) # API の反復的な設計および実装 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder を使用すると、最初に API を Anypoint Exchange にパブリッシュすることなく、新しいインテグレーションプロジェクトに API 仕様をスキャフォールディングできます。 変更を行ったら、仕様を再スキャフォールディングすることでプロジェクトの変更を同期します。 たとえば、新しいエンドポイントを API 仕様に追加したら、再スキャフォールディングして、そのエンドポイントの新しいフローを設定 XML ファイルに追加します。 Anypoint Code Builder では、API 仕様から参照される場合、次のスキーマフラグメントファイルのスキャフォールディングがサポートされています。
Avro JSON RAML

AsyncAPI

はい

はい

いいえ

GraphQL

いいえ

いいえ

はい

OData

いいえ

いいえ

はい

REST

いいえ

いいえ

はい

SOAP

いいえ

いいえ

はい

サポートされていないフラグメントを追加した場合、スキャフォールダーは Exchange から仕様をインポートするときに、これらのフラグメントをプロジェクトの連動関係として追加しません。ただし、仕様内でインラインで指定されたスキーマをスキャフォールディングすることはできます。 AsyncAPI 仕様では、現時点で反復的な設計と実装はサポートされていません。 API 仕様および関連する Mule プロジェクトを同期したら、API 仕様の変更と変更の実装を同時に行うことができます。 この方法を使用して API を実装すると、API 設計の変更が Mule プロジェクトのインターフェースに直接反映されます。 API の設計タスクと実装タスク間を反復することで、開発プロセスの時間を短縮します。 準備が整ったら、API 仕様を Exchange にパブリッシュして Mule プロジェクトをデプロイします。 API 仕様を新しいインテグレーションプロジェクトにスキャフォールディングしたら、Anypoint Code Builder により実装の設定 XML が作成されます。 ## [](#マルチルートワークスペースに関する考慮事項)マルチルートワークスペースに関する考慮事項 API をスキャフォールディングすると、Anypoint Code Builder により、API 仕様とインテグレーションプロジェクトの両方を含む​_マルチルートワークスペース_​が VS Code に作成され、それらの同期が維持されます。 VS Code では、拡張子 ​`.code-workspace`​ を含むファイルを使用してマルチルートワークスペースを保存します。 このファイルは、API 仕様と実装プロジェクトのフォルダーをマップします。
プロジェクトを適切に動作させるには、​.code-workspace​ ファイルがどちらのプロジェクトフォルダーにも​存在してはなりません​。
また、Anypoint Code Builder では、反復的な設計フォルダーと実装プロジェクトフォルダーのペアがマルチルートワークスペースごとに 1 つのみ許可されます。 詳細は、VS Code ドキュメントの [「Multi-root Workspaces (マルチルートワークスペース)」](https://code.visualstudio.com/docs/editor/multi-root-workspaces)​を参照してください。 ## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [API 仕様を作成してテスト](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)​します。 ## [](#scaffold-spec-into-project)API 仕様を新しい実装プロジェクトにスキャフォールディングする 現在の API 仕様を新しい実装プロジェクトにスキャフォールディングする方法は、次のとおりです。 1. アクティビティバーで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-implement-api.png)​ (​**\[Implement this local API (このローカル API を実装)\]**​) アイコンをクリックします。 ![アクティビティバーの \[Implement this local API (このローカル API を実装)\] アイコン](_images/imp-local-api.png) または、コマンドパレットを使用します。 手順を表示 1. コマンドパレットを開きます - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを選択します。 ```command MuleSoft: Implement this Local API ``` 2. プロンプトで ​**\[OK\]**​ をクリックします。 ![プロンプト: \*\[We’ll create a workspace to keep your API specification and Mule project in sync (API 仕様と Mule プロジェクトの同期を維持するためのワークスペースを作成します)\]\*](_images/imp-local-workspace-prompt.png) ワークスペースが作成されたら、Anypoint Code Builder で API 仕様が作成およびパッケージ化されてスナップショットとしてローカル Maven リポジトリにパブリッシュされます。 3. 新しいプロジェクトのディレクトリに移動して、​**\[Save (保存)\]**​ をクリックします。 Anypoint Code Builder により、API 仕様と Mule プロジェクトを含むマルチルートワークスペースの作成が開始されます。 マルチルートワークスペースでは、API 仕様フォルダーと Mule プロジェクトフォルダーの両方を同時に操作できます。

デフォルトの場所を受け入れないでください。

API 仕様フォルダー内​ではなく​、プロジェクトフォルダー外のディレクトリに ​.code-workspace​ ファイルを保存します。

4. 要求されたら、プロジェクト設定の詳細を指定します。 1. Mule プロジェクトの名前を指定します。 2. Mule プロジェクトのフォルダーに移動して、​**\[Select target folder (対象フォルダーを選択)\]**​ をクリックします。 3. プロジェクトの Mule Runtime バージョンを選択します。 4. プロジェクトの Java バージョンを選択します。 Anypoint Code Builder では、ローカル API 仕様を新しい Mule プロジェクトにスキャフォールディングし、完了したらメッセージを表示します。 ![スキャフォールディングプロセスの終了メッセージ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/imp-local-api-scaffolded.png) API 仕様と Mule プロジェクトの両方が IDE で開きます。次に例を示します。 ![\[Explorer\] ビューでの API 仕様と実装プロジェクト](_images/imp-local-api-workspace.png)
1API 仕様
2実装プロジェクト
5. \[Explorer\] ビューで、目的のインターフェースの設定 XML ファイルを開きます。 6. キャンバス UI が自動的に開かない場合は、アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-tree-view.png)​ (​**Show canvas UI (キャンバス UI を表示)**​) アイコンをクリックしてキャンバスを開きます。 新しい Mule プロジェクトには、各エンドポイントのフロー、XML ベースの組み込みルーター、エラーハンドラーが含まれており、それらをその後 Mule アプリケーション内に実装します。 \[Explorer\] ビューで仕様と実装プロジェクトを切り替えることができます。 マルチルートワークスペースを閉じるには、​[マルチルートワークスペースを閉じる](#close-workspace)​を参照してください。 ## [](#rescaffold-api-spec)API を再スキャフォールディングする 新しいエンドポイントを追加するなど、API 仕様を変更したら、仕様を再スキャフォールディングして Mule プロジェクトを更新します。 1. \[Explorer\] ビューで、API 仕様ファイルに移動します。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを選択します。 ```command MuleSoft: Re-scaffold this local API ``` プロジェクトが正常に再スキャフォールディングされたことを示すメッセージが表示されたら、実装 XML ファイルに移動して、新しいフローが追加されたことを確認します。 ## [](#close-workspace)マルチルートワークスペースを閉じる ワークスペースを閉じる手順は、次のとおりです。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを選択します。 ```command Workspaces: Close Workspace ``` 閉じた後、同期されたプロジェクトを、API の実装時に作成したワークスペースから再度開くことができます。 [マルチルートワークスペースを開く](#open-workspace)​を参照してください。 ## [](#open-workspace)マルチルートワークスペースを開く `.code-workspace`​ ファイルからマルチルートワークスペースを開く手順は、次のとおりです。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを選択します。 ```command File: Open Workspace from File... ``` 3. ホームディレクトリに移動して、ワークスペースの ​`.code-workspace`​ ファイルをダブルクリックします。 \[Explorer\] ビューでプロジェクトが開きます。マルチルートワークスペースのフォルダー名には ​**(WORKSPACE)**​ が含まれています。次に例を示します。 ![\[Explorer\] ビューでのマルチルートワークスペース](_images/imp-local-api-open-workspace.png) ## [](#関連情報)関連情報 - [API 仕様の反復的な設計と実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-local-api-specification)チュートリアル # API の実装 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder を使用して API 実装を開始するには、Mule アプリケーション内で実装および統合するインターフェースに API 仕様をインポートしてスキャフォールディングします。 Anypoint Code Builder では、Exchange の OAS または JSON スキーマフラグメント連動関係を参照する API を​_除き_​、OAS API、RAML API、AsyncAPI、および GraphQL API の自動スキャフォールディングがサポートされます。 Anypoint Code Builder を使用して API を実装する方法は、次のとおりです。 - [Exchange の仕様から API をスキャフォールディング](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-api-specs#scaffold-new-integration)​して、新しい実装プロジェクトを作成します。 - Exchange から ​[API 仕様をインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-api-specs#import-spec-into-project)​して、既存のインテグレーションプロジェクトに API をスキャフォールディングします。 - 最初に API を Anypoint Exchange にパブリッシュすることなく、実装プロジェクトに ​[API をスキャフォールディング](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-local-apis)​します。これにより、反復的な設計と実装を行うことができます。 API 仕様をインターフェースにスキャフォールディングしたら、​[インテグレーションの開発](https://docs.mulesoft.com/jp/anypoint-code-builder/int-developing-integrations). To understand how an integration project can implement an API specification, see the tutorial [American Flights API 仕様の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-implement-am-flights-api)​ の説明に従って Mule アプリケーションを開発、テスト、デプロイすることができます。 ## [](#実装プロジェクトのソース制御)実装プロジェクトのソース制御 ソース制御管理 (SCM) を使用して、設計、インテグレーション、実装プロジェクトを保存および共有します。 ソース制御オプションについては、[ソースファイルの制御](https://docs.mulesoft.com/jp/anypoint-code-builder/start-scm)を参照してください。 # API 仕様とフラグメントの削除 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 API 仕様とフラグメントの削除は、プロジェクトの作成日とプロジェクトのホスティングによって異なります。 - ローカルでホストされている設計プロジェクトを Anypoint Code Builder で削除するには、プロジェクトフォルダー全体を削除します。 - MuleSoft VCS からインポートされた API 仕様を使用する US クラウドまたは EU クラウドでホストされている設計プロジェクトを削除するには、Design Center にアクセスして MuleSoft VCS からプロジェクトを削除する必要があります。 - 2024 年 2 月より前にリリースされ、仕様を MuleSoft VCS に保存する必要があったバージョンの Anypoint Code Builder で作成された設計プロジェクトを削除するには、Design Center にアクセスして MuleSoft VCS からプロジェクトを削除する必要があります。 - 日本クラウドまたはカナダクラウドでホストされているプロジェクトを削除するには、Anypoint CLI コマンドを使用する必要があります。
Anypoint Code Builder で新しい設計プロジェクトに対してプロジェクト名を再利用するには、以前のプロジェクトを削除する必要があります。
## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [仕様](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)​または​[フラグメント](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-fragments)​を作成します。 ## [](#delete-spec)Anypoint Code Builder から API 仕様を削除する Anypoint Code Builder から API プロジェクト (API 仕様または API 仕様フラグメント) を削除する手順は、次のとおりです。 1. \[Explorer\] ビューでフォルダーを右クリックして、​**\[File (ファイル)\]**​ > ​**\[Open Folder (フォルダーを開く)\]**​ を選択します。 2. 削除するプロジェクトのフォルダーを見つけます。 3. フォルダーを右クリックし、削除するように選択します。 ## [](#delete-api-project)API 設計プロジェクトの削除 [Design Center から Anypoint Code Builder にインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs#import-spec)​されたか、2024 年 2 月リリースより前に Anypoint Code Builder で作成された API 設計プロジェクトは、MuleSoft VCS に自動的に接続され、対応する設計プロジェクトと同期できるようになります。 設計プロジェクト名は一意である必要があります。Anypoint Code Builder ですでに使用されている名前で新しい設計プロジェクトを作成するには、既存のプロジェクトを IDE から削除する必要があります。 Anypoint Code Builder から API プロジェクト (API 仕様または API 仕様フラグメント) を削除する手順は、次のとおりです。 1. Anypoint Code Builder で​[仕様を削除します](#delete-spec)​。 Design Center から設計プロジェクトを削除する手順は、次のとおりです。 1. Anypoint Platform に移動し、ログイン情報を使用してログインします。 手順を表示 - US クラウド (非 EU ホスト): [Anypoint Platform (US)](https://anypoint.mulesoft.com/login/) - EU クラウド (EU ホスト): [Anypoint Platform (EU)](https://eu1.anypoint.mulesoft.com/login/) 2. ナビゲーションパネルから ​**\[Design Center\]**​ を選択します。 3. ナビゲーションパネルから ​**\[API Projects (API プロジェクト)\]**​ を選択します。 4. プロジェクトを選択し、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-dc-delete-project.png)​ (​**\[Delete Project (プロジェクトを削除)\]**​) アイコンを削除します。 Anypoint CLI を使用して設計プロジェクトを削除する手順は、次のとおりです。 1. 次のコマンドを実行します。 designcenter:project:delete \[flags\] 詳細は、​[「Anypoint CLI を使用して設計プロジェクトを削除する」](https://docs.mulesoft.com/jp/anypoint-cli/latest/design-center#designcenter-project-delete)​を参照してください。 ## [](#関連情報)関連情報 - [API 仕様の作成およびインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs) - [API 仕様フラグメントの作成および使用](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-fragments) - [About Design Center](https://docs.mulesoft.com/design-center/) # API 仕様とフラグメントの設計 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder を使用して、新しい API 仕様の作成、設計、テスト、および Exchange へのパブリッシュを行います。 API 仕様を設計するプロセスは、次のとおりです。 1. [API 仕様を作成またはインポートしてテストします](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)​。 2. [必要に応じて、フラグメントを作成して仕様に追加します](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-fragments)​。 3. [API 仕様を Exchange にパブリッシュします](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange)​。 ソース管理オプションについては、​[SCM for API Design Projects (API 設計プロジェクトの SCM)](https://docs.mulesoft.com/jp/anypoint-code-builder/start-scm#anypoint-scm)​ を参照してください。 ## [](#supported-spec-languages)API 仕様でサポートされる OAS および RAML バージョン サポートされる OAS および RAML バージョンは、次のとおりです。 - OAS 2.0 (JSON) - OAS 2.0 (YAML) - OAS 3.0 (JSON) - OAS 3.0 (YAML) - RAML 1.0 - RAML 0.8 サポートされる AsyncAPI バージョンは、次のとおりです。 - AsyncAPI 2.6 (JSON) - AsyncAPI 2.6 (YAML) ## [](#supported-fragment-languages)API フラグメントでサポートされる仕様言語 API フラグメントを API 仕様内に作成するか、含めるか、参照します。 API フラグメントでサポートされる API 仕様言語と構文は、次のとおりです。 - OAS 3.0 - YAML - JSON - RAML 1.0 これらの種別の詳細は、RAML 1.0 仕様を参照してください。 - 特性 - リソース - ライブラリ - データ型 - ユーザードキュメント - 例 - JSON スキーマ - Avro 1.9.0 スキーマ ## [](#resource-reqs)デスクトップ IDE の最小リソース要件 API 仕様を解析するときに、デスクトップ IDE はコンピューターのリソースに依存します。問題を回避するには、コンピューターに次の最小リソースがあることを確認します。 - 8GB RAM - Ryzen シリーズ 5 / Intel i5 CPU 以上 パーサーの最適なパフォーマンスを実現するには、設計プロジェクト内のすべてのファイルの合計プロジェクトサイズを 500 KB 未満に抑えます。 プロジェクトサイズが 1.5 MB を超えると、検証時間に重大な影響を与えます。 ## [](#best-practices)ベストプラクティス 一般的な問題を回避するには、次のガイドラインに従います。 - 可能な場合は、フラグメントを短い再利用可能な連動関係に分割します。 - 同じ連動関係の 1 つのバージョンのみを保持します。 - 一度に 1 つのブラウザータブのみを開いたままにします。 このベストプラクティスは、クラウド IDE にのみ適用されます。 - OAS または RAML API 仕様を設計する前に、​[OAS 仕様のベストプラクティス](#apid-best-practices-oas)​または​[RAML 仕様のベストプラクティス](#apid-best-practices-raml)​を確認します。 ### [](#apid-best-practices-oas)OAS 仕様のベストプラクティス - `$ref`​ プロパティを使用して、再利用可能なコンポーネントを定義します。解析効率を向上させるには、コンポーネント定義を複製する代わりに、API 仕様から各コンポーネントを参照します。次に例を示します。 components: schemas: User: type: object properties: id: type: integer paths: /users: get: responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/User' - 可能な場合は、より単純な型を使用してデータを表現します。不要なネストや複雑な型は避けてください。次に例を示します。 properties: age: type: integer # Prefer simple types over complex types like objects - 解析効率を向上させるには、値の固定セットを使用する項目の ​`enum`​ プロパティを使用します。 properties: status: type: string enum: \[active, inactive\] - オブジェクトに単純なネストを使用して構造を簡略化し、読みやすさと解析効率を改善します。 \# Good properties: name: type: string address: type: string # Avoid properties: user: type: object properties: profile: type: object properties: name: type: string - 追加情報を提供するには、レスポンスボディの代わりに ​`response`​ ヘッダーを使用します。次に例を示します。 responses: '200': description: Successful response headers: X-Rate-Limit-Limit: description: The number of requests allowed in the current period schema: type: integer - 簡潔で短い例を指定します。 Book: type: string example: "Explain the string with as few words as possible." - 結合型プロパティを使用する場合、結合型オブジェクト項目を表すには ​`oneOf`​ を使用し、交型の複合オブジェクトと項目を表すには ​`allOf`​ を使用し、複数の考えられるデータ構造でプロパティを定義する場合には ​`anyOf`​ を使用します。 ### [](#apid-best-practices-raml)RAML 仕様のベストプラクティス - RAML フラグメントを抽出するときは、最初に各フラグメントをローカル宣言としてインポートします。 フラグメントファイルを作成し、そのフラグメントを Anypoint Exchange にパブリッシュする前に、ローカルフラグメントファイルをインポートして、フラグメントが期待どおりに機能することを検証します。フラグメントが機能する場合は、フラグメントを Exchange にパブリッシュして、フラグメントを複製する代わりに API 仕様で再利用できるようにします。 - データ型を宣言として再利用します。 - 必要な場合にのみ継承を使用します。 Car: description: This is a car properties: brand: string model: string example: brand: Toyota model: Corolla Person: properties: owns: Car - 短い結合を使用します。 Person: type: Employee | Customer - 単純な特性を使用し、特性とリソース種別のプロパティを組み合わせないようにします。 /basic: type: {resourceTypes.fhirResourceType: { postExample : !include /examples/requests/post\_resource.json, getExample : !include /examples/responses/get\_resource.json, bundleName : basic.BasicBundle } } /\_search: get: is: \[ searchParams \] post: is: \[ POSTSearchParams \] ## [](#anypoint-scm)API 設計プロジェクトのソース制御 ソース制御管理 (SCM) を使用して、設計、インテグレーション、実装プロジェクトを保存および共有します。 API 設計プロジェクトのソース制御オプションは、プロジェクトの作成方法とタイミングによって異なります。 - 2024 年 2 月リリース以降、Anypoint Code Builder で ​**\[Design an API (API を設計)\]**​ (​[「新しい API 仕様プロジェクトを作成する」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs#design-new-api-spec)​を参照) またはコマンド ​`MuleSoft: Design an API`​ を使用して最初から作成した設計プロジェクトでは、MuleSoft VCS を使用して変更を保存および同期しなくなります。 - [Design Center から Anypoint Code Builder にインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs#import-spec)​されたか、2024 年 2 月リリースより前に Anypoint Code Builder で作成された API 設計プロジェクトは、MuleSoft VCS に自動的に接続され、対応する設計プロジェクトと同期できるようになります。 独自のリモートリポジトリを使用する場合は、GitHub を使用することもできます。MuleSoft VCS のプロジェクトと同期せずに API プロジェクトを GitHub のリポジトリに保存するには、​[「プロジェクトファイルを別のリポジトリにパブリッシュする」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-scm#add-extra-repo)​を参照してください。 ソース制御オプションについては、[ソースファイルの制御](https://docs.mulesoft.com/jp/anypoint-code-builder/start-scm)を参照してください。 # API 仕様の作成およびインポート **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Exchange にパブリッシュする前に Anypoint Code Builder を使用して API 仕様の作成、インポート、テストを行います。 1. IDE から Anypoint Code Builder で API 仕様プロジェクトを作成するか、MuleSoft VCS から仕様をインポートして API 仕様プロジェクトを作成します。 - [IDE から API 仕様プロジェクトを作成する](#design-new-api-spec) - [MuleSoft VCS から API 仕様をインポートする](#import-spec) 2. [出力パネルで進行状況を追跡します](#open-output-panel)​。 3. [API Console で仕様を確認します](#review-spec-console)​。 4. [モッキングサービスを使用して仕様をテストします](#test-spec)​。 Anypoint Code Builder の機能を調べるには、​[`oas-example`](#example-oas-api-spec)​ API 仕様を使用してください。 ## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - API 仕様の設計の基礎を理解します。 詳細は、[チュートリアル](https://docs.mulesoft.com/jp/anypoint-code-builder/tutorials)を参照してください。 - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)​に精通します。 API 仕様を Anypoint Code Builder から Exchange にパブリッシュすると、IDE でビジネスグループの名前が要求されます。[ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)を参照してください。 ## [](#design-new-api-spec)新しい API 仕様プロジェクトを作成する Anypoint Code Builder で API 仕様プロジェクトを作成する手順は、次のとおりです。 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 ![アクティビティバー内で強調表示されている \[Anypoint Code Builder\] アイコン](_images/anypoint-code-builder-view.png) 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Design an API (API を設計)\]**​ をクリックします。 ![\*「Quick Actions (クイックアクション)」\* セクション内の強調表示された \*「Design an API (API を設計)」\* リンク](/mulesoft/current/ja-jp/anypoint-code-builder/_images/design-api-1.png) 3. **\[API Specification (API 仕様)\]**​ フォームに入力します。
項目名 Field Value (項目値)

Project Name (プロジェクト名)

プロジェクトの一意の名前。

この名前は Exchange での API 仕様のタイトル、仕様ファイルの名前、プロジェクトのルートディレクトリの名前として使用されます。 たとえば、プロジェクト名が​「OAS Example」​ (OAS 例) の場合、仕様ファイル名は ​oas-example​ になります。

既存のプロジェクト名を再利用するには、その名前をすでに使用しているプロジェクトを最初に削除する必要があります。API 仕様とフラグメントの削除を参照してください。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ。

別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。

API Type (API 種別)

作成する API 仕様のエンティティの種別。

使用可能なオプションは、​[REST API]​ と ​[AsyncAPI]​ です。

この手順で​サンプル​を使用するには、​[REST API]​ を選択します。

API Specification Language (API 仕様言語)

この手順で​サンプル​を使用するには、​[OAS 3.0 (YAML)]​ を選択します。

4. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 確認を促されたら、フォルダー内のファイルの作成者を信頼します。 プロジェクトの編集準備が整ったら、API プロジェクトのエディタービューで次の OAS 3.0 (YAML) 仕様のような仕様が開きます。 ![新しい OAS 3.0 (YAML) API プロジェクト](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-oas-create.png) 5. 引き続き API 仕様を設計します。 要素を入力するときに、​[オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#auto-complete)​ (または Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。 ## [](#import-spec)MuleSoft VCS から API 仕様をインポートする MuleSoft VCS から API 仕様をインポートし、デスクトップまたはクラウド IDE で Git または VS Code と互換性のある別のソース管理システムを使用して、プロジェクトの同期を維持します。詳細は、​[API 設計プロジェクトのソース制御](https://docs.mulesoft.com/jp/anypoint-code-builder/des-designing-api-specs#mulesoft-vcs)​を参照してください。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command MuleSoft: Import API Specification from MuleSoft VCS ``` 3. Anypoint Platform にログインするように促されたら、IDE からログインします。 4. インポートプロセスを完了します。 1. **\[Select a Business Group (ビジネスグループを選択)\]**​ ポップアップからビジネスグループを選択します。 2. **\[APIs from MuleSoft VCS (MuleSoft VCS から API)\]**​ 項目で API 仕様を検索します。 3. 仕様のフォルダーに移動するか、そのフォルダーを作成して、​**\[Select target folder (対象フォルダーを選択)\]**​ をクリックします。 インポートが失敗したといったエラー (​**「Importing project _a\_project\_name_ has failed (プロジェクト _a\_project\_name_ のインポートに失敗しました)」**​) を受け取ったら、同じ名前のプロジェクトの対象フォルダーを確認します。インポートする前に重複する名前の問題に対処するには、設計プロジェクトを別の対象フォルダーにインポートするか、プロジェクトを IDE から削除することができます ([API 仕様とフラグメントの削除](https://docs.mulesoft.com/jp/anypoint-code-builder/des-delete-api-projects)を参照)。 5. 必要に応じて、仕様を編集するか、引き続き仕様を設計します。 要素を入力するときに、​[オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#auto-complete)​ (または Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。 6. 変更を MuleSoft VCS と同期できます。 この機能は、MuleSoft VCS からインポートした API プロジェクトでのみ使用できます。作業内容を別の SCM に保存することもできます。SCM オプションについては、[ソースファイルの制御](https://docs.mulesoft.com/jp/anypoint-code-builder/start-scm)を参照してください。 ## [](#open-output-panel)出力パネルで進行状況を追跡する API を設計しているときに内部処理の進行状況を追跡する手順は、次のとおりです。 1. 出力パネルを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+u - Windows: Ctrl+Shift+u - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 2. ドロップダウンリストから ​**\[Mule DX Server (Mule DX サーバー)\]**​ を選択します。 ![出力ペイン内の \[Mule DX Server (Mule DX サーバー)\]](_images/des-output-panel.png) スキャフォールディングエラーのみを表示するには、リストから ​**\[Mule DX Server: Scaffolding (Mule DX サーバー: スキャフォールディング)\]**​ を選択します。 ## [](#review-spec-console)API Console で仕様を確認する コンソールに仕様を表示する手順は、次のとおりです。 1. エディターで仕様ファイルをクリックします。 2. ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-api-console.png)​ (​**API Console**​) アイコンをクリックします。 または、​[コマンドパレット](https://docs.mulesoft.com/jp/anypoint-code-builder/start-use-command-palette)​でコマンド ​`MuleSoft: API Console`​ を入力することができます。 3. API Console にエンドポイントが表示されるまで待機します。 API Console に仕様のエンドポイントが表示されます。次に例を示します。 ![API Console 内の API 仕様](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-console.png)
1メソッドをクリックして詳細を表示します。
2コンソールメニューを表示します。
4. コンソールでメソッドをクリックするか、メニューから項目を選択して、仕様のさまざまな部分を表示します。 たとえば、​**\[GET\]**​ をクリックすると、次のように表示されます。 ![Get の詳細を含む API Console](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-console-detail.png) ## [](#test-spec)モッキングサービスを使用して API 仕様をテストする API Console でモッキングサービスを使用して、API 仕様で設定した要求と応答を確認します。 1. Anypoint Code Builder で API プロジェクトの仕様 (​[`oas-example`](#example-oas-api-spec)​ など) を開きます。 2. ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-api-console.png)​ (​**API Console**​) アイコンをクリックして、コンソールに仕様を表示します。 3. API Console で GET や POST などのメソッドをクリックします。 4. **\[Try It (試す)\]**​ をクリックします。 ![API Console の \[Try It (試す)\] ボタン](_images/des-api-console-try-it.png) 5. 定義したパラメーターが正しいことを確認して、​**\[Send (送信)\]**​ をクリックします。 6. 定義した応答が API Console に返されることを検証します。次に例を示します。 ![API Console での応答例](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-console-response.png) 7. 必要に応じて、モックされた API エンドポイントを照会するときに、設定済みの応答例を確認します。 ## [](#example-oas-api-spec)OAS 3.0 (YAML) API 仕様の例 OAS 3.0 (YAML) プロジェクトを作成したら、初期仕様を次のコード例で置き換えることができます。 OAS 3.0 (YAML) API 仕様の例 ```YAML openapi: "3.0.0" info: version: 1.0.0 title: oas-example paths: /contacts: get: summary: Retrieve a list of contacts description: Returns a list of contacts. responses: '200': description: Successful response content: application/json: example: - id: 1 firstName: John lastName: Doe company: Example Corp - id: 2 firstName: Jane lastName: Smith company: Another Company post: summary: Create a new contact description: Creates a new contact. requestBody: description: Contact object to be created required: true content: application/json: schema: $ref: '#/components/schemas/Contact' responses: '201': description: Contact created successfully content: application/json: example: id: 3 firstName: John lastName: Doe company: Example Corp '400': description: Invalid request '500': description: Internal server error '/contacts/{contactId}': put: summary: Update a contact description: Updates an existing contact based on the contact ID. parameters: - name: contactId in: path description: ID of the contact to update required: true schema: type: integer format: int64 requestBody: description: Updated contact object required: true content: application/json: schema: $ref: '#/components/schemas/Contact' responses: '200': description: Contact updated successfully content: application/json: example: id: 3 firstName: John lastName: Doe company: Updated Corp '400': description: Invalid request '404': description: Contact not found '500': description: Internal server error components: schemas: Contact: type: object properties: id: type: integer format: int64 firstName: type: string lastName: type: string company: type: string required: - firstName - lastName ``` ## [](#関連情報)関連情報 - [Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb) - [チュートリアル](https://docs.mulesoft.com/jp/anypoint-code-builder/tutorials) - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups) - [エディターのオートコンプリートを使用する](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#use-autocomplete) - [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api)チュートリアル - [API 仕様とフラグメントの削除](https://docs.mulesoft.com/jp/anypoint-code-builder/des-delete-api-projects) # API 仕様の反復的な設計と実装 ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 REST API 仕様を IDE 内の実装プロジェクトにスキャフォールディングして、仕様への変更を最初に Anypoint Exchange にパブリッシュすることなくインターフェースと同期します。たとえば、新しいエンドポイントを API 仕様に追加したら、その変更をインターフェースに再スキャフォールディングして、そのエンドポイントのフローをインターフェースの設定 XML ファイルに追加できます。 インターフェース XML は、スキャフォールディングプロセス中に Mule プロジェクトに自動的に作成されます。API を API 設計プロジェクト内の仕様ファイルで定義します。 IDE 内での反復的な API 設計と実装は、VS Code の​_マルチルートワークスペース_​で実行されます。API 仕様および実装プロジェクトのプロジェクトフォルダーをマルチルートワークスペースにマッピングするため、VS Code では拡張子 ​`.code-workspace`​ 付きのファイルが使用されます。プロジェクトを適切に動作させるには、このファイルはどちらのプロジェクトフォルダーにも​_存在してはなりません_​。また、Anypoint Code Builder では、反復的な設計フォルダーと実装プロジェクトフォルダーのペアがマルチルートワークスペースごとに 1 つのみ許可されます。仕様および実装プロジェクトを作成するための手順は次の要件を満たすように設計されています。VS Code ドキュメントで情報を確認するには、 [「Multi-root Workspaces (マルチルートワークスペース)」](https://code.visualstudio.com/docs/editor/multi-root-workspaces)​を参照してください。
現在、この手順はデスクトップ IDE のみを対象として記載されています。
## [](#prereqs)始める前に - MuleSoft 環境をセットアップします。詳細は、[Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)を参照してください。 - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)​に精通します。 API 仕様を Anypoint Code Builder から Exchange にパブリッシュすると、IDE でビジネスグループの名前が要求されます。 ## [](#create)API 仕様を作成する 1. デスクトップ IDE で Cmd+Shift+n (Mac) または Ctrl+Shift+n (Windows) を押して、VS Code で新しいウィンドウを開きます。 このステップにより、反復的な設計および実装プロジェクトがすでに含まれているマルチルートワークスペースに API 仕様を作成できなくなり、次の手順 (​[ローカル REST API 仕様をインターフェースにスキャフォールディングする](#scaffold)​) で必要なコマンドが使用できるようになります。 2. デスクトップ IDE のアクティビティバーで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**\[Anypoint Code Builder\]**​) アイコンをクリックして Anypoint Code Builder を開きます。 3. クイックアクション ​**\[Design an API (API を設計)\]**​ をクリックして、API 仕様を開始します。 または、Ctrl+Shift+p (Mac) または Cmd+Shift+p (Windows) を押してコマンドパレットを開き、次のコマンドを入力します。 ```command MuleSoft: Design an API ``` 4. Anypoint Platform にサインインするように促されたら、サインインし、すべてのプロンプトに従って IDE を再開します。 5. **\[API Specification (API 仕様)\]**​ フォームに入力します。
項目名 項目値

Project Name (プロジェクト名)

Retrieve Users API​ (ユーザーの取得 API)
または、任意の同様の名前を指定します。名前は一意である必要があります。プロジェクトと仕様ファイルの名前は、指定した名前に基づきます。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ (ホームディレクトリへのフォルダーの追加を参照)。

API Type (API 種別)

REST API​
Anypoint Code Builder では、反復的な設計に REST API 種別がサポートされます。

API Specification Language (API 仕様言語)

RAML 1.0​
Anypoint Code Builder では、OAS (JSON)、OAS (YAML)、および RAML がサポートされます。

6. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 このプロセスでは、API 仕様を含むプロジェクトがワークスペース内に作成されます。 7. API 仕様ファイル (​`retrieve-users-api.raml`​) を開きます。 8. 内部プロセスの進行状況を追跡するには、​**\[Mule DX Server (Mule DX サーバー)\]**​ への ​**\[Output (出力)\]**​ パネルを開きます。スキャフォールディングエラーのみを表示するには、リストから ​**\[Mule DX Server: Scaffolding (Mule DX サーバー: スキャフォールディング)\]**​ を選択します。 手順を表示 1. Cmd+Shift+u (Mac) または Ctrl+Shift+u (Windows) を押して \[Output (出力)\] パネルを開きます。 2. パネルのドロップダウンリストから ​**\[Mule DX Server (Mule DX サーバー)\]**​ を選択します。スキャフォールディングエラーのみを表示するには、リストから ​**\[Mule DX Server: Scaffolding (Mule DX サーバー: スキャフォールディング)\]**​ を選択します。 詳細は、[出力パネルを開く](https://docs.mulesoft.com/jp/anypoint-code-builder/start-open-output-panel)を参照してください。 9. API 仕様のエディターで次の例を ​`retrieve-users-api.raml`​ に追加します。 ```raml #%RAML 1.0 title: Retrieve Users API version: 1.0.development /users: get: description: Retrieve a list of all the users responses: 200: body: application/json: example: | [{ "id": 1, "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } }, "phone": "1-770-736-8031 x56442", "website": "hildegard.org", "company": { "name": "Romaguera-Crona", "catchPhrase": "Multi-layered client-server neural-net", "bs": "harness real-time e-markets" } }] ``` 10. [ローカル REST API 仕様をインターフェースにスキャフォールディングする](#scaffold)​に進みます。 ## [](#scaffold)ローカル REST API 仕様をインターフェースにスキャフォールディングする ローカル REST API 仕様をローカル実装プロジェクトにスキャフォールディングします。スキャフォールディングプロセスにより実装の設定 XML が作成されます。 プロジェクトがデスクトップ IDE にあるか Anypoint Platform 内のユーザーアカウントに関連付けられたクラウド IDE にあるかにかかわらず、ローカルプロジェクトは Anypoint Code Builder IDE に存在します。 ローカル API 仕様をスキャフォールディングする手順は、次のとおりです。 1. IDE で ​`retrieve-users-api.raml`​ を開いて、仕様を Mule プロジェクトにスキャフォールディングする準備を整えます。 1. アクティビティバーで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-implement-api.png)​ (​**\[Implement this local API (このローカル API を実装)\]**​) アイコンをクリックします。 ![コマンド \[Implement this Local API (このローカル API を実装する)\] の X 型のアイコンが含まれる UI](_images/tut-local-spec-implement.png) または、Cmd+Shift+p (Mac) または Ctrl+Shift+p (Windows) を押してコマンドパレットを開き、次のコマンドを入力します。 ```command MuleSoft: Implement this Local API ``` コマンド ​`[MuleSoft: Implement an API Specification (Mulesoft: API 仕様を実装する)]`​ を選択しないでください。これは、Anypoint Exchange にパブリッシュする仕様を実装するコマンドであり、ローカル API 仕様を実装するコマンドではありません。 2. UI にメッセージ ​**\[We’ll create a workspace to keep your API specification and Mule project in sync (API 仕様と Mule プロジェクトの同期を維持するためのワークスペースを作成します)\]**​ が表示されたら ​**\[OK\]**​ をクリックします。
マルチワークスペースの拡張子 ​.code-workspace​ 付きのファイルを保存するように促すプロンプトで、このファイルを API 仕様プロジェクトフォルダー内に保存しないでください。代わりに、次のステップに進みます。
3. ワークスペース用に作成した親フォルダーまで移動して ​`.code-workspace`​ ファイルを保存します。 4. **\[Output (出力)\]**​ パネルで ​**\[Mule DX Server (Mule DX サーバー)\]**​ 出力を使用して内部プロセスの進行状況を追跡できることを確認します。スキャフォールディングエラーのみを表示するには、リストから ​**\[Mule DX Server: Scaffolding (Mule DX サーバー: スキャフォールディング)\]**​ を選択します。 UI にメッセージ ​**\[Implementing local API implementation, please wait. (ローカル API 仕様を実装しています。お待ちください。)\]**​ が表示されます。 出力を監視しながら、プレースホルダーテキスト ​`_[Mule project name (Mule プロジェクト名)]_`​ を含む項目が UI に表示されるまで待ちます。次に例を示します。 ![スキャフォールディング済みの実装プロジェクトの名前を指定する](/mulesoft/current/ja-jp/anypoint-code-builder/_images/tut-api-create-project.png) 2. Mule 実装プロジェクトの名前 (​`retrieve-users-implementation`​ など) を入力して、スキャフォールディングプロセスを開始します。 ![スキャフォールディング済みの実装プロジェクトの名前を指定する](/mulesoft/current/ja-jp/anypoint-code-builder/_images/tut-api-create-project-retrieve-users.png) 3. 確認を促されたら、​**\[Select target folder (対象フォルダーを選択)\]**​ をクリックします。 対象フォルダーは、API 仕様が作成されたプロジェクトフォルダーです。 スキャフォールディングプロセスが実行されている間、UI で更新情報が提供されます。 - **Executing scaffolding operation, please wait (スキャフォールディング操作を実行しています。お待ちください)** - **Scaffolding process ended. You can now start iterating over your local API and implementation project (スキャフォールディングプロセスが終了しました。ローカル API および実装プロジェクトの反復を開始できるようになりました)** 4. \[Explorer\] のマルチルートワークスペースから、新しい Mule プロジェクトでスキャフォールディング済み仕様が開きます。 実装用の設定 XML ファイル (​`retrieve-users-implementation.xml`​) は、次のような実装プロジェクトディレクトリに配置されています。 ```implementation retrieve-users-implementation/src/main/mule/retrieve-users-implementation.xml ``` - この Mule プロジェクトのキャンバスには Router コンポーネントといくつかのエラーハンドラーが含まれます。APIkit によりこれらのコンポーネントはスキャフォールディングプロセス中に自動的に作成されます。 - 実装 XML のフロー ​``​ には、例を含む ​``​ 要素が含まれます。 ```XML ``` 5. [API 仕様を更新して実装 XML を再スキャフォールディングする](#update-api-spec)​に進みます。 ## [](#update-api-spec)API 仕様を更新して実装 XML を再スキャフォールディングする エンドポイントを仕様ファイルに追加して、再スキャフォールディングします。 1. \[Explorer\] で ​**\[Retrieve Users API (ユーザーの取得 API)\]**​ ディレクトリの仕様ファイル ​`retrieve-users-api.raml`​ に移動します。 2. 次の ​`/userbyid`​ エンドポイント設定を RAML ファイルに追加します。 ```raml #%RAML 1.0 title: Retrieve User version: 1.0.development /users: get: description: Retrieve a list of all the users responses: 200: body: application/json: example: | [{ "id": 1, "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", "address": { "street": "Kulas Light", "suite": "Apt. 556", "city": "Gwenborough", "zipcode": "92998-3874", "geo": { "lat": "-37.3159", "lng": "81.1496" } }, "phone": "1-770-736-8031 x56442", "website": "hildegard.org", "company": { "name": "Romaguera-Crona", "catchPhrase": "Multi-layered client-server neural-net", "bs": "harness real-time e-markets" } }] /userbyid: get: description: Get information about a particular user queryParameters: id: description: Specify the id of the user you want to retrieve type: integer required: false example: 3 responses: 200: body: application/json: example: | [{ "id": 3, "name": "Clementine Bauch", "username": "Samantha", "email": "Nathan@yesenia.net", "address": { "street": "Douglas Extension", "suite": "Suite 847", "city": "McKenziehaven", "zipcode": "59590-4157", "geo": { "lat": "-68.6102", "lng": "-47.0653" } }, "phone": "1-463-123-4447", "website": "ramiro.info", "company": { "name": "Romaguera-Jacobson", "catchPhrase": "Face to face bifurcated interface", "bs": "e-enable strategic applications" } }] ``` 3. API 仕様を再スキャフォールディングして Mule プロジェクトを更新します。 1. Cmd+Shift+p (Mac) または Ctrl+Shift+p (Windows) を押してコマンドパレットを開き、次のコマンドを入力します。 ```command MuleSoft: Re-scaffold this local API ``` 2. プロジェクトが​**正常にスキャフォールディングされた**​ことを示すメッセージを受け取ったら、実装 XML ファイルに移動して、​`userbyid`​ エンドポイントの新しいフロー (​``​) を確認します。 ```XML ... ``` 4. [API 仕様を Exchange にパブリッシュする](#publish)​に進みます。 ## [](#publish)API 仕様を Exchange にパブリッシュする API 仕様を Anypoint Exchange にパブリッシュして、チームメンバーがその仕様を見つけることができるようにします。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command MuleSoft: Publish API Specification to Exchange ``` 3. 確認を促されたら、​**\[Allow (許可)\]**​ をクリックし、プロンプトに従って Anypoint Platform にサインインします。 4. **\[Select a Business Group (ビジネスグループを選択)\]**​ で、プロジェクトのビジネスグループを見つけて選択します。 詳細は、​[始める前に](#prereqs)​を参照してください。 5. プロジェクト名を入力します: **Retrieve Users API**​ (ユーザーの取得 API)。 ![Retrieve Users API (ユーザーの取得 API) をパブリッシュする](/mulesoft/current/ja-jp/anypoint-code-builder/_images/tut-api-publish.png) 6. アーティファクト ID を確認します: **Retrieve-Users-API**​。 7. アセットバージョンを確認します: **1.0.0**​。 8. API バージョンを確認します: **v1**​。 API 仕様の ​`v1.0.0`​ を参照するように Mule プロジェクトの POM ファイルが IDE で更新されるまで、ステータスバーに進行状況関連のメッセージが表示されます。 - **Publishing API Specification to Exchange (API 仕様を Exchange にパブリッシュしています)**​ - _Project_​ ​**has been successfully published to Exchange (プロジェクトが Exchange に正常にパブリッシュされました)** ビジネスグループのチームメンバーはこの仕様を [Anypoint Exchange](https://anypoint.mulesoft.com/exchange/?show=org&sort=last)​ で入手してプロジェクトと実装にスキャフォールディングできるようになりました。​[API 仕様を Exchange からスキャフォールディングする](#scaffold-from-exchange)​を参照してください。 ## [](#scaffold-from-exchange)API 仕様を Exchange からスキャフォールディングする ビジネスグループのチームメンバーは API 仕様を Exchange からインポートできます。 1. 新しい VS Code インスタンスを開きます。 2. API のバージョン 1.0.0 を MuleSoft VCS からインポートします。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command MuleSoft: Implement an API Specification (MuleSoft: API 仕様を実装する) ``` 3. 開いている ​**\[Implement an API Specification (API 仕様を実装する)\]**​ タブで次の操作を実行します。 - 実装の新しい名前を入力します。 - 新しいプロジェクトの場所を選択または作成します。 - Anypoint Exchange で API 仕様を見つけて ​**\[Add (追加)\]**​ をクリックし、API 参照名を項目に挿入します。 4. **\[Create Project (プロジェクトを作成)\]**​ をクリックして、新しい実装への仕様のスキャフォールディングを開始します。 3. スキャフォールディング済み仕様を IDE に実装します。 ## [](#マルチルートワークスペースを閉じる)マルチルートワークスペースを閉じる コマンド ​`[Workspaces: Close Workspace (ワークスペース: ワークスペースを閉じる)]`​ を使用してマルチルートワークスペースを作成します。 閉じた後、同期されたプロジェクトを、API の実装時に作成したワークスペースから再度開くことができます。 ## [](#マルチルートワークスペースを開く)マルチルートワークスペースを開く ワークスペースのプロジェクトの ​`.code-workspace`​ ファイル (​`Retrieve Users API.code-workspace`​ など) からマルチルートワークスペースを開きます。 1. VS Code を開きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command File: Open Workspace from File... ``` 4. ワークスペースのプロジェクトの ​`.code-workspace`​ ファイルに移動してダブルクリックします。 \[Explorer\] ビューでプロジェクトが開きます。マルチルートワークスペースの見出しには ​**\[(WORKSPACE)\]**​ 識別子が追加されます。次に例を示します。 ![\[Explorer\] でのマルチルートワークスペース](_images/tut-api-multiroot-workspace.png) # API 仕様フラグメントの作成および使用 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder を使用すると、独自の API フラグメントを作成したり、Anypoint Exchange にパブリッシュして他のユーザーと共有したり、フラグメントを Exchange から API 仕様に追加したり、プロジェクト内にフラグメントを作成して API 仕様に直接追加したりできます。 または、Exchange にパブリッシュせずに、プロジェクトにフラグメントを直接作成して追加することもできます。 Anypoint Code Builder では、API 仕様から参照される場合、次のスキーマフラグメントファイルのスキャフォールディングがサポートされています。
Avro JSON RAML

AsyncAPI

はい

はい

いいえ

GraphQL

いいえ

いいえ

はい

OData

いいえ

いいえ

はい

REST

いいえ

いいえ

はい

SOAP

いいえ

いいえ

はい

サポートされていないフラグメントを追加した場合、スキャフォールダーは Exchange から仕様をインポートするときに、これらのフラグメントをプロジェクトの連動関係として追加しません。ただし、仕様内でインラインで指定されたスキーマをスキャフォールディングすることはできます。 フラグメントを Exchange から追加するプロセスは次のとおりです。 1. API 仕様プロジェクトに連動関係として ​[API フラグメントを Exchange から追加します](#add-fragment-to-project)​。 2. `$ref`​ (OAS および AsyncAPI) または ​`!include`​ (RAML) ディレクティブを使用して、​[API フラグメントを API 仕様に追加します](#add-fragments-to-spec)​。 Exchange にパブリッシュせずにフラグメントを追加するプロセスは次のとおりです。 - Exchange にパブリッシュせずに、​[プロジェクトにフラグメントを直接作成して追加します](#create-add-fragment-directly)​。 次の例を使用して Anypoint Code Builder の機能を調べます。 - [`example-oas-fragment`](#example-oas-api-frag)​ API 仕様フラグメント - [`example-oas-api-spec`](#example-oas-api-spec)​ API 仕様 - [`example-asyncapi-avro-fragment`](#example-avro-api-frag)​ AsyncAPI 仕様 Avro スキーマフラグメント - [`example-asyncapi-spec`](#example-asyncapi-spec)​ AsyncAPI 仕様 - [`example-asyncapi-spec-inline-avro`](#example-asyncapi-spec-inline-avro)​ AsyncAPI 仕様 (インライン Avro) ## [](#始める前に)始める前に フラグメントを追加する前に: - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - API 仕様の設計の基礎を理解します。 詳細は、[チュートリアル](https://docs.mulesoft.com/jp/anypoint-code-builder/tutorials)を参照してください。 - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)​に精通します。 API フラグメントを Anypoint Code Builder から Exchange に追加すると、IDE によりビジネスグループの名前が要求されます。[ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)を参照してください。 ## [](#api-フラグメントを作成して-exchange-にパブリッシュする)API フラグメントを作成して Exchange にパブリッシュする API 仕様フラグメントを作成およびパブリッシュするプロセスは、API 仕様のプロセスと似ています。 API 仕様フラグメントを作成する手順は、次のとおりです。 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 ![アクティビティバー内で強調表示されている \[Anypoint Code Builder\] アイコン](_images/anypoint-code-builder-view.png) 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Design an API (API を設計)\]**​ をクリックします。 ![\*\[Quick Actions (クイックアクション)\]\* セクション内の強調表示された \*\[Design an API (API を設計)\]\* リンク](_images/design-api-1.png) 3. **\[Design an API (API の設計)\]**​ で、​**\[API Fragment (API フラグメント)\]**​ タブをクリックします。 !["\[Design an API (API の設計)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-fragment.png) ページの \[API Fragment (API フラグメント)\] タブ"\] 必ず ​**\[API Fragment (API フラグメント)\]**​ タブを選択してください。 4. **\[API Fragment (API フラグメント)\]**​ フォームに入力します。
項目名 項目値

Project Name (プロジェクト名)

フラグメントの一意の名前。

この名前は、Exchange のフラグメントタイトルおよびフラグメントファイルの名前として使用されます。 たとえば、プロジェクト名が​「Example OAS Fragment」​ (サンプル OAS フラグメント) の場合、仕様ファイル名は ​example-oas-fragment​ です。

既存のプロジェクト名を再利用するには、その名前をすでに使用しているプロジェクトを最初に削除する必要があります。API 仕様とフラグメントの削除を参照してください。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ。

別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。

API Specification Language (API 仕様言語)

この手順で​サンプル​を使用するには、​[OAS 3.0 (YAML)]​ を選択します。

<Language> Syntax (<Language> 構文)

選択した言語の構文。

この手順で​サンプル​を使用するには、​[YAML]​ を選択します。

5. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 確認を促されたら、フォルダー内のファイルの作成者を信頼します。 プロジェクトを編集する準備ができたら、API フラグメントプロジェクトがエクスプローラービューで開きます。 たとえば、この OAS 3.0 (YAML) API フラグメントは次のようになります。 !["\[Design an API (API の設計)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-fragment-new.png) ページの \[API Fragment (API フラグメント)\] タブ"\] 6. API フラグメントの設計を続けます。 要素を入力するときに、​[オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#use-autocomplete)​ (または Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。 OAS 3.0 (YAML) フラグメントプロジェクトを作成した場合は、最初の API フラグメントを​[サンプル](#example-oas-api-frag)​コードに置き換えて、仕様へのフラグメントの追加をテストできます。 7. [フラグメントを Exchange にパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange)​します。 ステータスバーに進行状況が表示されます。 完了すると、API フラグメントが Exchange に正常にパブリッシュされたことを示すメッセージが表示されます。 8. Anypoint Platform に移動し、ログイン情報を使用してログインします。 手順を表示 - US クラウド (非 EU ホスト): [Anypoint Platform (US)](https://anypoint.mulesoft.com/login/) - EU クラウド (EU ホスト): [Anypoint Platform (EU)](https://eu1.anypoint.mulesoft.com/login/) 9. Anypoint Exchange に移動します。 手順を表示 - US クラウド (非 EU ホスト): [Exchange (US)](https://anypoint.mulesoft.com/exchange/) - EU クラウド (EU ホスト): [Exchange (EU)](https://eu1.anypoint.mulesoft.com/exchange/) API 仕様は、組織内で API 仕様フラグメントタイプのアセットとして表示されます。次に例を示します。 ![Exchange の API 仕様フラグメント](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-exchange.png) API 仕様が API 仕様フラグメントではなく REST API として Exchange に表示される場合は、IDE のプロジェクトフォルダーにある ​`exchange.json`​ ファイルの ​`classifier`​ 属性が言語に応じて次のいずれかに設定されていることを確認します。 - OAS: `oas-components` - RAML: `raml-fragment` - JSON スキーマ: `json-schema` 属性が次のいずれかに設定されている場合、プロジェクトはフラグメントではなく API 仕様になります。 - OAS: `oas` - RAML: `raml` ## [](#add-fragment-to-project)フラグメントを Exchange からプロジェクトに追加する API 仕様フラグメントを Exchange からプロジェクトディレクトリに追加して、そのフラグメントを仕様に含めることができるようにする手順は、次のとおりです。 1. API 仕様プロジェクトファイル (​[`example-oas-spec`](#example-oas-api-spec)​ など) を開きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. `mulesoft`​ と入力し、次のコマンドを選択します。 ```command MuleSoft: Add Fragment dependency from Exchange ``` 4. Anypoint Platform にログインするように促されたら、ログインします。 5. **\[Search for Asset (アセットの検索)\]**​ 項目に、追加するデータ型アセットの名前を入力します。 アセットを検索するには、検索語を入力して Enter キーを押します。次に例を示します。 ![Exchange ドロップダウンからアセットのフラグメントを検索](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-add-frag-from-exchange.png) 6. **\[Assets From Exchange (Exchange からのアセット)\]**​ メニューからフラグメントを選択します。 7. フラグメントのバージョンを選択します。 ステータスバーに進行状況が表示されます。完了すると、選択した API フラグメントがプロジェクトに正常に追加されたことを示すメッセージが表示されます。 8. `exchange.json`​ ファイルの ​`dependencies`​ セクションをチェックして、フラグメントの連動関係が追加されたことを確認します。次に例を示します。 ![exchange.json ファイル内のフラグメントの連動関係を確認](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-verify-frag-from-exchange.png) また、エクスプローラービューの \[Project Dependencies (プロジェクトの連動関係)\] の下でフラグメントを確認することもできます。次に例を示します。 ![エクスプローラービューの API フラグメント](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-dependencies.png) フラグメントファイルは、システムのホームディレクトリの ​`.exchange_modules`​ ディレクトリにあります (例: `~/.exchange_modules`​ (Mac))。 ## [](#add-fragments-to-spec)API 仕様に API フラグメントを追加する 仕様に API 仕様フラグメントを追加する手順は、次のとおりです。 1. API 仕様プロジェクトファイル (​[`example-oas-spec`](#example-oas-api-spec)​ など) を開きます。 2. フラグメントを追加する場所にカーソルを置きます。 3. API 仕様言語に応じて、ディレクティブを選択してフラグメントを仕様に追加します。 - OAS および AsyncAPI 仕様: `$ref`​ ディレクティブを使用します。 - RAML 仕様: `!include`​ ディレクティブを使用します。 - OAS の例 - RAML の例 - AsyncAPI の例 この ​`$ref`​ ディレクティブは、​`example-oas-fragment`​ の ​`AmericanFlightDataType`​ をデータ型として追加します。 ```YAML schema: $ref: exchange_modules/e91cab06-650b-4634-9c6f-5bc4f4fc4d17/example-oas-fragment/1.0.0/example-oas-fragment.yaml#/components/schemas/AmericanFlightDataType ``` この ​`!include`​ ディレクティブは、​`AmericanFlightDataType.raml`​ の ​`AmericanFlight`​ オブジェクトをデータ型として追加します。 ```RAML types: AmericanFlight: !include exchange_modules/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flight-data-type/1.0.1/AmericanFlightDataType.raml ``` この ​`$ref`​ ディレクティブは、​`example-asyncapi-fragment`​ の ​`AmericanFlightDataType`​ をデータ型として追加します。 ```YAML payload: $ref: exchange_modules/e91cab06-650b-4634-9c6f-5bc4f4fc4d17/example-asyncapi-fragment/1.0.0/example-asyncapi-fragment.json#/components/schemas/AmericanFlightDataType ``` 4. [オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#use-autocomplete)​ (または Ctrl+Space) を使用して、各コンテキスト内で使用可能なオプションを表示します。次に例を示します。 ![API 仕様にフラグメントを追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-add-frag-to-spec.png) 5. フラグメントファイルで定義されたコンポーネント内の要素を参照する手順は、次のとおりです。 1. フラグメントファイル名を選択します。 2. 「​`#/`​」と入力します。 3. Ctrl+Space を押します。 4. オプションから要素を選択します。次に例を示します。 ![フラグメント内の要素を参照](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-ref-element.png) フラグメントを仕様に追加すると、次の操作を実行できます。 - 連動関係に移動する。 フラグメント参照にカーソルを置き、Command キーを押しながらクリックします。 次に例を示します。 ![フラグメント連動関係に移動](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-goto-dependencies.png) - API Console で連動関係を表示する。 フラグメント参照にカーソルを置き、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-api-console.png)​ (​**API Console**​) アイコンをクリックして、コンソールでフラグメントを開きます。 詳細は、​[「API Console で仕様を確認」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs#review-spec-console)​を参照してください。 ## [](#create-add-fragment-directly)仕様内にフラグメントを直接作成して追加する プロジェクト内にフラグメントを作成して仕様に含める手順は、次のとおりです。 1. API 仕様プロジェクトファイル (​[`example-oas-spec`](#example-oas-api-spec)​ など) を開きます。 2. エクスプローラービューで、空のスペースを右クリックし、​`fragments`​ などのフラグメント用のフォルダーを作成します。 3. `fragments`​ フォルダーで、​`my-fragment`​ などの新しいファイルを作成し、フラグメントコードを追加します。 4. フラグメントを追加する場所にカーソルを置きます。 5. API 仕様言語に応じて、フォルダーからフラグメントを仕様に追加するディレクティブを選択します。 - OAS および AsyncAPI 仕様: `$ref`​ ディレクティブを使用します。 - RAML 仕様: `!include`​ ディレクティブを使用します。 - OAS の例 - RAML の例 - AsyncAPI の例 この ​`$ref`​ ディレクティブは、​`my-fragment.yaml`​ ファイルから ​`api_key`​ オブジェクトを追加します。 ```YAML api-key: $ref: fragments/my-fragment.yaml#/components/securitySchemes/api_key ``` この ​`!include`​ ディレクティブは、​`AmericanFlightsExample.raml`​ サンプルを追加します。 ```RAML examples: output: !include examples/AmericanFlightExample.raml ``` この ​`$ref`​ ディレクティブは、​`fragments/my-fragment`​ サンプルを追加します。 ```YAML payload: $ref: fragments/my-fragment ``` 6. [オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#use-autocomplete)​ (または Ctrl+Space) を使用して、各コンテキスト内で使用可能なオプションを表示します。次に例を示します。 ![フラグメントをフォルダーから API に追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-add-frag-from-folder-to-spec.png) 7. フラグメントファイルで定義されたコンポーネント内の要素を参照する手順は、次のとおりです。 1. フラグメントファイル名を選択します。 2. 「​`#/`​」と入力します。 3. Ctrl+Space を押します。 4. オプションから要素を選択します。次に例を示します。 ![フラグメント内の要素を参照](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-ref-element.png) フラグメントを仕様に追加すると、次の操作を実行できます。 - 連動関係に移動する。 フラグメント参照にカーソルを置き、Command キーを押しながらクリックします。 次に例を示します。 ![フラグメント連動関係に移動](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-frag-goto-dependencies.png) - API Console で連動関係を表示する。 フラグメント参照にカーソルを置き、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-api-console.png)​ (​**API Console**​) アイコンをクリックして、コンソールでフラグメントを開きます。 詳細は、​[「API Console で仕様を確認」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs#review-spec-console)​を参照してください。 ## [](#example-oas-api-frag)サンプル OAS 3.0 (YAML) API 仕様フラグメント OAS 3.0 (YAML) フラグメントプロジェクトを作成した場合は、最初の API フラグメントを次のサンプルコードに置き換えることができます。 サンプル OAS 3.0 (YAML) API 仕様フラグメント ```YAML openapi: "3.0.0" info: version: 1.0.0 title: ExampleComponents paths: {} components: schemas: AmericanFlightDataType: type: object description: American Flight Data Type properties: ID: type: number code: type: string price: type: number departureDate: type: string origin: type: string destination: type: string emptySeats: type: number plane: type: object properties: type: type: string totalSeats: type: number example: ID: 1 code: ER38sd price: 400 departureDate: 2017/07/26 origin: CLE destination: SFO emptySeats: 0 plane: type: Boeing 737 totalSeats: 150 ``` ## [](#example-oas-api-spec)サンプル OAS 3.0 (YAML) API 仕様 OAS 3.0 (YAML) API 仕様プロジェクトを作成した場合は、最初の API 仕様を次のサンプルコードに置き換えて、API 仕様フラグメントの追加をテストできます。 サンプル OAS 3.0 (YAML) API 仕様 ```YAML openapi: "3.0.0" info: version: 1.0.0 title: Example OAS Spec paths: /flights/{ID}: get: parameters: - name: ID required: true in: path schema: type: string responses: "200": description: "Flight with ID" content: application/json: schema: ``` ## [](#example-avro-api-frag)サンプル AsyncAPI 仕様 Avro スキーマフラグメント Avro スキーマフラグメントを作成した場合は、最初の API フラグメントを次のサンプルコードに置き換えることができます。 サンプル AsyncAPI 仕様 Avro スキーマフラグメント ```JSON { "name": "AmericanFlightDataType", "type": "record", "fields": [ {"name": "ID", "type": "int", "example": 1}, {"name": "code", "type": "string", "example": "ER38sd"}, {"name": "price", "type": "int", "example": 400}, {"name": "departureDate", "type": "string", "example": "2017/07/26"}, {"name": "origin", "type": "string", "example": "CLE"}, {"name": "destination", "type": "string", "example": "SFO"}, {"name": "emptySeats", "type": "int", "example": 0}, { "name": "plane", "type": { "name": "Plane", "type": "record", "fields": [ {"name": "type", "type": "string"}, {"name": "totalSeats", "type": "int"} ] } } ] } ``` ## [](#example-asyncapi-spec)サンプル AsyncAPI 仕様 AsyncAPI 仕様プロジェクトを作成した場合は、最初の API 仕様を次のサンプルコードに置き換えて、API 仕様フラグメントの追加をテストできます。 サンプル AsyncAPI 仕様 ```YAML asyncapi: 2.6.0 info: title: Example AsyncAPI Spec version: '1.0.0' channels: myChannel: publish: message: schemaFormat: application/vnd.apache.avro;version=1.9.0 payload: $ref: exchange_modules/e91cab06-650b-4634-9c6f-5bc4f4fc4d17/example-asyncapi-fragment/1.0.0/example-asyncapi-fragment.json ``` ## [](#example-asyncapi-spec-inline-avro)サンプル AsyncAPI 仕様 (インライン Avro) AsyncAPI 仕様プロジェクトを作成した場合は、最初の API 仕様を次のサンプルコードに置き換えて、API 仕様フラグメントのインラインをテストできます。 サンプル AsyncAPI 仕様 (インライン Avro) ```YAML asyncapi: 2.6.0 info: title: Example AsyncAPI Spec (Inline Avro) version: '1.0.0' channels: myChannel: publish: message: schemaFormat: 'application/vnd.apache.avro;version=1.9.0' payload: name: AmericanFlightDataType type: record fields: - name: ID type: int example: 1 - name: code type: string example: ER38sd - name: price type: int example: 400 - name: departureDate type: string example: 2017/07/26 - name: origin type: string example: CLE - name: destination type: string example: SFO - name: emptySeats type: int example: 0 - name: plane type: name: Plane type: record fields: - name: type type: string - name: totalSeats type: int ``` ## [](#関連情報)関連情報 - [Exchange への API プロジェクトのパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange) - [API 仕様へのサンプルの追加](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-add-request-response-details)チュートリアル - [API 仕様とフラグメントの削除](https://docs.mulesoft.com/jp/anypoint-code-builder/des-delete-api-projects) # API 仕様へのサンプルの追加 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Exchange からの取得した、データ型と例の API フラグメントを American Flights API 仕様に追加します。その後、仕様の独自の例を作成し、応答のカスタムメッセージを追加します。 ## [](#始める前に)始める前に [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api)のすべての手順を完了します。 ## [](#exchange-からのフラグメントをプロジェクトに追加する)Exchange からのフラグメントをプロジェクトに追加する フラグメントをプロジェクトディレクトリに追加して、フラグメントを仕様に含めることができるようにします。 - フライトの定義に対応するオブジェクトの ​**Training: American Flight Data Type (トレーニング: American Flight データ型)**​ フラグメント - API から返されるデータの ​**Training: American Flights Example (トレーニング: American Flights の例)**​ フラグメント フラグメントを追加する手順は、次のとおりです。 1. Anypoint Code Builder で American Flights API 仕様 (​`american-flights-api.raml`​) を開きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command MuleSoft: Add fragment dependency from Exchange ``` 4. プロンプトが表示されたら、Anypoint Platform にログインして、アセットをダウンロードできるようにします。 5. **\[Search for Asset (アセットを検索)\]**​ 項目で、追加するデータ型アセットの名前を指定します。 ```command Training: American Flight Data Type ``` 6. **\[Assets From Exchange (Exchange のアセット)\]**​ メニューからアセットを選択します。 7. アセットの最新バージョン (​**v1.0.1**​ など) を選択します。 IDE でフラグメントが連動関係として追加されます。プロセスが完了したら、\[Explorer\] の ​**\[Project Dependencies (プロジェクト連動関係)\]**​ 領域で ​`AmericanFlightDataType.raml`​ アセットを確認します。次に例を示します。 !["\[Project Dependencies (プロジェクト連動関係)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/tut-design-frag-in-proj-dependencies.png) での Exchange からのフラグメント"\] 連動関係は、\[Explorer\] のプロジェクトディレクトリにある、プロジェクトの ​`exchange.json`​ ファイルにもリストされています。 8. コマンドパレットから別のフラグメントを追加します。 ```command MuleSoft: Add fragment dependency from Exchange ``` 9. 追加するアセットの名前を指定します。 ```command Training: American Flights Example ``` 10. **\[American Flights Example (American Flights の例)\]**​ アセットの最新バージョンを選択します。 IDE でフラグメントが連動関係として ​**\[Project Dependencies (プロジェクト連動関係)\]**​ および ​`exchange.json`​ に追加されます。 11. [仕様にフラグメントを挿入する](#include-fragments)​に進みます。 ## [](#include-fragments)仕様にフラグメントを挿入する `!include`​ ディレクティブを使用してフラグメントを仕様に追加します。 - `AmericanFlight`​ データ型は ​`AmericanFlightDataType.raml`​ で定義します。 - `AmericanFlightsExample.raml`​ の例は、​`get`​ 要求に対する ​`200`​ 応答の例です。 フラグメントを含める手順は、次のとおりです。 1. \[Explorer\] のプロジェクトディレクトリから ​**american-flight-api.raml**​ を開きます。 2. 既存のコンテンツを次のコードで置き換えます。 ```RAML #%RAML 1.0 title: American Flights API types: (1) AmericanFlight: !include exchange_modules/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flight-data-type/1.0.1/AmericanFlightDataType.raml /flights: get: queryParameters: destination: required: false enum: - SFO - LAX - CLE responses: 200: body: application/json: (2) type: AmericanFlight[] examples: (3) output: !include exchange_modules/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flights-example/1.0.1/AmericanFlightsExample.raml post: /{ID}: get: ```
1 !include​ を使用して、​AmericanFlightDataType.raml​ から ​AmericanFlight​ オブジェクトをデータ型として追加します

組み込み関数を使用して、​!include​ ディレクティブと仕様ファイルからのファイルパスを挿入することもできます。次に例を示します。

  1. 「AmericanFlight: 」​ (末尾のスペースを含む) と入力したら、Ctrl+Spacebar をクリックし、​「!include」​の入力を開始して、RAML ファイルのドロップダウンメニューから ​[!include]​ を選択します。次に例を示します。

    RAML ドロップダウンメニューの Include ディレクティブ
  2. 同じプロセスに従って例を追加します。​exchange_modules​ ディレクトリを選択し、ステップごとに ​AmericanFlightsDataType.raml​ まで進みます。次に例を示します。

    RAML ドロップダウンメニューに含まれるパス
2 JSON (​application/json​) へのレスポンスボディの形式を設定し、応答の種別を ​AmericanFlight​ オブジェクトの配列 (​AmericanFlight[]​) として設定します
3 AmericanFlightsExample.raml​ の例を追加します
3. [フライト ID による Get 要求の例を作成して含める](#post-response-example)​に進みます。 ## [](#post-response-example)フライト ID による Get 要求の例を作成して含める post 応答の例を作成して仕様に含めます。 1. \[Explorer\] で空の領域を右クリックして、​`examples`​ という名前のフォルダーを作成します。 ![コンテキストメニュー内で強調表示されている \[New Folder (新規フォルダー)\] オプション](_images/add-new-folder.png) 2. `examples`​ フォルダーを右クリックして、​`AmericanFlightExample.raml`​ という名前の新しいファイルを作成します。 ![強調表示された AmericanFlightExample.raml ファイル](/mulesoft/current/ja-jp/anypoint-code-builder/_images/create-american-fligh-example-file.png) 3. 開いているファイルで次の例を追加します。 ```raml #%RAML 1.0 NamedExample value: ID: 1 code: ER38sd price: 400 departureDate: 2017/07/26 origin: CLE destination: SFO emptySeats: 0 plane: type: Boeing 737 totalSeats: 150 ``` 4. `american-flights-api.raml`​ ファイルに戻り、応答の ​`/{ID}/get`​ の下に一連の要素を作成します。 ```raml #%RAML 1.0 title: American Flights API types: AmericanFlight: !include exchange_modules/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flight-data-type/1.0.1/AmericanFlightDataType.raml /flights: get: queryParameters: destination: required: false enum: - SFO - LAX - CLE responses: 200: body: application/json: type: AmericanFlight[] post: /{ID}: get: responses: (1) 200: body: (2) application/json: type: AmericanFlight examples: (3) output: !include examples/AmericanFlightExample.raml ```
1200​ コードの応答を追加します
2get​ リクエストボディの JSON 形式と種別 (​AmericanFlight​) を指定します
3/examples​ ディレクトリからの例をリクエストボディのコンテンツとして追加します
5. [Post メソッドの例を作成する](#post-example)​に進みます。 ## [](#post-example)Post メソッドの例を作成する `post`​ 要求の例を定義します。 1. `/flights:post`​ メソッドへの要求では ​`AmericanFlight`​ 種別のオブジェクトが必要であることを指定します。 ```raml #%RAML 1.0 title: American Flights API types: AmericanFlight: !include exchange_modules/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flight-data-type/1.0.1/AmericanFlightDataType.raml /flights: get: queryParameters: destination: required: false enum: - SFO - LAX - CLE responses: 200: body: application/json: type: AmericanFlight[] post: body: (1) application/json: type: AmericanFlight (2) /{ID}: get: responses: 200: body: application/json: type: AmericanFlight examples: output: !include examples/AmericanFlightExample.raml ```
1post​ メソッドの JSON 形式のボディを指定します
2AmericanFlight​ を ​post​ メソッドの種別として設定します
2. `/examples`​ フォルダーの下に ​`AmericanFlightNoIDExample.raml`​ という名前のファイルを作成し、そのファイルに次の例をコピーします。 ```raml #%RAML 1.0 NamedExample value: code: ER38sd price: 400 departureDate: 2017/07/26 origin: CLE destination: SFO emptySeats: 0 plane: type: Boeing 737 totalSeats: 150 ``` 新しいフライトレコードをシミュレートするために、この例では ​`ID`​ パラメーターを提供していません。 3. `american-flights-api.raml`​ ファイルで、この例を ​`post`​ メソッドへの応答として追加し、カスタムメッセージを含めます。 5 の ​`!include`​ ディレクティブに注意してください。 ```RAML #%RAML 1.0 title: American Flights API types: AmericanFlight: !include exchange_modules/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flight-data-type/1.0.1/AmericanFlightDataType.raml /flights: get: queryParameters: (1) destination: required: false enum: - SFO - LAX - CLE responses: (2) 200: body: application/json: type: AmericanFlight[] examples: output: !include exchange_modules/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flights-example/1.0.1/AmericanFlightsExample.raml post: body: application/json: type: AmericanFlight examples: (3) input: !include examples/AmericanFlightNoIDExample.raml responses: 201: body: application/json: (4) example: message: Flight added (but not really) /{ID}: get: responses: 200: body: application/json: (5) type: AmericanFlight examples: output: !include examples/AmericanFlightExample.raml ```
1目的地を選択します。
2この目的地の ​AmericanFlight​ オブジェクトの配列を返します。
3examples/AmericanFlightNoIDExample.raml​ から ​AmericanFlight​ オブジェクトを投稿します。
4post​ メソッドへの JSON 形式の応答でカスタムメッセージを指定します
5examples/AmericanFlightExample.raml​ からの例をネストされた ​get​ 要求への応答として追加します
4. [test-api-specification.adoc](#test-api-specification.adoc)に進み、API エンドポイントをテストします。 # Async () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE コンポーネントをスコープ内でグループ化し、非同期方式でメインフローと同時に実行します。 アプリケーションのメインフローは、Async スコープの開始後や処理後に実行され続けます。非同期フローに埋め込まれた最後のメッセージプロセッサーがタスクを完了するまで、フローは一時停止する必要はありません。Async は、応答を開始フローに返信する必要がない、時間のかかる操作 (ファイルの印刷やメールサーバーへの接続など) を実行する場合に役立ちます。 同時分岐処理を容易にするため、Async スコープは受信したメッセージの 1 つのコピーを独自の処理ブロック内にある最初の埋め込みメッセージプロセッサーに送信します。同時に、メインフロー内の次のメッセージプロセッサーにメッセージの別のコピーを送信します。 Async スコープは「ファイヤアンドフォゲット」方式で実行されるため、スコープ内の処理の結果はメインフローでは使用できません。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Async (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Async (非同期)​ (デフォルト)

doc:name

設定 XML ファイルにのみ表示される編集可能な名前。

[Name (名前)]​ または ​[Display Name (表示名)]

name

キャンバスに表示されるコンポーネントの編集可能な名前。

Max concurrency (最大同時実行)

maxConcurrency

スコープが処理できる同時メッセージの最大数を設定します。デフォルトでは、メッセージの処理時にパフォーマンスを最適化するために使用される最大スレッド数は、コンテナスレッドプールによって異なります。スコープが最大数の同時メッセージを処理している間は追加要求を受信できません。

スコープが要求を 1 つずつ処理するようにするには、​maxConcurrency​ を ​1​ に設定します。

最大同時実行値に達した後の Mule の動作についての詳細は、「​バックプレッシャーの管理​」を参照してください。

## [](#async-スコープとサブフローの比較)Async スコープとサブフローの比較 Async スコープは、次の点でサブフローと異なります。 - メインフローの例外戦略を継承しない。 Async スコープでエラーを処理するには、Try スコープを使用する。 - メッセージを非同期的に処理する。 - データをメインフローに渡さない。 - メインフロースレッドの範囲内に存在する。 - Flow Reference コンポーネントからはコールされない。 - 再利用できない。 Async スコープが Mule メッセージのコピーを受信しても、ペイロードはコピーされません。同じペイロードオブジェクトが両方の Mule メッセージによって参照されます。そのメッセージの 1 つは元のフローに沿って進み続け、もう 1 つは Async スコープによって処理されます。 メッセージのペイロードが可変オブジェクト (異なる項目が含まれる Bean など) であり、Async スコープ内のメッセージプロセッサーがいずれかの項目の値を変更した場合、Async スコープ外部のメッセージプロセッサーが変更された値を参照できます。 ## [](#async-スコープの設定例)Async スコープの設定例 次の XML フラグメントは、アプリケーションフローでの Async スコープの設定例を示しています。Async スコープにある ​`file:read`​ 操作は、トリガーされると非同期に実行され、アプリケーションはフローの次の操作である ​`http:request`​ の処理に移ります。 ```xml ... ``` ## [](#see-also)関連情報 - [トランザクションによるスコープとルーターへの影響](https://docs.mulesoft.com/mule-runtime/latest/transaction-management#tx_scopes_routers) - [back-pressure と maxConcurrency](https://docs.mulesoft.com/mule-runtime/latest/tuning-backpressure-maxconcurrency) # AsyncAPI 仕様の作成およびインポート **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Exchange にパブリッシュする前に Anypoint Code Builder を使用して AsyncAPI 仕様の設計、インポート、管理、テストを行います。 1. IDE から Anypoint Code Builder で AsyncAPI 仕様プロジェクトを作成および設計するか、MuleSoft VCS から仕様をインポートして AsyncAPI 仕様プロジェクトを作成します。 - [IDE から AsyncAPI 仕様プロジェクトを作成および設計する](#design-new-api-spec) - [MuleSoft VCS から AsyncAPI 仕様をインポートする](#import-spec) 2. [出力パネルで進行状況を追跡します](#open-output-panel)​。 3. [API Console で仕様を確認します](#review-spec-console)​。 Anypoint Code Builder の機能を調べるには、​[`asyncapi-example`](#example-asyncapi-api-spec)​ API 仕様を使用してください。 ## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - AsyncAPI 仕様の設計の基礎を理解します。 - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)​に精通します。 API 仕様を Anypoint Code Builder から Exchange にパブリッシュすると、IDE でビジネスグループの名前が要求されます。[ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)を参照してください。 ## [](#design-new-api-spec)新しい AsyncAPI 仕様プロジェクトを作成および設計する Anypoint Code Builder で AsyncAPI 仕様プロジェクトを作成および設計する手順は、次のとおりです。 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 ![アクティビティバー内で強調表示されている「Anypoint Code Builder」アイコン](/mulesoft/current/ja-jp/anypoint-code-builder/_images/anypoint-code-builder-view.png) 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Design an API (API を設計)\]**​ をクリックします。 ![\*\[Quick Actions (クイックアクション)\]\* セクション内の強調表示された \*\[Design an API (API を設計)\]\* リンク](_images/design-api-1.png) 3. **\[API Specification (API 仕様)\]**​ フォームに入力します。
項目名 項目値

Project Name (プロジェクト名)

プロジェクトの一意の名前。

この名前は Exchange での AsyncAPI 仕様のタイトル、仕様ファイルの名前、プロジェクトのルートディレクトリの名前として使用されます。 たとえば、プロジェクト名が​「AsyncAPI Example」​ (AsyncAPI 例) の場合、仕様ファイル名は ​asyncapi-example​ になります。

既存のプロジェクト名を再利用するには、その名前をすでに使用しているプロジェクトを最初に削除する必要があります。API 仕様とフラグメントの削除を参照してください。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ。

別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。

API Type (API 種別)

作成する API 仕様のエンティティの種別。

使用可能なオプションは、​[REST API]​ と ​[AsyncAPI]​ です。

この手順で​サンプル​を使用するには、​[AsyncAPI]​ を選択します。

API Specification Language (API 仕様言語)

「サポートされる AsyncAPI バージョン」​を参照してください。

この手順で​サンプル​を使用するには、​[AsyncAPI 2.6 (YAML)]​ を選択します。

4. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 確認を促されたら、フォルダー内のファイルの作成者を信頼します。 プロジェクトの編集準備が整ったら、API プロジェクトのエディタービューで次の AsyncAPI 2.6 (YAML) 仕様のような仕様が開きます。 ![新しい AsyncAPI 2.6 (YAML) API プロジェクト](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-asyncapi-create.png) 5. 引き続き API 仕様を設計します。 要素を入力するときに、​[オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#auto-complete)​ (Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。 ## [](#import-spec)MuleSoft VCS から AsyncAPI 仕様をインポートする MuleSoft VCS から AsyncAPI 仕様をインポートし、デスクトップまたはクラウド IDE で Git または VS Code と互換性のある別のソース管理システムを使用して、プロジェクトの同期を維持します。詳細は、​[API 設計プロジェクトのソース制御](https://docs.mulesoft.com/jp/anypoint-code-builder/des-designing-api-specs#anypoint-scm)​を参照してください。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command MuleSoft: Import API Specification from MuleSoft VCS ``` 3. Anypoint Platform にログインするように促されたら、IDE からログインします。 4. インポートプロセスを完了します。 1. **\[Select a Business Group (ビジネスグループを選択)\]**​ ポップアップからビジネスグループを選択します。 2. **\[APIs from MuleSoft VCS (MuleSoft VCS から API)\]**​ 項目で API 仕様を検索します。 3. 仕様のフォルダーに移動するか、そのフォルダーを作成して、​**\[Select target folder (対象フォルダーを選択)\]**​ をクリックします。 インポートが失敗したといったエラー (​**「Importing project _a\_project\_name_ has failed (プロジェクト _a\_project\_name_ のインポートに失敗しました)」**​) を受け取ったら、同じ名前のプロジェクトの対象フォルダーを確認します。インポートする前に重複する名前の問題に対処するには、設計プロジェクトを別の対象フォルダーにインポートするか、プロジェクトを IDE から削除することができます ([API 仕様とフラグメントの削除](https://docs.mulesoft.com/jp/anypoint-code-builder/des-delete-api-projects)を参照)。 5. 必要に応じて、仕様を編集するか、引き続き仕様を設計します。 要素を入力するときに、​[オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#auto-complete)​ (Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。 6. 必要に応じて、MuleSoft VCS を使用して変更内容を同期します。 この機能は、MuleSoft VCS からインポートした API プロジェクトでのみ使用できます。作業内容を別の SCM に保存することもできます。SCM オプションについては、[ソースファイルの制御](https://docs.mulesoft.com/jp/anypoint-code-builder/start-scm)を参照してください。 ## [](#open-output-panel)出力パネルで進行状況を追跡する API を設計しているときに内部処理の進行状況を追跡する手順は、次のとおりです。 1. 出力パネルを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+u - Windows: Ctrl+Shift+u - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 2. ドロップダウンから ​**\[Mule DX Server (Mule DX サーバー)\]**​ を選択します: ![出力ペイン内の \[Mule DX Server (Mule DX サーバー)\]](_images/des-output-panel.png) ## [](#review-spec-console)API Console で仕様を確認する コンソールに仕様を表示する手順は、次のとおりです。 1. エディターで仕様ファイルをクリックします。 2. ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-api-console.png)​ (​**API Console**​) アイコンをクリックします。 または、​[コマンドパレット](https://docs.mulesoft.com/jp/anypoint-code-builder/start-use-command-palette)​でコマンド ​`MuleSoft: API Console`​ を入力することができます。 3. API Console にチャネルが表示されるまで待機します。 API Console に仕様のチャネルが表示されます。次に例を示します。 ![API Console 内の AsyncAPI 仕様](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-asyncapi-api-console.png)
1チャネルをクリックして詳細を表示します。
2コンソールメニューを表示します。
4. コンソールでチャネルをクリックするか、メニューから項目を選択して、仕様のさまざまな部分を表示します。 たとえば、​**\[PUBLISH\]**​ をクリックすると、次のように表示されます。 ![PUBLISH の詳細を含む API Console](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-asyncapi-api-console-detail.png) ## [](#example-asyncapi-api-spec)AsyncAPI (YAML) API 仕様の例 AsyncAPI 2.6 (YAML) プロジェクトを作成したら、初期仕様を次のコード例で置き換えることができます。 AsyncAPI 2.6 (YAML) 仕様の例 ```YAML asyncapi: '2.6.0' (1) info: title: Orders AsyncAPI version: '1.0.0' description: Orders API license: name: Anypoint MQ url: https://license.com contact: name: Max Muley email: max@salesforce.com url: http://salesforce.com defaultContentType: application/json tags: - name: Orders API description: API for orders servers: (2) AMQ-prod: url: https:://your_MQ_server_URL_here protocol: anypointmq protocolVersion: v1 description: Anypoint MQ broker kafka-prod: url: your_kafka_URL_here protocol: kafka description: kafka broker sfpubsub-prod: protocol: salesforcepubsub protocolVersion: v1 url: api.pubsub.salesforce.com description: Salesforce pub sub for Platform events production solace-server: protocol: solace variables: port: enum: - '1000' bindings: solace: msgVpn: your_solace_vpn_here bindingVersion: 0.4.0 protocolVersion: 1.0.0 url: mySolaceURL channels: (3) order-placed: description: new orders channel servers: - AMQ-prod publish: operationId: listen-order-placed description: listen for new order events summary: Order Placed Event message: $ref: '#/components/messages/OrderPlaced' subscribe: operationId: publish-order-placed description: publish new order events summary: Order Placed Event message: $ref: '#/components/messages/OrderPlaced' order-updated: description: updated orders channel servers: - solace-server publish: operationId: listen-order-updated description: listen for updated order events summary: Order updated Event bindings: solace: bindingVersion: 0.3.0 destinations: - destinationType: queue queue: name: listen-order-updated topicSubscriptions: - acmeretail/onlineservices/order/updated/v1/*/* - acmeretail/onlineservices/order/updated/v2/*/* message: $ref: '#/components/messages/OrderUpdated' subscribe: operationId: publish-order-updated description: publish updated order events summary: Order updated Event bindings: solace: bindingVersion: 0.3.0 destinations: - destinationType: queue queue: name: C360.CUSTOMERS topicSubscriptions: - acmeretail/onlineservices/order/updated/v1/*/* - acmeretail/onlineservices/order/updated/v2/*/* message: $ref: '#/components/messages/OrderUpdated' order-cancelled: description: orders cancelled channel servers: - AMQ-prod publish: operationId: listen-order-cancellations description: listen for order cancellation events summary: Order Cancelled Event message: $ref: '#/components/messages/OrderCancelled' subscribe: operationId: publish-order-cancellations description: publish order cancellation events summary: Order Cancelled Event message: $ref: '#/components/messages/OrderCancelled' order-confirmed: description: orders confirmed channel servers: - sfpubsub-prod publish: operationId: listen-order-confirmations description: listen for order confirmation events summary: Order Confirmed Event message: $ref: '#/components/messages/OrderConfirmedSub' subscribe: operationId: publish-order-confirmations description: publish order confirmation events summary: Order Confirmed Event message: $ref: '#/components/messages/OrderConfirmedPub' order-backordered: servers: - kafka-prod description: orders backordered channel publish: operationId: listen-order-backordered description: listen for backorder events summary: Backorder Event message: $ref: '#/components/messages/BackOrder' subscribe: operationId: publish-order-backordered description: publish backorder events summary: Backorder Event message: $ref: '#/components/messages/BackOrder' components: (4) messages: OrderPlaced: payload: type: object properties: orderId: type: string customerName: type: string email: type: string items: type: array items: type: object properties: productId: type: string productName: type: string quantity: type: integer price: type: number required: [productId, productName, quantity, price] additionalProperties: false required: [orderId, customerName, email, items] additionalProperties: false OrderConfirmedPub: summary: order message pub contentType: application/json payload: type: array orderconfirmation: type: object properties: orderId__c: type: string email__c: type: string required: [orderId, email] additionalProperties: false OrderConfirmedSub: summary: order message sub contentType: application/json payload: type: object properties: event: type: object properties: orderId__c: type: string email__c: type: string required: [orderId, email] additionalProperties: false OrderCancelled: payload: type: object properties: orderId: type: string email: type: string reason: type: string required: [orderId, email, reason] additionalProperties: false BackOrder: payload: type: object properties: orderId: type: string email: type: string required: [orderId, email] additionalProperties: false OrderUpdated: contentType: application/json description: Shows changes to customer information including name, address and loyalty status payload: "$ref": "#/components/schemas/Order_JSON" schemaFormat: application/vnd.aai.asyncapi+json;version=2.0.0 x-ep-application-domain-id: p4oo2ehrcpf x-ep-application-domain-name: OnlineServices x-ep-custom-attr-confidential: 'true' x-ep-event-id: 66gdcid5pht x-ep-event-name: Customer Created x-ep-event-state-id: '2' x-ep-event-state-name: RELEASED x-ep-event-version: 2.0.2 x-ep-event-version-displayname: '' x-ep-event-version-id: 29btjydowi0 x-ep-shared: 'true' schemas: Order_JSON: "$schema": http://json-schema.org/draft-07/schema# properties: customer_id: description: The unique identifier of the customer type: string insight_description: description: A brief description of the insight type: string insight_type: description: The type of insight (e.g., demographic, behavioral, transactional) type: string insight_value: description: The value or result of the insight type: string timestamp: description: The timestamp when the insight was generated format: date-time type: string required: - customer_id - insight_type - insight_description - insight_value - timestamp title: CustomerInsight type: object x-ep-application-domain-id: a3hbbd7unz2 x-ep-application-domain-name: Customer360 x-ep-schema-id: 6dqkacw0k70 x-ep-schema-name: Customer Insight x-ep-schema-state-id: '1' x-ep-schema-state-name: DRAFT x-ep-schema-version: 0.1.0 x-ep-schema-version-displayname: '' x-ep-schema-version-id: u15ylfss2qx x-ep-shared: 'false' ```
1 AsyncAPI

API モデルを AsyncAPI として識別し、API 仕様のタイトルとバージョンを指定します。

2 サーバー

AsyncAPI モジュールの操作を介してイベントをパブリッシュまたはサブスクライブするときに (間接的に) 使用するコネクタを決定するメッセージブローカーを定義します。

  • AMQ-prod​ では、Anypoint MQ ブローカーを設定します

  • Kafka-prod​ では、ローカルでホストされた Kafka ブローカーを設定します

  • sfpubsub-prod​ では、Salesforce Pub/Sub ブローカーを設定します

  • solace-server​ では Solace PubSub+ ブローカーを設定します

3 Channels (チャネル)

バインドを定義します。

  • order-placed​ では、新しい注文をパブリッシュおよびサブスクライブするための Anypoint MQ チャネルを設定します。

  • order-updated​ では、注文の更新をパブリッシュおよびサブスクライブするための Solace PubSub+ チャネルを設定します

  • order-cancelled​ では、キャンセル済み注文をパブリッシュおよびサブスクライブするための Anypoint MQ チャネルを設定します

  • order-confirmed​ では、注文確認イベントをパブリッシュおよびサブスクライブするための Salesforce Pub/Sub チャネルを設定します

  • order-backordered​ では、取り寄せ注文をパブリッシュおよびサブスクライブするための Kafka チャネルを設定します

4 コンポーネント

OrderPlaced​、​OrderConfirmedPub​、​OrderConfirmedSub​、​OrderCancelled​、​BackOrder​、​OrderUpdated​ を含むさまざまな注文種別のメッセージの構造を定義します

## [](#関連情報)関連情報 - [Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb) - [チュートリアル](https://docs.mulesoft.com/jp/anypoint-code-builder/tutorials) - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups) - [IntelliSense を使用してエディターでオートコンプリートを実行する](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#use-autocomplete) - [ガバナンスルールセットに対する API 仕様の検証](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api) - [API 仕様とフラグメントの削除](https://docs.mulesoft.com/jp/anypoint-code-builder/des-delete-api-projects) # AsyncAPI 仕様の実装 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder では、Mule Runtime バージョン 4.6 以降で実行されるプロジェクトでの AsyncAPI 2.6 および 2.0 仕様の実装がサポートされます。プロジェクトを作成して実装すると、Anypoint Code Builder は、Anypoint Exchange でホストされている AsyncAPI 仕様をインポートして、ビジネスニーズに応じてさらに開発可能な実装プロジェクトにスキャフォールディングします。 非同期 API はメッセージブローカーに依存して、異なるサービスまたはコンポーネント間で分離された方法でメッセージを送受信します。このサービスは、受信者または送信者の特定の詳細を知らなくてもメッセージを送受信できるため、非同期の通信が可能になります。受信者および送信者と通信するために、メッセージブローカーは特定のプロトコルを使用します。APIkit for AsyncAPI Module リファレンスの​[「サポートされるメッセージブローカー」](https://docs.mulesoft.com/jp/apikit/latest/apikit-asyncapi-module-reference#supported-message-brokers)​を参照してください。 ## [](#prereqs)始める前に - まだ Anypoint Code Builder へのアクセス権がない場合は、[Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)の手順を実行します。 - AsyncAPI 仕様のスキャフォールディングプロセスについての需要な情報は、​[スキャフォールディングの基礎](#scaffolding)​を参照してください。 - Anypoint Exchange でホストされているサポート対象 AsyncAPI 仕様へのアクセス権が必要です。 AsyncAPI 仕様が Exchange にパブリッシュされていない場合は、[AsyncAPI 仕様の作成およびインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-asyncapi-api-specs)を参照してください。 ## [](#scaffolding)スキャフォールディングの基礎 Anypoint Code Builder で AsyncAPI 仕様を実装する前にスキャフォールディングプロセスの概要を理解することが重要です。 AsyncAPI 仕様を Mule プロジェクト (実装またはインテグレーション) にスキャフォールディングすると、Anypoint Code Builder で次の操作が実行されます。 - AsyncAPI 仕様を調べる - 一度に 1 つの仕様を検討する - インポートされた仕様を既存の仕様の変更として扱い、再スキャフォールディングのために評価する - 仕様内の ​**publish**​ 操作ごとに個別のフローを使用して新しい Mule プロジェクトを作成する [例: スキャフォールディング済みフロー](#ex-flows-scaffolded)​を参照してください。 - AsyncAPI 仕様に ​**publish**​ 操作が含まれない場合は、Mule プロジェクトの名前を持つ空の XML ファイルを生成する - Mule プロジェクトの ​`src/main/resources`​ ディレクトリに設定プロパティファイル ​`dev-properties.properties`​ を生成する [例: 設定プロパティファイル](#ex-config-properties)​を参照してください。 - APIkit for AsyncAPI モジュール (AsyncAPI モジュール) をプロジェクトで使用できるようにする このモジュールでは次の操作が提供されます。 - **Subscribe**​ (​``​): 仕様内の AsyncAPI ​**subscribe**​ 操作は AsyncAPI ​**Publish**​ 操作として設定で使用できます。「例: スキャフォールディング済みフロー」の​[実装例](#ex-flows-implemented)​を参照してください。 - **Message Listener**​ (​``​): 仕様内の AsyncAPI ​**publish**​ 操作は設定可能な ​**Message Listener**​ 操作です。システムはメッセージをチャネルにパブリッシュし、Mule アプリケーションはこれらのメッセージをリスンします。​[例: スキャフォールディング済みフロー](#ex-flows-scaffolded)​の例を参照してください。 スキャフォルダーは、各 ​**publish**​ 操作を ​**Message Listener**​ 操作に変換し、Mule アプリケーションが指定されたチャネルから読み取り、パブリッシュされたメッセージを処理できるようにします。 - AsyncAPI モジュールの ​**Message Listener**​ および ​**Publish**​ 操作の接続設定と、そのモジュールの基盤となっているコネクタの接続設定が含まれる ​`global-configs.xml`​ ファイルを生成します。 [例: 接続設定](#ex-connection-configs-scaffolded)​を参照してください。 スキャフォールディングプロセス中、次の場合にエラーが発生する可能性があります。 - 仕様でチャネルが定義されていない - サポートされないメッセージブローカープロトコルの場合 _サポートされる_​プロトコルについては、APIkit for AsyncAPI Module リファレンスの​[「サポートされるメッセージブローカー」](https://docs.mulesoft.com/jp/apikit/latest/apikit-asyncapi-module-reference#supported-message-brokers)​を参照してください。 Anypoint Code Builder では、API 仕様から参照される場合、次のスキーマフラグメントファイルのスキャフォールディングがサポートされています。
Avro JSON RAML

AsyncAPI

はい

はい

いいえ

GraphQL

いいえ

いいえ

はい

OData

いいえ

いいえ

はい

REST

いいえ

いいえ

はい

SOAP

いいえ

いいえ

はい

サポートされていないフラグメントを追加した場合、スキャフォールダーは Exchange から仕様をインポートするときに、これらのフラグメントをプロジェクトの連動関係として追加しません。ただし、仕様内でインラインで指定されたスキーマをスキャフォールディングすることはできます。 ## [](#scaffold-procedures)Mule プロジェクトに AsyncAPI 仕様をスキャフォールディングする 新しいまたは既存の Mule プロジェクトに AsyncAPI 仕様をスキャフォールディングすることができます。 - 新しい実装プロジェクトに AsyncAPI 仕様をスキャフォールディングするには、​[新しいプロジェクトへの AsyncAPI 仕様のスキャフォールディング](#scaffold-new)​の手順を実行します。 - 既存の Mule プロジェクト (実装またはインテグレーション) に AsyncAPI 仕様をスキャフォールディングまたは再スキャフォールディングするには、​[既存のプロジェクトに AsyncAPI 仕様をスキャフォールディングまたは再スキャフォールディングする](#scaffold-existing)​を参照してください。再スキャフォールディングは、仕様バージョンを更新して新しい操作やサーバーを導入する場合に役立つ可能性があります。仕様に新しいサーバーが含まれる場合、スキャフォルダーはその新しい設定を Mule プロジェクトに追加します。

再スキャフォールディングする場合、スキャフォルダーは仕様内のチャネル、サーバー、および ​publish​ 操作と ​subscribe​ 操作のグルーピングの新しい組み合わせに対してアクションを実行しますが、新しくない組み合わせを再スキャフォールディングすることはありません。

### [](#scaffold-new)新しいプロジェクトへの AsyncAPI 仕様のスキャフォールディング Anypoint Exchange でホストされている AsyncAPI 仕様から実装プロジェクトを作成します。プロジェクトを作成すると、Anypoint Code Builder は、仕様を、Mule アプリケーションとして実装できるインターフェースにスキャフォールディングします。 1. [始める前に](#prereqs)​の前提条件を満たします。 2. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 ![アクティビティバー内で強調表示されている \[Anypoint Code Builder\] アイコン](_images/anypoint-code-builder-view.png) 3. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Implement an API (API を実装)\]**​ をクリックします。 ![\*\[Getting Started (使用開始)\]\* セクション内の強調表示された \*\[Implement an API (API を実装)\]\*リンク](_images/implement-api-option-mat.png) 4. **\[Implement an API Specification (API 仕様を実装)\]**​ フォームに入力します。 ![実装プロジェクトの開始フォーム](/mulesoft/current/ja-jp/anypoint-code-builder/_images/implement-api-configure-in-task.png)
項目名 項目値

Project Name (プロジェクト名)

プロジェクトの一意の名前。

この名前はタイトルおよびプロジェクトファイルの名前として使用されます。 たとえば、プロジェクト名が​「My Project (私のプロジェクト)」​の場合、プロジェクトファイル名は ​my-project​ になります。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ。

別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。

Search an API Specification from Exchange (Exchange から API 仕様を検索)

Exchange の仕様の名前。​[Show filters (検索条件を表示)]​ をアクティブ化して、検索結果を絞り込みます。詳細は、検索結果の絞り込みを参照してください。

Mule Runtime

プロジェクトに使用する Mule Runtime バージョン。

Java Version (Java バージョン)

Mule に使用する Java バージョン。

サポートされている Mule Runtime と Java バージョンのいずれかを選択できます。IDE は、バージョン設定をプロジェクトの ​`mule-artifact.json`​ ファイルに保存します。 5. Exchange で API 仕様を検索します。 1. API 仕様の名前の入力を開始します。 2. Enter キーを押して、検索結果のリストを表示します。 3. **\[Add Asset (アセットを追加)\]**​ をクリックして、選択した API 仕様を追加します。 Exchange でサポートされるバージョンの AsyncAPI 仕様のみがスキャフォールディングに使用できます。サポートされないバージョンは検索結果に表示されません。 ![Exchange にある AsyncAPI 仕様アセットのリスト](/mulesoft/current/ja-jp/anypoint-code-builder/_images/implement-api-search-async.png) 6. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 プロジェクトを作成すると、Anypoint Code Builder で次の操作が実行されます。 - API 仕様を新しい Mule プロジェクトにスキャフォールディングします。この Mule プロジェクトが開き、スキャフォールディング済みフローを含む設定 XML ファイル (​`flows.xml`​) が表示されます。次に例を示します。 ![IDE 内の AsyncAPI 実装プロジェクト](/mulesoft/current/ja-jp/anypoint-code-builder/_images/imp-asyncapi-project-ex.png) 設定 XML ファイルには、実装プロジェクトのインターフェースが含まれ、フローには仕様内の各 ​`publish`​ 操作の Message Listener (​``​) 設定が含まれます。 - プロジェクトの ​`pom.xml`​ ファイルに API 仕様を連動関係として追加します。次に例を示します。 ```xml e21dd38b-8231-45bf-aaa7-abde2072d538 my-asyncapi-example 1.0.0 evented-api zip ``` - Mule と Java のバージョンをプロジェクトの ​`mule-artifact.json`​ ファイルに追加します。次に例を示します。 ```json { "minMuleVersion": "4.7.0", "javaSpecificationVersions": [ "17" ] } ``` 7. Mule アプリケーション内でこのインターフェースを実装するためのビジネスロジックを指定します。 ユースケースのニーズに応じて、コネクタ操作と処理コンポーネントを設定することでビジネスロジックを定義します。設定プロパティ値を ​`dev-properties.properties`​ ファイルに提供します。必要に応じて、処理要件の追加のフローまたはサブフローを作成および設定します。 コンポーネントの設定、デバッグ、アプリケーションの単体テストの実行、およびその他のタスクに関する指針については、​[インテグレーションの開発](https://docs.mulesoft.com/jp/anypoint-code-builder/int-developing-integrations). For information about connectors and processors for configuring your business logic, see [参照](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference)​を参照してください。 Mule アプリケーション内で一部の注文を処理するための AsyncAPI 仕様、スキャフォールディング済みインターフェース、ビジネスロジックの例については、​[例](#examples)​を参照してください。 ### [](#scaffold-existing)既存のプロジェクトに AsyncAPI 仕様をスキャフォールディングまたは再スキャフォールディングする AsyncAPI 仕様を Exchange から Anypoint Code Builder の既存のプロジェクトにスキャフォールディングまたは再スキャフォールディングします。再スキャフォールディングする前に、どの新しい設定がプロジェクトにスキャフォールディングされるかに関する​[重要なメモ](#important-rescaffold)​を確認してください。 1. [始める前に](#prereqs)​の前提条件を満たします。 IDE で AsyncAPI 機能を使用するには、Anypoint Platform 組織のシステム管理者による有効化が必要です。 2. Anypoint Code Builder でプロジェクトを開きます。 3. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 4. 次のコマンドを入力します。 ```command MuleSoft: Import Asset from Exchange ``` 5. アセットのリストから ​**\[AsyncAPI\]**​ を選択します。 6. Anypoint Platform にログインするように促されたら、ログインし、拡張機能で外部 Web サイトにサインインして開くことおよび Visual Studio Code を開くことを許可します。 7. 仕様の完全な名前または部分的に一致する名前を入力します。次に例を示します。 My AsyncAPI Spec 8. 名前に一致するアセットのリストが IDE に読み込まれるまで待機した後、対象の AsyncAPI 仕様を選択します。 Exchange でサポートされるバージョンの AsyncAPI 仕様のみがスキャフォールディングに使用できます。サポートされないバージョンは検索結果に表示されません。 9. バージョンを要求されたら、インポートする API のバージョン (​`_1.0.0_`​ または ​`_2.0.0_`​ など) を選択します。 10. API 連動関係をスキャフォールディングするように促されたら、​**\[Yes (はい)\]**​ を選択します。 スキャフォールディングプロセスが完了したら、IDE が開き、スキャフォールディング済みフローを含む設定 XML ファイル (​`flows.xml`​) が表示されます。仕様を再スキャフォールディングした場合は、どの新しい設定がプロジェクトにスキャフォールディングされるかについての​[重要なメモ](#important-rescaffold)​を確認してください。 11. Mule アプリケーション内でこのインターフェースを実装するためのビジネスロジックを指定します。 ユースケースのニーズに応じて、コネクタ操作と処理コンポーネントを設定することでビジネスロジックを定義します。設定プロパティ値を ​`dev-properties.properties`​ ファイルに提供します。必要に応じて、処理要件の追加のフローまたはサブフローを作成および設定します。 コンポーネントの設定、デバッグ、アプリケーションの単体テストの実行、およびその他のタスクに関する指針については、​[インテグレーションの開発](https://docs.mulesoft.com/jp/anypoint-code-builder/int-developing-integrations). For information about connectors and processors for configuring your business logic, see [参照](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference)​を参照してください。 Mule アプリケーション内で一部の注文を処理するための AsyncAPI 仕様、スキャフォールディング済みインターフェース、ビジネスロジックの例については、​[例](#examples)​を参照してください。 ## [](#実装のデプロイ)実装のデプロイ 実装を CloudHub および CloudHub 2.0 または別のホストにデプロイします。CloudHub または CloudHub 2.0 には ​[Anypoint Code Builder](https://docs.mulesoft.com/jp/anypoint-code-builder/int-deploy-mule-apps)​ からデプロイすることができます。他のデプロイメントオプションについては、[デプロイメントオプション](https://docs.mulesoft.com/jp/runtime-manager/deployment-strategies)を参照してください。 ## [](#examples)例 この例では、注文を処理し、注文状況の通知をメールと Slack で送信するための API 仕様と実装について説明します。 - [例: AsyncAPI 2.6 仕様](#ex-asyncapi-spec) AsyncAPI 仕様では、Anypoint MQ と Kafka プロトコルを使用する注文処理 API を定義します。 - [例: スキャフォールディング済みフロー](#ex-flows-scaffolded) スキャフォルダーは、AsyncAPI 仕様内の各 ​**publish**​ 操作のフローが含まれる ​`flow.xml`​ ファイルを生成します (再スキャフォールディングについては、​[Mule プロジェクトに AsyncAPI 仕様をスキャフォールディングする](#scaffold-procedures)​を参照)。この例では、生成されたフローについて説明し、注文処理ロジックをいくつかのフローに提供するコンポーネントを設定します。 - [例: 接続設定](#ex-connection-configs-scaffolded) スキャフォルダーは、フロー内の ​**Message Listener**​ および ​**Publish**​ 操作の接続設定と、Apache Kafka 用 Anypoint Connector (Apache Kafka Connector) や Anypoint MQ 用 Anypoint Connector (Anypoint MQ Connector) などのコネクタの接続設定を含む ​`global-configs.xml`​ ファイルを生成します。この例では、ファイルのコンテンツについて説明し、Email Connector および Slack Connector 操作の接続設定を追加します。 - [例: 設定プロパティファイル](#ex-config-properties) スキャフォルダーは Mule プロジェクトの ​`src/main/resources`​ ディレクトリに ​`dev-properties.properties`​ ファイルを生成します。この例では、生成されたファイルについて説明し、メール通知と Slack 通知で使用する設定プロパティをファイルに追加します。 - [例: 通知サブフロー](#ex-flows-notification) `notifications.xml`​ のサブフロー (​``​) では、​[メール用 Anypoint Connector (Email Connector)](https://docs.mulesoft.com/email-connector/latest/)​ と ​[Slack 用 Anypoint Connector (Slack Connector)](https://docs.mulesoft.com/jp/slack-connector/latest/)​ を使用して、メールと Slack で注文確認メッセージを送信するビジネスロジックを実装します。 ### [](#ex-asyncapi-spec)例: AsyncAPI 2.6 仕様 次の例では、Anypoint MQ と Kafka プロトコルを使用する API 仕様を定義します。この仕様では、Anypoint MQ を使用する注文 (新規、確認済み、およびキャンセル済み注文) 用の [チャネル](https://www.asyncapi.com/docs/concepts/channel)​と、取り寄せ注文 (在庫にない品目) 用に Kafka を使用するチャネルを定義します。各チャネルに ​**publish**​ および ​**subscribe**​ 操作が含まれます。仕様の [サーバー](https://www.asyncapi.com/docs/concepts/server)​設定では、AsyncAPI モジュールの操作を介してイベントをパブリッシュまたはサブスクライブするときに (​_間接的に_​) 使用するコネクタを決定するメッセージブローカーを定義します。 ```yaml asyncapi: '2.6.0' info: title: Async-AMQ-Kafka-Orders version: '1.0.0' description: Orders API license: name: Anypoint MQ url: https://license.com contact: name: Max Muley email: max@salesforce.com url: http://www.salesforce.com defaultContentType: application/json tags: - name: Orders API description: API for orders servers: AMQ-prod: (1) url: https:://your_MQ_server_URL_here protocol: anypointmq protocolVersion: v1 description: Anypoint MQ broker Kafka-prod: (2) url: localhost:9092 protocol: kafka description: kafka broker channels: order-placed: (3) description: new orders channel servers: - AMQ-prod publish: operationId: listen-order-placed description: listen for new order events summary: Order Placed Event message: $ref: '#/components/messages/OrderPlaced' subscribe: operationId: publish-order-placed description: publish new order events summary: Order Placed Event message: $ref: '#/components/messages/OrderPlaced' order-cancelled: description: orders cancelled channel servers: - AMQ-prod publish: operationId: listen-order-cancellations description: listen for order cancellation events summary: Order Cancelled Event message: $ref: '#/components/messages/OrderCancelled' subscribe: operationId: publish-order-cancellations description: publish order cancellation events summary: Order Cancelled Event message: $ref: '#/components/messages/OrderCancelled' order-confirmed: description: orders confirmed channel servers: - AMQ-prod publish: operationId: listen-order-confirmations description: listen for order confirmation events summary: Order Confirmed Event message: $ref: '#/components/messages/OrderConfirmed' subscribe: operationId: publish-order-confirmations description: publish order confirmation events summary: Order Confirmed Event message: $ref: '#/components/messages/OrderConfirmed' order-backordered: (4) servers: - Kafka-prod description: orders backordered channel publish: operationId: listen-order-backordered description: listen for backorder events summary: Backorder Event message: $ref: '#/components/messages/BackOrder' subscribe: operationId: publish-order-backordered description: publish backorder events summary: Backorder Event message: $ref: '#/components/messages/BackOrder' components: (5) messages: OrderPlaced: payload: type: object properties: orderId: type: string customerName: type: string email: type: string items: type: array items: type: object properties: productId: type: string productName: type: string quantity: type: integer price: type: number OrderConfirmed: payload: type: object properties: orderId: type: string email: type: string OrderCancelled: payload: type: object properties: orderId: type: string email: type: string reason: type: string BackOrder: payload: type: object properties: orderId: type: string email: type: string ```
1 AMQ-prod​ では、Anypoint MQ ブローカーを設定します。

MQ ブローカーの URL は、キューを作成するときに選択したリージョンで見つけることができます。​キューを作成する​の​コピー​ボタンと、クライアントアプリケーションの設定を参照してください。

2 Kafka-prod​ では、ローカルでホストされた Kafka ブローカーを設定します。
3 order-placed​ では、注文をパブリッシュ (リスン) およびサブスクライブ (パブリッシュ) するための Anypoint MQ チャネルを設定します。​order-cancelled​ チャネルと ​order-confirmed​ チャネルは同様に設定されます。
4 order-backordered​ では、取り寄せ注文をパブリッシュ (リスン) およびサブスクライブ (パブリッシュ) するための Kafka チャネルを設定します。
5 components​ では、​OrderPlaced​、​OrderCancelled​、​OrderConfirmed​、​BackOrder​ を含むさまざまな注文種別のメッセージの構造を定義します。
### [](#ex-flows-scaffolded)例: スキャフォールディング済みフロー 仕様を実装プロジェクトにスキャフォールディングすると、Anypoint Code Builder は各 ​**publish**​ 操作のフロー (​``​) を作成し、​**publish**​ 操作を APIkit の AsyncAPI モジュールの ​**Message Listener**​ ソース (​``​) に変換します。各フローには ​**Logger**​ コンポーネントも含まれます。このモジュールについての詳細は、[APIkit for AsyncAPI モジュールリファレンス](https://docs.mulesoft.com/jp/apikit/latest/apikit-asyncapi-module-reference)を参照してください。 スキャフォルダーは仕様から ​`flow.xml`​ ファイルを生成します。キャフォルダーは ​[AsyncAPI 仕様例](#ex-asyncapi-spec)​から次の XML を生成します。 ```xml (1) (2) ```
1<apikit-asyncapi:server value="AMQ-prod" />​ の ​AMQ-prod​ は Anypoint MQ サーバー接続を識別します。詳細は、​例: 接続設定​を参照してください。
2<apikit-asyncapi:server value="Kafka-prod" />​ の ​Kafka-prod​ は Kafka サーバー接続を識別します。詳細は、​例: 接続設定​を参照してください。
次の例では、ビジネスロジックをスキャフォールディング済みフローに追加します。 - `LISTEN:listen-order-placed`​ は注文をリスンします。トリガーされると、DataWeave 式を使用して十分な在庫があるかどうかを確認します。在庫に十分な品目が存在する場合、フローで注文データを ​`order-confirmed`​ チャネルにパブリッシュする ​**Publish**​ 操作が設定され、​`LISTEN:listen-order-confirmations`​ フローがトリガーされます。存在しない場合、フローで注文データを ​`order-backordered`​ チャネルにパブリッシュする ​**Publish**​ 操作が追加され、​`LISTEN:listen-order-backordered`​ フローがトリガーされます。 - `LISTEN:listen-order-confirmations`​ は注文確認をリスンします。トリガーされると、注文情報を ​`notification-flow`​ サブフローに送信し、このサブフローで Slack とメールを介して確認通知が送信されます (​[例: 通知サブフロー](#ex-flows-notification)​を参照)。 ```xml (1) (2) (3) (4) ```
1 注文によりフロー ​LISTEN:listen-order-placed​ 内の Message Listener がトリガーされると、HTTP 要求操作 (​<http:request/>​) で在庫データが要求されて対象変数 ​inventory​ に保存されます。
2 Choice コンポーネント (​<choice/>​) では、対象変数 (​vars.inventory.stockDetails.availableStock​) の ​availableStock​ 値を注文ペイロード (​payload.items.quantity[0]​) の ​quantity​ 値と照合します。​quantity​ 値は、フローをトリガーする ​OrderPlaced​ メッセージから取得されます。

十分な在庫がある場合、Set Payload コンポーネント (​<set-payload/>​) で確認メッセージを設定します。この確認メッセージは ​Publish​ 操作 (​<apikit-asyncapi:publish/>​) で ​order-confirmed​ チャネルに送信され、そのチャネルで ​LISTEN:listen-order-confirmations​ フローがトリガーされます。ない場合、フローでメッセージが ​order-backordered​ チャネルにパブリッシュされ、そのチャネルでフロー ​LISTEN:listen-order-backordered​ がトリガーされます。

3 フロー ​LISTEN:listen-order-confirmations​ の Message Listener は Anypoint MQ チャネル ​order-confirmed​ のアクティビティをリスンします。トリガーされると、フローでその ​<set-payload/>​ コンポーネントが設定されて注文確認メッセージが作成されます。Flow Reference (​<flow-ref/>​) でこのメッセージが ​notification-flow​ サブフローでの処理のために送信されます。
4 在庫が十分でない場合、​LISTEN:listen-order-placed​ によってフロー ​LISTEN:listen-order-backordered​ がトリガーされます。
### [](#ex-connection-configs-scaffolded)例: 接続設定 スキャフォールディングプロセスでは、仕様で定義されたサーバー接続設定用の ​`global-configs.xml`​ を生成します。 ``​ 内の AsyncAPI モジュールの接続設定は Kafka Cnnector および Anypoint MQ Cnnector の接続設定を参照します。スキャフォールディングプロセスでは、AsyncAPI 仕様内の [server](https://www.asyncapi.com/docs/concepts/server)​ および [channel](https://www.asyncapi.com/docs/concepts/channel)​ 設定に基づいてコネクタをプロジェクトに追加します。 - 指定されたチャネルとサーバーの組み合わせにパブリッシュする場合、フローの ​**Publish**​ 操作 (​``​) で接続設定が使用されます。フローで ​`Kafka-prod`​ または ​`AMQ-prod`​ サーバーの Kafka および Anypoint MQ チャネルにパブリッシュします。 - フローの ​**Message Listener**​ 操作 (​``​) は、サーバーの ​`value`​ 設定 (​`Kafka-prod`​ または ​`AMQ-prod`​) に基づいて指定されたチャネルをリスンするように自動的に設定されます。この値は、AsyncAPI 接続設定 (​``​) の ​`serverKey`​ 設定のいずれかに一致します。 ```xml ``` ビジネスロジックをスキャフォールディング済みプロジェクトに追加する場合、アプリケーション内のフローまたはサブフローに追加するコネクタ操作など、他の接続設定を ​`global-configs.xml`​ に追加できます。次の例では、​[HTTP](https://docs.mulesoft.com/http-connector/latest/http-connector-config-acb)​、​[Email](https://docs.mulesoft.com/email-connector/latest/)​、​[Slack](https://docs.mulesoft.com/jp/slack-connector/latest/)​ Connector 操作の接続設定を追加します。これらの設定プロパティ (​`${email.password}`​ など) は​[プロパティファイル](#ex-config-properties)​で定義できます。 ```xml (1) (2) (3) (4) ```
1HTTP 要求接続設定例
2HTTP リスナー接続設定例
3メール SMTP 接続設定例
4Slack 接続設定例
### [](#ex-config-properties)例: 設定プロパティファイル Anypoint Code Builder は実装プロジェクトの ​`src/main/resources`​ ディレクトリに ​`dev-properties.properties`​ ファイルを生成します。 [仕様例](#ex-asyncapi-spec)​では、Anypoint MQ ブローカーのサーバー設定を定義します。Anypoint MQ キューをリスンし、Anypoint MQ キューにメッセージをパブリッシュするには、​[MQ クライアントアプリケーション](https://docs.mulesoft.com/jp/mq/mq-client-apps)​の ​`clientAppId`​ と ​`clientSecret`​ を指定する必要があります。スキャフォールディングプロセス中に、関連付けられた ​`api-path`​ 設定が自動的に生成されます。 ```properties #Fri Jun 07 09:32:50 PDT 2024 anypointmq.server.AMQ-prod.clientAppId= anypointmq.server.AMQ-prod.clientSecret= api.path=resource\:\:e21dd38b-8231-45bf-aaa7-abde2072d538\:my-asyncapi-example\:1.0.0\:evented-api\:zip\:anypointmq-kafka-orders-demo-final.yaml ``` このファイルに他のプロパティを追加できます。​`email`​ と ​`slack`​ の例は、​[通知サブフロー](#ex-flows-notification)​の Email Connector および Slack Connector 操作用です。 ```properties #Fri Jun 07 17:05:33 PDT 2024 anypointmq.server.AMQ-prod.clientAppId=my_client_app_id_here anypointmq.server.AMQ-prod.clientSecret=my_client_app_secret_here slack.token=my_slack_token_here email.host=smtp.gmail.com email.username=me@gmail.com email.password=my_gmail_password_here api.path=resource\:\:8dbc2756-83d6-4a1c-91c4-6eafbe7d7ae0\:async-amq-kafka-orders\:1.0.2\:evented-api\:zip\:anypointmq-kafka-orders-demo-compliant.yaml ``` パスワードや他の機密データのセキュアプロパティを含む設定プロパティについての詳細は、[Mule アプリケーションのプロパティの定義および保護](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-secure-configs)を参照してください。 ### [](#ex-flows-notification)例: 通知サブフロー `notifications.xml`​ のサブフロー (​``​) では、メールおよび Slack で注文確認メッセージを送信するためのビジネスロジックを実装します。このファイルはスキャフォルダーでは生成されません。 `LISTEN:listen-order-confirmations`​ フローの Flow Reference コンポーネント (​``​) によってトリガーされた場合、通知サブフローで注文確認メッセージが送信されます。 **(1)** **(2)** **(3)**
1LISTEN:listen-order-confirmations​ フローから出力されたペイロードを、確認メッセージデータを取得する Mule 変数に変換します。
2Slack Connector から ​<slack:post-message/>​`* 操作を使用して Slack 確認メッセージを投稿します。
3Email Connector から ​<email:send/>​ 操作を使用して確認メッセージをメール送信します。
## [](#関連情報)関連情報 - [組み込みコネクタ](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-connectors) - [コアプロセッサー](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-components) - [DataWeave Overview](https://docs.mulesoft.com/dataweave/latest/) - [AsyncAPI JSON スキーマ検証](https://docs.mulesoft.com/jp/apikit/latest/apikit-asyncapi-module-reference#validation-of-messages) # Cache スコープ () 頻繁にコールされるデータを保存して再利用します。 Cache スコープを使用して、Mule インスタンスの処理負荷を減らし、フロー内のメッセージ処理速度を上げることができます。このコンポーネントは、次のタスクで特に効果的です。 - 同じ情報を繰り返し求める要求の処理。 - 大容量の反復可能なストリームに関連する情報を求める要求の処理。 Mule アプリケーションのメッセージプロセッサーが Cache スコープにメッセージを送信すると、親フローは出力を要求します。Cache スコープは、メッセージペイロードを処理して、出力を親フローに配信し、出力を保存 (応答をキャッシュ) します。Cache スコープは、次に同じ種類のメッセージペイロードを受信したときに、時間がかかる可能性のあるプロセスを再度呼び出す代わりにキャッシュされた応答を生成できます。 たとえば、Cache スコープを使用して、フライト情報を求める顧客の要求を管理できます。多くの顧客がサンフランシスコからブエノスアイレスへのフライトに関する同じ価格設定情報を要求する場合があります。多くの処理能力を使用して顧客のクエリごとに個別の要求を複数の航空データベースに送信する代わりに、Cache スコープを使用して、航空データベースへの定期的な要求をスケジュールし、キャッシュされた価格をユーザーに提供できます。データの適時性が重要でない場合、Cache スコープで時間と処理能力を節約できます。 任意の数のメッセージプロセッサー (コネクタやコンポーネントなど) を Cache スコープに配置し、スコープ内で発生した処理で生成される応答 (応答メッセージのペイロードが含まれる) を保存するようにキャッシュ戦略を設定できます。 キャッシュ戦略で設定されているオブジェクトストアはクラスター内のすべてのノードで共有されるため、Cache スコープはクラスター化された環境でも機能します。 ## [](#キャッシュプロセス)キャッシュプロセス Cache スコープは反復可能なストリームをキャッシュします。失われる前に 1 回だけ読み取ることができる反復不可能なストリームはキャッシュしません。コンポーネントのストリーム戦略が反復不可能に設定されていない限り、デフォルトではすべてのストリームが Mule で反復可能です。 一般的なキャッシュプロセスシーケンスは、次のとおりです。 1. メッセージが Cache スコープに入ります。 2. Cache スコープは、メッセージペイロードが反復可能かどうかを判断します。 3. Cache スコープは、メッセージのペイロードを識別するキーを生成します。 デフォルトでは、Mule は SHA256KeyGenerator および SHA256 ダイジェストを使用して、メッセージペイロードの一意のキーを生成します。ただし、カスタムキャッシュ戦略で独自のキーをセットアップできます。 4. Cache スコープは、新しく生成されたキーと、以前に処理されてキャッシュされた応答を比較し、セットアップしたオブジェクトストア (推奨) またはデフォルトの ​`InMemoryObjectStore`​ に保存します。 - キャッシュされた応答イベントがない場合 (​_キャッシュミス_​)、Cache スコープは新しいメッセージを処理し、応答を生成します。 また、結果の応答をオブジェクトストアに保存します (反復可能な応答の場合)。 - キャッシュされた応答イベントがある場合 (​_キャッシュヒット_​)、キャッシュ戦略は、新しい要求とキャッシュされた応答の両方のデータを結合する応答を生成します。 生成された応答が反復不可能なストリームである場合は、応答をキャッシュしません。 5. Cache スコープは、処理を続行するために応答を親フローにプッシュします。 ## [](#キャッシュ戦略)キャッシュ戦略 キャッシュ戦略は、メッセージが Cache スコープに入ってきたときに Cache スコープが実行するアクションを定義します。デフォルトでは、Cache スコープは、メモリ内のオブジェクトストアにデータを保存するキャッシュ戦略を使用します。既存のオブジェクトストアを参照するカスタムキャッシュ戦略を作成するか、またはこのキャッシュ戦略で使用する新しいカスタムオブジェクトストアを作成することができます。 キャッシュ戦略から定義または参照されるオブジェクトストアでこれらの値を設定することで、キャッシュサイズ、有効期限、許容される最大エントリ数を設定できます。キャッシュへのアクセスを同期するようにキャッシュ戦略を設定して、異なるメッセージプロセッサーが同時にキャッシュを使用できないようにすることもできます。 キャッシュ戦略は、次のカスタマイズも参照できます。 - オブジェクトストアのイベントキー (ペイロードをオブジェクトストアに保存するためのキーの作成に使用される DataWeave 式または Java オブジェクト)。 - 戦略の応答ジェネレーター (キャッシュ戦略から返される応答の作成に使用される Java オブジェクトへの参照)。 - 変更可能または変更不可能なデータのイベントコピー戦略。 ### [](#キャッシュへの同期アクセス)キャッシュへの同期アクセス デフォルトでは、(同じまたは異なる Mule インスタンスの) 複数のメッセージプロセッサーが同時にキャッシュを使用する場合の予期しない結果を回避ために、Mule ではキャッシュへのアクセスが同期されます。 2 つのメッセージプロセッサーがキャッシュから値を取得しようとして、キャッシュ内に値が見つからないシナリオを考えてみます。各メッセージプロセッサーは値を個別に計算し、その値をキャッシュに挿入します。キャッシュへのアクセスが同期されない場合、2 番目のメッセージプロセッサーによって挿入された値が、最初のメッセージプロセッサーによって挿入された値を上書きします。値が異なる場合、同じ入力に対して 2 つの異なる結果が取得され、最後の 1 つのみがキャッシュに保存されます。 一部のシナリオではこの結果は有効ですが、アプリケーションがキャッシュコヒーレンスを必要とする場合は問題になります。キャッシング戦略を同期することで、コヒーレンスが保証されます。同期されたキャッシュは、メッセージプロセッサーによって変更されているときにロックされます。このシナリオのロックされたキャッシュでは、最初のメッセージプロセッサーが値を計算するまで 2 番目のメッセージプロセッサーは強制的に待機させられ、その後キャッシュから値を取得します。 キャッシュの同期を無効にするには、​``​ 要素で ​`synchronized`​ プロパティを定義して ​`false`​ に設定することができます。
同期はパフォーマンスに影響し、その影響はクラスターモードで最も深刻になります。
## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Cache (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Cache (キャッシュ)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Cachingstrategy ref (キャッシュ戦略参照)

cachingStrategy-ref

参照するキャッシュ戦略の名前。

Filter expression (検索条件式)

filterExpression

Cache スコープフローから特定のペイロードを除外する DataWeave 式。

グローバル設定要素 ​``​ では次の属性が提供されます。
属性名 属性 XML 説明

なし

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

なし

keyGenerationExpression

省略可能。キーを生成する DataWeave 式 (​keyGenerationExpression="#[vars.requestId]"​ など)。

なし

synchronized

Mule がキャッシュへのアクセスを同期するかどうかを示します。使用可能な値は ​true​ または ​false​ です。デフォルトは ​true​ です。

## [](#例)例 次の例は、Cache スコープとキャッシュ戦略を設定する方法を示しています。 ### [](#example1)例: Cache スコープの設定 キャッシュ戦略の設定例を次に示します。このキャッシュ戦略は、Database Select 操作と Transform コンポーネントを含む Cache スコープによって参照されます。 ```xml ``` ### [](#example2)例: キャッシュ戦略 次の XML の例は、キャッシュへのアクセスを同期し、キャッシュされた応答を保存する永続的なオブジェクトストアを定義するキャッシュ戦略の設定例を示しています。このキャッシュ戦略は、Cache スコープによって参照されています。 ```xml ``` ## [](#see-also)関連情報 - [Mule アプリケーションでのストリーミング](https://docs.mulesoft.com/mule-runtime/latest/streaming-about) - [オブジェクトストア設定](https://docs.mulesoft.com/mule-runtime/latest/mule-object-stores) # Choice () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE メッセージコンテンツを評価する一連の DataWeave 式に従ってフローで動的にメッセージをルーティングします。 各式は、異なるルーティングオプションに関連付けられます。これにより、大部分のプログラミング言語の ​`if`​/​`then`​/​`else`​ コードブロックのような条件付き処理がフローに追加されます。 Choice ルーターが実行するルートは 1 つのみです。つまり、最初に ​`true`​ と評価された式がルートの実行をトリガーし、他のルートはチェックされません。どの式も ​`true`​ でない場合は、デフォルトルートが実行されます。 Choice ルーターを設定するには、1 つ以上の評価する条件と、いずれかの条件が ​`true`​ と評価された場合に実行されるメッセージプロセッサーを指定します。さらに、定義された条件がいずれも ​`true`​ でない場合に実行されるデフォルトルートを設定します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml (1) (2) (3) ```
1expression​ 属性には、評価する条件が含まれています。
2expression​ が ​true​ と評価された場合に実行される任意の数のメッセージプロセッサーを追加します。
3条件がいずれも ​true​ と評価されなかった場合に実行される任意の数のメッセージプロセッサーを追加します。
Choice (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Choice (選択肢)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Choice (​``​) には次の子要素があります。
子要素 説明

<when/>

Mule イベントを処理する埋め込みコンポーネントを実行する前に照合する条件を指定するための子要素。1 つ以上の ​<when/>​ 要素が許可されます。

<otherwise/>

<when/>​ 要素内で設定された条件が満たされない場合に実行する子要素。

子要素 ​``​ には次の属性があります。
属性名 属性 XML 説明

Expression (式)

expression

入力を評価するために使用する DataWeave 式。式が ​true​ に評価されると、このルーティングオプションが実行されます。

## [](#choice-ルーターへのルートの追加)Choice ルーターへのルートの追加 デフォルトでは、Choice ルーターは設定された DataWeave 式が ​`true`​ に評価されると実行される 1 つのルートオプションと、既存ルートのどの式も ​`true`​ に評価されなかったときに実行されるデフォルトルートを持ちます。複数の条件を評価して、成立した条件に応じて異なる操作を実行する必要がある場合は、ルートを追加してください。 新しいルートを追加する手順は、次のとおりです。 1. ``​ 要素内に ​``​ 要素を追加します。 2. `expression`​ 属性を設定して、このルートを実行する条件を定義します。 ## [](#例)例 次の例では、​`language`​ クエリパラメーターを受け取る HTTP リスナーと、このパラメーターを評価して値に応じて対応するルートを実行する Choice ルーターを設定します。 ```xml ``` ## [](#see-also)関連情報 - [フローおよびサブフロー](https://docs.mulesoft.com/mule-runtime/latest/about-flows) - [データの抽出](https://docs.mulesoft.com/jp/dataweave/2.4/dataweave-cookbook-extract-data) - [DataWeave スクリプト](https://docs.mulesoft.com/jp/dataweave/2.4/dataweave-language-introduction) - [ビジネスイベント](https://docs.mulesoft.com/mule-runtime/latest/business-events) # Custom Event () メタデータと重要業績評価指標 (KPI) をカスタムビジネスイベントを介してフローに追加します。 KPI については、Anypoint Runtime Manager インターフェースで容易に検索できる名前を使用し、代表値を使用します (任意の Mule 式を使用できます)。
名前 Expression / Value (式 / 値)

employee-id

#[payload['ID']]

employee-email

#[payload['Email']]

employee-git-id

#[payload['GITHUB_ID']]

price

700

price-after-discount

#[vars.price]

order-id

#[payload.order.header.orderID]

## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Custom Business Event (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Custom event (カスタムイベント)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Event name (イベント名)

event-name

追跡するイベントの名前。

Inherits (継承)

inherits

なし

Meta data (メタデータ)

metaData

なし

Target Variable (対象変数)

target

メッセージデータを格納する変数の名前。数字、文字、アンダースコアのみを使用できます。たとえば、名前にハイフンは使用できません。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

Target Value (対象値)

targetValue

対象変数に格納するデータの値。このデフォルト値はメッセージペイロード (payload) です。この項目は、変数が受け入れるすべての値を受け入れます。サポートされているデータ型、DataWeave の式、​payload​、​attributes​、​message​ キーワードが該当しますが、​vars​ キーワードは対象外です。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

子要素 ​``​ 属性は UI および XML で設定できます。
属性名 属性 XML 説明

なし

key

KPI の名前。

なし

value

KPI の値。

## [](#例)例 次の例では、追跡イベントと KPI を設定します。 ```xml ``` ## [](#see-also)関連情報 - [ビジネスイベント](https://docs.mulesoft.com/mule-runtime/latest/business-events) # DataWeave の問題とエラー **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder で値を処理できない場合、値の問題を識別するビジュアルインジケーターが IDE に表示されます。次のような問題があります。 - [Unable to find sample input (サンプル入力が見つかりません)](#sample-input) - [Unable to resolve reference (参照を解決できません)](#resolve-reference) - [Expects ​_x_​ but got ​_y_​ (x が想定されますが y が取得されました)](#expects-y) - [Invalid input (無効な入力)](#invalid-input) ## [](#sample-input)Unable to Find Sample Input (サンプル入力が見つかりません) DataWeave エラー​`「Unable to find sample input (サンプル入力が見つかりません)」`​が ​`payload`​ などの Mule イベント変数に適用されます。この場合、IDE では設定 XML ファイルの値の下に青い波線が表示されます。 ![「Unable to find sample input (サンプル入力が見つかりません)」エラー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/dw-issue-sample-data.png) アプリケーションが実行されていない場合、IDE で Mule 変数に関する情報を提供できないため、自分でサンプルデータを入力する必要があります。 [\[Quick Fix (クリック修正)](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions#sample-data)\]​ を使用して、アプリケーション実行時の想定される形式とデータ構造でサンプルデータを入力します。 Mule イベント変数についての詳細は、[Predefined Variables](https://docs.mulesoft.com/dataweave/latest/dataweave-variables-context)を参照してください。 ## [](#resolve-reference)Unable to Resolve Reference (参照を解決できません) `「Unable to resolve reference (参照を解決できません)」`​は、一般的に ​`afkdldjf`​ のような識別されない一連の文字のエラーです。 ![「Unable to resolve reference (参照を解決できません)」エラー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/dw-issue-reference-resolution.png) 目的の値を入力するか、​[\[Quick Fix (クイック修正)](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions#sample-data)\]​ を使用して文字シーケンスを DataWeave 変数に変換します。詳細は、[DataWeave Variables](https://docs.mulesoft.com/dataweave/latest/dataweave-variables)を参照してください。 ## [](#expects-y)Expects ​_x_​ but Got ​_y_​ (x が想定されますが y が取得されました) `「Expects ​_x_​ but got ​_y_​ (x が想定されますが y が取得されました)」`​のようなエラーは、一般的に指定された関数に問題があることを示します。たとえば、​`round()`​ 関数に引数 (この場合は丸める数値) がないために​`「Expects 1 argument but got 0 (1 個の引数が想定されますが 0 個が取得されました)」`​が発生します。たとえば、​`round(1.65)`​ のように修正します。同様に、引数のデータ型に誤りがあることを示すエラーや、関数が無効で修正が必要であることを示すエラーなどがあります。 エラーメッセージを読んで式のどの部分を修正するのかを判断し、エラーメッセージの後の関数の説明を確認して関数についての詳細を把握します。その他の DataWeave 関数のドキュメントについては、​[「DataWeave Module」](https://docs.mulesoft.com/dataweave/latest/dw-functions#dw_modules)​を参照してください。 ## [](#invalid-input)Invalid input (無効な入力) エラー​`「Invalid input (無効な入力)」`​は、一般的に ​`?`​ などの特殊文字が DataWeave 式にあり、エスケープされていない場合に発生します。 ![「Invalid input (無効な入力)」エラー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/dw-issue-invalid-input.png) 詳細は、​[「有効な識別子を宣言するためのルール」](https://docs.mulesoft.com/dataweave/latest/dataweave-language-introduction#valid-identifiers)​および​[「特殊文字のエスケープ」](https://docs.mulesoft.com/dataweave/latest/dataweave-language-introduction#escape-special-characters)​を参照してください。 # DataWeave ライブラリをインポートする **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder を使用すると、Exchange から Mule アプリケーションに DataWeave ライブラリをインポートできます。 DataWeave ライブラリは、DataWeave モジュールとマッピングファイルおよびリソースファイル (JSON、XML、CSV など) の再利用可能なパッケージです。 DataWeave ライブラリをインポートする方法は、Exchange から他のアセットをインポートする方法と同じです。 1. Anypoint Code Builder で、Ctrl+Shift+p (Windows) または Cmd+Shift+p (Mac) を押してコマンドパレットを開き、次のコマンドを入力します。 ```command MuleSoft: Import Asset from Exchange ``` ![コマンドパレットの検索結果でコマンドが強調表示されています。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/import-asset-exchange-implementation.png) 2. **\[DataWeave Library (DataWeave ライブラリ)\]**​ を選択します。 ![\[DataWeave Library (DataWeave ライブラリ)\] オプションがアセットタイプのリストで強調表示されています。](_images/add-dw-library-from-exchange.png) 3. 必要な DataWeave ライブラリの名前の入力を開始して Enter キーを押すと、検索に一致するアセット (​**DataWeave**​ など) が Anypoint Code Builder により提案されます。 ![使用可能な DataWeave ライブラリのリストで \[DataWeave JWT Library (DataWeave JWT ライブラリ)\] が強調表示されています。](_images/acb-dw-libraries.png) 4. DataWeave ライブラリを選択します。 5. インポートする DataWeave ライブラリのバージョンを選択します。 連動関係が正常に追加されたことを示すメッセージが Anypoint Code Builder に表示されます。 ## [](#関連情報)関連情報 - [Sharing and Reusing Custom DataWeave Modules and Mappings (カスタム DataWeave モジュールおよびマッピングの共有および再利用)](https://beta.docs.mulesoft.com/beta-dataweave/dataweave/2.4/dataweave-share-reuse) - [DataWeave ライブラリを使用したデータのモック](https://docs.mulesoft.com/jp/anypoint-code-builder/mock-data-using-dw-library) # DataWeave ライブラリを使用したデータのモック **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 次のチュートリアルは、インテグレーションを開発し、 [Mock Data Generators Library](https://anypoint.mulesoft.com/exchange/68ef9520-24e9-4cf2-b2f5-620025690913/data-weave-mock-data-generators-library/minor/1.0/)​ を Exchange からインポートし、カスタムライブラリを使用してライブラリからランダム値を返す方法を示しています。 ## [](#始める前に)始める前に 始める前に、次の準備が整っていることを確認します。 - MuleSoft 環境をセットアップします。 詳細は、[Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)を参照してください。 ## [](#mule-アプリケーションを作成する)Mule アプリケーションを作成する 1. Anypoint Code Builder で、Ctrl+shift+p (Mac) または Cmd+shift+p (Windows) を押してコマンドパレットを開き、​`「MuleSoft: Develop an Integration」`​ (MuleSoft: インテグレーションを開発) と入力します。 2. コマンドを選択します。 3. 次の値を使用してインテグレーションを設定します。 ![\[Empty Project (空のプロジェクト)\] が選択されている \[Develop an Integration (インテグレーションを開発)\] フォーム](_images/int-create-integration-scratch.png) 1. **\[Project Name (プロジェクト名)\]**​ で、\*「mock-dw-library」\*と入力します。 2. **\[Project Location (プロジェクトの場所)\]**​ で ​**\[Browse (参照)\]**​ をクリックしてホームディレクトリを選択します。 3. **\[Create (作成)\]**​ で、​**\[Empty Project (空のプロジェクト)\]**​ を選択します。 4. **Mule Runtime**​ と ​**Java**​ のバージョンを選択します。 サポートされている Mule Runtime と Java バージョンのいずれかを選択できます。IDE は、バージョン設定をプロジェクトの ​`mule-artifact.json`​ ファイルに保存します。 バージョンサポートと Mule パッチ自動更新については、​[「Mule と Java バージョンのサポート」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#versions-mule-jdk)​を参照してください。 作成するプロジェクトのデフォルトの Mule Runtime バージョンと Java バージョンを設定するには、[Mule、Java、コネクタのバージョン設定](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions)を参照してください。 4. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 ## [](#フローを作成する)フローを作成する 最初に、ルートパス (​`/`​) を公開する HTTP リスナーを使用してフローを設定します。 1. ``​ と ​``​ 要素の間に HTTP リスナーグローバル設定を作成します。 ```XML ``` 2. `
`​ 要素の後にフローと HTTP リスナー要素を追加します。 ```XML ``` ## [](#dataweave-ライブラリをインポートする)DataWeave ライブラリをインポートする 1. Ctrl+Shift+p (Windows) または Cmd+Shift+p (Mac) を押してコマンドパレットを開き、次のコマンドを入力します。 ```command MuleSoft: Import Asset from Exchange ``` 2. **\[DataWeave Library (DataWeave ライブラリ)\]**​ を選択します。 3. _「DataWeave」_​の入力を開始して Return キーを押すと、検索に一致するアセットのリストが表示されます。 4. **\[DataWeave Mock Data Generators Library\]**​ を選択します。 5. バージョン ​**1.0.0**​ を選択します。 連動関係が正常に追加されたことを示すメッセージが Anypoint Code Builder に表示されます。 ## [](#dataweave-ライブラリを使用する)DataWeave ライブラリを使用する 1. ``​ 要素の後に改行を追加して、Set Payload プロセッサーを作成します。 ```XML ``` 2. 次の DataWeave スクリプトを ​`set-payload`​ 要素の ​`value`​ 要素の内側に追加します。 ```dataweave %dw 2.0 output application/json import * from mocks::DataGenerators --- mocks::DataGenerators::randomCity() ``` XML Code を確認します。 ```XML ``` ## [](#http-connector-ライブラリをインポートする)HTTP Connector ライブラリをインポートする 1. Ctrl+Shift+p (Windows) または Cmd+Shift+p (Mac) を押してコマンドパレットを開き、次のコマンドを入力します。 ```command MuleSoft: Import Asset from Exchange ``` 2. **\[Connector\]**​ を選択します。 3. _「HTTP」_​の入力を開始して Return キーを押すと、検索に一致するアセットのリストが表示されます。 4. **\[HTTP Connector - Mule 4\]**​ を選択します。 5. 最新バージョンを選択します。 連動関係が正常に追加されたことを示すメッセージが Anypoint Code Builder に表示されます。 ## [](#アプリケーションをデプロイする)アプリケーションをデプロイする 1. Ctrl+Shift+p (Windows) または Cmd+Shift+p (Mac) を押してコマンドパレットを開き、次のコマンドを入力します。 ```command MuleSoft: Deploy to CloudHub ``` 2. Anypoint Code Builder により、デプロイメント設定ファイルが作成されていることが示され、確認のためにそのファイルが自動的に開きます。 ```json { "runtime": "4.4.0", (1) "workerSize": 0.1, "applicationName": "mock-dw-library", (2) "workers": 1, "autoStart": true } ```
1 runtime​ バージョンは、インテグレーションの作成時に選択した Mule Runtime バージョンです。

バージョンサポートと Mule パッチ自動更新については、​「Mule と Java バージョンのサポート」​を参照してください。

2 applicationName​ プロパティでは、CloudHub のアプリケーションにアクセスするために使用する URL の一部を定義します。

この名前は、CloudHub にデプロイされているすべてのアプリケーションで一意である必要があります。

3. デプロイメント設定を確認したら、​**\[Deploy (デプロイ)\]**​ を選択してアプリケーションを CloudHub にデプロイします。 4. 目的の環境を選択します。 Anypoint Code Builder によりアプリケーションがパッケージ化されて CloudHub にデプロイされます。 5. デプロイメントが完了したら、​**\[Open in Runtime Manager (Runtime Manager で開く)\]**​ を選択します。 6. アプリケーションリストからアプリケーションを選択します。 アプリケーションのドメイン名はさまざまですが、​`mock-dw-library.eu-s1.cloudhub.io`​ などの同様の構造に従います。 7. お気に入りの REST クライアントを開き、​**Runtime Manager**​ に表示されているドメイン名に対する GET 要求を実行します。 8. これで、エンドポイントに達するたびにアプリケーションでランダムな市区郡が返されるようになりました。 # DataWeave を使用したフライトデータの変換 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 DataWeave を使用してフライトデータを変換して API 仕様に一致させます。 ## [](#始める前に)始める前に 次の手順を実行します。 1. [American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights) 2. [アプリケーションからデータベースへの接続](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-connect-to-a-db) ## [](#snippets)変換用のユーザースニペットを作成する `mule-xml.json`​ ファイルでスニペットを定義します。スニペットについての詳細は、[work-with-code-snippets.adoc](#work-with-code-snippets.adoc)を参照してください。 1. \[Configure Snippets (スニペットを制御)\] に移動します。 手順を表示 - デスクトップ IDE で、​**\[Code (コード)\]**​ > ​**\[Settings (設定)\]**​ > ​**\[Configure Snippets (スニペットを設定)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Preferences (プリファレンス)\]**​ > ​**\[Configure Snippets (スニペットを設定)\]**​ を選択する。 - いずれかの IDE で次の操作を実行する。 1. キーボードショートカットを使用してコマンドパレットを開く。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p 2. 次のコマンドを選択する。 ```command Snippets: Configure Snippets ``` 2. 開いた ​**\[Select Snippets File or Create Snippets (スニペットファイルを選択またはスニペットを作成)\]**​ 項目で、次を入力します。 ```command mule-xml.json (Mule XML) ``` 3. ファイルに設定が含まれていない場合、​`mule-xml.json`​ では、中括弧内にコメントが提供されます。 ```json { // Place your snippets for mule-xml here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the // same ids are connected. // Example: // "Print to console": { // "prefix": "log", // "body": [ // "console.log('$1');", // "$2" // ], // "description": "Log output to console" // } } ``` 4. ファイルに次のスニペットコードを追加します。 ```json { "Transform Message": { "prefix": "muledx:transform-message", "body": [ "", " ", " ", " ", " ", " ", "" ] }, "Mule Flow": { "prefix": "muledx:flow", "body": [ "", "", "" ] }, "HTTP Listener Config": { "prefix": "muledx:http-listener-config", "body": [ "", " ", "" ] }, "HTTP Listener": { "prefix": "muledx:http-listener", "body": [ "" ] }, "Set Payload": { "prefix": "muledx:set-payload", "body": [ "" ] }, "Set Variable": { "prefix": "muledx:set-variable", "body": [ "" ] }, "Logger": { "prefix": "muledx:logger", "body": [ "" ] }, "Database Config - MySQL": { "prefix": "muledx:db-config-mysql", "body": [ "", " ", "" ] }, "Database Select": { "prefix": "muledx:db-select", "body": [ "", " ", " ", " ", "" ] } } ``` このスニペットでは、Transform Message を含めいくつかの Mule コンポーネントの開始設定が提供されます。 5. [ペイロードを JSON として返す](#return-payload)​に進みます。 ## [](#return-payload)ペイロードを JSON として返す 1. Anypoint Code Builder で ​`american-ws-anypoint-code-builder.xml`​ を開きます。 2. キャンバスで、​**Database Select**​ 操作の下にスニペット ​`[Transform Message (メッセージを変換)]`​ を挿入します。 リスナーの後で ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックして、​**\[Snippets (スニペット)\]**​ > ​**\[User Snippets (ユーザースニペット)\]**​ > ​**\[Transform Message (メッセージを変換)\]**​ に移動します。 最初に ​**\[User Snippets (ユーザースニペット)\]**​ パネルが空になっている場合、しばらく待ってからもう一度試します。または、設定 XML から ​`muledx:transform-message`​ スニペットに移動します。 ![強調表示されている Transform コンポーネント](/mulesoft/current/ja-jp/anypoint-code-builder/_images/transform-with-output-json.png) ユーザースニペット XML: ```xml ``` 3. 設定 XML で ​`doc:name`​ の値 ​**\[Transform Message\]**​ (メッセージを変換) または同様の値を ​``​ コンポーネントに追加します。 ... 4. ``​ 内で、メッセージペイロードを JSON 形式に出力する DataWeave スクリプトを追加します。 ```dataweave ``` 5. **\[Run (実行)\]**​ > ​**\[Start Debugging F5 (デバッグを開始 F5)\]**​ を選択して、アプリケーションを IDE 内にデプロイします。 詳細は、​[「デバッグモードでアプリケーションを実行する」](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights#run)​を参照してください。 6. アプリケーションが正常にデプロイされたら、REST クライアントまたはブラウザーを使用して応答をトリガーします。 詳細は、​[「アプリケーションのテスト」](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights#test)​を参照してください。 7. MySQL データベースからの応答データを参照します。次に例を示します。 ```JSON [ { "planeType": "Boeing 787", "code2": "0001", "takeOffDate": "2016-01-20T00:00:00", "code1": "rree", "fromAirport": "MUA", "price": 541, "seatsAvailable": 0, "toAirport": "LAX", "ID": 1, "airlineName": "American Airlines", "totalSeats": 200 }, ... ] ``` 完全な応答を表示するには、クリックしてください。 ```json [ { "planeType": "Boeing 787", "code2": "0001", "takeOffDate": "2016-01-20T00:00:00", "code1": "rree", "fromAirport": "MUA", "price": 541, "seatsAvailable": 0, "toAirport": "LAX", "ID": 1, "airlineName": "American Airlines", "totalSeats": 200 }, { "planeType": "Boeing 747", "code2": "0123", "takeOffDate": "2016-01-25T00:00:00", "code1": "eefd", "fromAirport": "MUA", "price": 300, "seatsAvailable": 7, "toAirport": "CLE", "ID": 2, "airlineName": "American Airlines", "totalSeats": 345 }, { "planeType": "Boeing 777", "code2": "0192", "takeOffDate": "2016-01-20T00:00:00", "code1": "ffee", "fromAirport": "MUA", "price": 300, "seatsAvailable": 0, "toAirport": "LAX", "ID": 3, "airlineName": "American Airlines", "totalSeats": 300 }, { "planeType": "Boeing 737", "code2": "1000", "takeOffDate": "2016-01-20T00:00:00", "code1": "rree", "fromAirport": "MUA", "price": 200, "seatsAvailable": 5, "toAirport": "CLE", "ID": 4, "airlineName": "American Airlines", "totalSeats": 150 }, { "planeType": "Boeing 737", "code2": "1093", "takeOffDate": "2016-02-11T00:00:00", "code1": "rree", "fromAirport": "MUA", "price": 142, "seatsAvailable": 1, "toAirport": "SFO", "ID": 5, "airlineName": "American Airlines", "totalSeats": 150 }, { "planeType": "Boeing 787", "code2": "1112", "takeOffDate": "2016-01-20T00:00:00", "code1": "ffee", "fromAirport": "MUA", "price": 954, "seatsAvailable": 100, "toAirport": "CLE", "ID": 6, "airlineName": "American Airlines", "totalSeats": 200 }, { "planeType": "Boeing 777", "code2": "1994", "takeOffDate": "2016-01-01T00:00:00", "code1": "eefd", "fromAirport": "MUA", "price": 676, "seatsAvailable": 0, "toAirport": "SFO", "ID": 7, "airlineName": "American Airlines", "totalSeats": 300 }, { "planeType": "Boeing 737", "code2": "2000", "takeOffDate": "2016-02-20T00:00:00", "code1": "ffee", "fromAirport": "MUA", "price": 300, "seatsAvailable": 30, "toAirport": "SFO", "ID": 8, "airlineName": "American Airlines", "totalSeats": 150 }, { "planeType": "Boeing 737", "code2": "3000", "takeOffDate": "2016-02-01T00:00:00", "code1": "eefd", "fromAirport": "MUA", "price": 900, "seatsAvailable": 0, "toAirport": "SFO", "ID": 9, "airlineName": "American Airlines", "totalSeats": 150 }, { "planeType": "Boeing 777", "code2": "4511", "takeOffDate": "2016-01-15T00:00:00", "code1": "eefd", "fromAirport": "MUA", "price": 900, "seatsAvailable": 100, "toAirport": "LAX", "ID": 10, "airlineName": "American Airlines", "totalSeats": 300 }, { "planeType": "Boeing 737", "code2": "4567", "takeOffDate": "2016-01-20T00:00:00", "code1": "rree", "fromAirport": "MUA", "price": 456, "seatsAvailable": 100, "toAirport": "SFO", "ID": 11, "airlineName": "American Airlines", "totalSeats": 150 } ] ``` MySQL テストサーバーを使用できない場合、このエラーが発生します。 Cannot get connection for URL jdbc:mysql://mudb.learn.mulesoft.com:3306/ : Communications link failure. 問題に対処するには、正常な応答を取得するまで再試行します。 8. [応答データの変換](#restructure)​に進みます。 ## [](#restructure)応答データの変換 JSON 出力を API 仕様で必要とされる構造に変換します。 Anypoint Exchange の ​**American Flights API**​ のフライトデータで使用する構造は、データベースへの要求で返される構造とは異なります。 必要な JSON 構造を見つけるは、​`/flights`​ エンドポイントへの GET メソッドの下で JSON の例を検索します。詳細は、​[「Exchange で API を見つける」](#publish-api-spec-to-exchange.adoc#locate-your-api-in-exchange)​を参照するか、 [Exchange で API の公開バージョン](https://anypoint.mulesoft.com/exchange/68ef9520-24e9-4cf2-b2f5-620025690913/training-american-flights-api/minor/2.0/console/method/%2373/)​を開いてください。
API 仕様の応答の構造 実際の応答の構造
[
  {
     "code": "ER38sd",
     "price": 400,
     "departureDate": "2017/07/26",
     "origin": "CLE",
     "destination": "SFO",
     "emptySeats": 0,
     "plane": {
       "type": "Boeing 737",
       "totalSeats": 150
     }
  }
]
[
  {
    "planeType": "Boeing 787",
    "code2": "0001",
    "takeOffDate": "2016-01-20T00:00:00",
    "code1": "rree",
    "fromAirport": "MUA",
    "price": 541,
    "seatsAvailable": 0,
    "toAirport": "LAX",
    "ID": 1,
    "airlineName": "American Airlines",
    "totalSeats": 200
  }
]
DataWeave を使用して応答を変換します。 1. 設定 XML で ​``​ 内のスクリプトを DataWeave マッピングに置き換えます。 ```xml { ID: payload01.ID, code: (payload01.code1 default "") ++ (payload01.code2 default ""), price: payload01.price default 0, departureDate: payload01.takeOffDate as String default "", origin: payload01.fromAirport default "", destination: payload01.toAirport default "", emptySeats: payload01.seatsAvailable default 0, plane: { "type": payload01.planeType default "", totalSeats: payload01.totalSeats default 0 } } ]]> ``` 2. 設定 XML を確認します。 ```xml { ID: payload01.ID, code: (payload01.code1 default "") ++ (payload01.code2 default ""), price: payload01.price default 0, departureDate: payload01.takeOffDate as String default "", origin: payload01.fromAirport default "", destination: payload01.toAirport default "", emptySeats: payload01.seatsAvailable default 0, plane: { "type": payload01.planeType default "", totalSeats: payload01.totalSeats default 0 } } ]]> ``` 3. [アプリケーションを実行してテストする](#run-test)​に進みます。 ## [](#run-test)アプリケーションを実行してテストする 1. **\[Run (実行)\]**​ > ​**\[Start Debugging F5 (デバッグを開始 F5)\]**​ を実行して、アプリケーションを IDE 内にデプロイします。 詳細は、​[「デバッグモードでアプリケーションを実行する」](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights#run)​を参照してください。 2. アプリケーションが正常にデプロイされたら、REST クライアントまたはブラウザーを使用してフローをトリガーします。 詳細は、​[「アプリケーションのテスト」](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights#test)​を参照してください。 変換されたデータ構造が API 要件に準拠していることを確認します。次に例を示します。 ```JSON [ { "ID": 1, "code": "rree0001", "price": 541, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "LAX", "emptySeats": 0, "plane": { "type": "Boeing 787", "totalSeats": 200 } }, ... ``` 完全な応答を表示するには、クリックしてください。 ```JSON [ { "ID": 1, "code": "rree0001", "price": 541, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "LAX", "emptySeats": 0, "plane": { "type": "Boeing 787", "totalSeats": 200 } }, { "ID": 2, "code": "eefd0123", "price": 300, "departureDate": "2016-01-25T00:00:00", "origin": "MUA", "destination": "CLE", "emptySeats": 7, "plane": { "type": "Boeing 747", "totalSeats": 345 } }, { "ID": 3, "code": "ffee0192", "price": 300, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "LAX", "emptySeats": 0, "plane": { "type": "Boeing 777", "totalSeats": 300 } }, { "ID": 4, "code": "rree1000", "price": 200, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "CLE", "emptySeats": 5, "plane": { "type": "Boeing 737", "totalSeats": 150 } }, { "ID": 5, "code": "rree1093", "price": 142, "departureDate": "2016-02-11T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 1, "plane": { "type": "Boeing 737", "totalSeats": 150 } }, { "ID": 6, "code": "ffee1112", "price": 954, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "CLE", "emptySeats": 100, "plane": { "type": "Boeing 787", "totalSeats": 200 } }, { "ID": 7, "code": "eefd1994", "price": 676, "departureDate": "2016-01-01T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 0, "plane": { "type": "Boeing 777", "totalSeats": 300 } }, { "ID": 8, "code": "ffee2000", "price": 300, "departureDate": "2016-02-20T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 30, "plane": { "type": "Boeing 737", "totalSeats": 150 } }, { "ID": 9, "code": "eefd3000", "price": 900, "departureDate": "2016-02-01T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 0, "plane": { "type": "Boeing 737", "totalSeats": 150 } }, { "ID": 10, "code": "eefd4511", "price": 900, "departureDate": "2016-01-15T00:00:00", "origin": "MUA", "destination": "LAX", "emptySeats": 100, "plane": { "type": "Boeing 777", "totalSeats": 300 } }, { "ID": 11, "code": "rree4567", "price": 456, "departureDate": "2016-01-20T00:00:00", "origin": "MUA", "destination": "SFO", "emptySeats": 100, "plane": { "type": "Boeing 737", "totalSeats": 150 } } ] ``` 3. アプリケーションを停止します。 詳細は、​[「アプリケーションを停止する」](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights#stop)​を参照してください。 4. [American Flights API 仕様の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-implement-am-flights-api)に進みます。 # Dynamic Evaluate () 式を評価して DataWeave スクリプトを選択し、新しいスクリプトを実行して結果を生成します。 スクリプトには、​`message`​、​`payload`​、​`vars`​、​`attributes`​ などの通常の​[定義済み変数](https://docs.mulesoft.com/jp/dataweave/2.4/dataweave-variables-context)​を使用できますが、キー - 値ペアのセットを指定することによってカスタム変数を追加することもできます。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml #[] ``` Dynamic Evaluate (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Dynamic evaluate (動的評価)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Expression (式)

expression

Mule で実行される DataWeave スクリプトを選択する式 (例: expression="#[vars.generateOrderScript]"​)。

Additional Bindings (追加のバインド)

parameters

なし

Target Variable (対象変数)

target

メッセージデータを格納する変数の名前。数字、文字、アンダースコアのみを使用できます。たとえば、名前にハイフンは使用できません。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

Target Value (対象値)

targetValue

対象変数に格納するデータの値。このデフォルト値はメッセージペイロード (payload) です。この項目は、変数が受け入れるすべての値を受け入れます。サポートされているデータ型、DataWeave の式、​payload​、​attributes​、​message​ キーワードが該当しますが、​vars​ キーワードは対象外です。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

``​ は Dynamic Evaluate の子要素です。
子要素 説明

<ee:parameters/>

DataWeave スクリプトが評価できるパラメーターとして機能するキー-値ペア (例: <ee:parameters>#[{name: attributes.queryParams.userName}]</ee:parameters>​)。

## [](#例)例 次の例では、​`userId`​ クエリパラメーターを使用してデータベースからスクリプトを選択し、そのスクリプトを ​`userScript`​ 変数に保存します。Dynamic Evaluate (​``​) は、​`userScript`​ 変数にアクセスし、指令された (​`attributes.queryParams.userName`​ の値を含む) パラメーター ​`name`​ を使用してスクリプトを呼び出します。 ```xml #["SELECT script FROM SCRIPTS WHERE ID = $(attributes.queryParams.userId)"] #[{name: attributes.queryParams.userName}] ``` スクリプト ​`lsalander`​ と ​`mblomkvist`​ がこの例のデータベースに保存されていると仮定します。 例: lsalander スクリプト output application/json --- { message: "Order " ++ attributes.queryParams.orderId ++ " has been received from " ++ name, items: payload.items } 例: mblomkvist スクリプト output application/x-www-form-urlencoded --- { message: "Order " ++ attributes.queryParams.orderId ++ " has been received from " ++ name, items: payload.items } ### [](#アプリケーション動作の例)アプリケーション動作の例 Mule アプリケーション​[サンプル](#example1)​が要求で ​`lsalander`​ を ​`queryParams.userId`​ として受け取ると、Mule は ​`lsalander`​ スクリプトを実行して JSON 応答を返します。アプリケーションが ​`mblomkvist`​ を ​`queryParams.userId`​ 値として受け取った場合、Mule は別のスクリプトを実行して ​`x-www-form-urlencoded`​ 応答を返します。 この例は、ユーザーに基づいて応答種別をパラメーター化でき、さらにユーザーのニーズに合わせて応答全体をパラメーター化できることを示しています。 ## [](#see-also)関連情報 - [DataWeave 言語](https://docs.mulesoft.com/jp/dataweave/2.4/) # Error Handler () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE Mule アプリケーションによってスローされたエラーをキャッチし、エラー種別に一致する最初の On-Error コンポーネント設定にルーティングします。 Error Handler コンポーネントには、On Error Continue と On Error Propagate という 2 つの子要素があり、アプリケーションで発生したエラーがハンドラーで設定されたエラー種別と一致する場合に実行するルートを設定できます。各ハンドラーには独自の動作があり、それを含むコンポーネント (Flow または Try スコープ) に関連して動作します。 - On Error Continue (​`on-error-continue`​): 実行されると、実行の結果がそのコンテナ要素の結果として (コンテナが実行を正常に完了したかのように) 使用されます。この時点のすべてのトランザクションが正常にコミットされます。 - On Error Propagate (​`on-error-propagate`​): すべてのトランザクションをロールバックしてから実行され、その結果が使用されて既存のエラーが再スローされます。この場合、コンテナ要素はその実行に「失敗」します。 エラーに一致するエラー処理設定がない場合、アプリケーションはデフォルトのエラー処理プロセスに従います。詳細は、​[メッセージのデフォルトエラー処理の使用](https://docs.mulesoft.com/mule-runtime/latest/error-handling#default_error_handling)​を参照してください。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Error Handler (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Error handler (エラーハンドラー)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

``​ 子要素と ​``​ 子要素は次の属性を共有します。
属性名 属性 XML 説明

When (条件)

when

この On-Error 戦略の実行をトリガーする条件を定義する一致式。式はブール値 (​true​ または ​false​) に評価される必要があります。

Type (種別)

type

この On-Error 戦略で処理されるエラーを定義する、Mule エラー種別のカンマ区切りのリスト。

Log exception (ログ例外)

logException

この戦略でエラーが処理される前に、そのエラーをレベル ​ERROR​ でログに記録するかどうかを指定します。デフォルトは ​true​ です。

Enable notifications (通知を有効化)

enableNotifications

エラーが発生したときに、この戦略で ​ExceptionNotification​ 種別の通知がトリガーされるかどうかを指定します。デフォルトは ​true​ です。

## [](#エラー処理の例)エラー処理の例 次の例は、​`VALIDATION:NOT_NULL`​ エラーに対して ​`{ "MyError": "value was expected to be null" }`​ を生成し、その他のエラー種別に対しては ​`{ "messageANY" : "Some other error" }`​ を生成するハンドラーを設定します。 ```xml ``` ## [](#see-also)関連情報 - [Mule エラー](https://docs.mulesoft.com/mule-runtime/latest/mule-error-concept) - [Mule Runtime Engine 通知](https://docs.mulesoft.com/mule-runtime/latest/mule-server-notifications) # Exchange からのコネクタのインポート **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Connector では、システムからのデータの取得、データの変更、システムへのデータの送信を行うための操作が提供されます。 Anypoint Code Builder で提供される​[組み込みコネクタ](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference#builtin-connectors)​に加えて、ユーザーは Anypoint Exchange から他の多くのコネクタをダウンロードできます。 - [キャンバスからコネクタをインポートする](#import-canvas) - [コマンドを使用してコネクタをインポートする](#import-command) ## [](#import-canvas)キャンバスからコネクタをインポートする Exchange からコネクタをインポートして設定に追加する手順は、次のとおりです。 1. {open-config-xml} (​`my-project-name.xml`​ など)。 2. アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-tree-view.png)​ (​**\[Show Mule graphical mode (Mule グラフィックモードを表示)\]**​) をクリックして UI キャンバスを開きます (自動的に開いていない場合)。 3. キャンバスから他のコンポーネントを追加した方法と同じ方法でコネクタを追加します。 1. キャンバスで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 2. **\[Add Component (コンポーネントを追加)\]**​ パネルで ​**\[Connectors (コネクタ)\]**​ をクリックします。 3. コネクタ名をクリックし、追加する操作 (​**Publish**​ など) をクリックします。 ![Anypoint MQ Connector での \[Add Publish\] 操作](_images/int-add-connector-operation.png) 4. コネクタをローカルで使用できない場合、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-search-exchange.png)​ (​**\[Search in Exchange (Exchange 内を検索)\]**​) 切り替えをクリックします。 ![\[Search in Exchange (Exchange 内を検索)\] 切り替え](_images/int-connector-search-exchange.png)
1Search locally (ローカルで検索)
2Search in Exchange (Exchange 内を検索)
5. プロジェクトに追加するコネクタを選択します。\[Project Properties (プロジェクトプロパティ)\] で設定された Mule Runtime および Java バージョンと互換性のあるコネクタバージョンから選択できます。 ![プロジェクトに有効なバージョンの Exchange コネクタ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-add-component-connector-version.png) 6. **\[Add Component (コンポーネントを追加)\]**​ パネルから操作を選択します。 ## [](#import-command)コマンドを使用してコネクタをインポートする 後でプロジェクトで使用するコネクタを Exchange からインポートする手順は、次のとおりです。 1. {open-config-xml} (​`my-project-name.xml`​ など)。 2. キャンバスが自動的に開かない場合は、アクティビティバーの​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-tree-view.png)​ (​**Show Mule graphical mode (Mule グラフィカルモードを表示)**​) をクリックしてキャンバスを開きます。 3. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 4. 次のコマンドを選択します。 ```command MuleSoft: Import Asset from Exchange ``` 5. **\[Connector\]**​ を選択します。 6. インポートするコネクタ名 (「MQ」など) を検索します。次に例を示します。 !["Exchange から Anypoint MQ Connector をインポート](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-import-connect-exchange.png) 7. コネクタを選択します。 8. プロンプトで、インポートするコネクタのバージョン (​`v4.0.3`​ など) を選択します。 Anypoint Code Builder によりコネクタがインポートされ、コンポーネントリストで使用可能になります。 Exchange で利用できるコネクタについての詳細は、[Connectors](https://docs.mulesoft.com/connectors/)を参照してください。 Exchange についての詳細は、 [Exchange (US)](https://anypoint.mulesoft.com/exchange/)​ または [Exchange (EU)](https://eu1.anypoint.mulesoft.com/exchange/)​ と[Anypoint Exchange の概要](https://docs.mulesoft.com/jp/exchange/)を参照してください。 # Exchange への API プロジェクトのパブリッシュ **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 API プロジェクトを Anypoint Exchange にパブリッシュして、他のチームメンバーがそれらを見つけて使用できるようにします。 ## [](#prereqs)始める前に API プロジェクトをパブリッシュする前に次の操作を実行します。 - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [API 仕様](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)​または​[フラグメントを作成します](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-fragments)​。 - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)​に精通します。 API 仕様を Anypoint Code Builder から Exchange にパブリッシュすると、IDE でビジネスグループの名前が要求されます。 ## [](#publish-spec)Exchange に API プロジェクトをパブリッシュする Exchange に API プロジェクトをパブリッシュする手順は、次のとおりです。 1. Anypoint Platform アカウントにログインします。 2. **\[Explorer\]**​ で、API プロジェクトを開き、\[Publish API Project to Exchange (Exchange に API プロジェクトをパブリッシュ)\] アイコンをクリックします。 ![\[Publish API Project to Exchange (Exchange に API プロジェクトをパブリッシュ)\] アイコン](_images/icon-publish-to-exchange.png) プロジェクトを開かない場合は、API 仕様を右クリックして ​**\[Publish API Project to Exchange (Exchange に API プロジェクトをパブリッシュ)\]**​ を選択することもできます。 または、次の手順を実行します。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. `「publish」`​と入力し、次のコマンドを選択します。 ```command MuleSoft: Publish API Project to Exchange ``` 3. 確認を促されたら、​**\[Allow (許可)\]**​ をクリックし、プロンプトに従って Anypoint Platform にサインインします。 4. **\[Publish API Project to Exchange (Exchange に API プロジェクトをパブリッシュ)\]**​ の各項目を確認または変更します。 - **Asset version (アセットバージョン)** - **API Version (API バージョン)** API プロジェクトが Exchange に一度もパブリッシュされていない場合、デフォルトのバージョンは ​`1.0.0`​ になります。 API フラグメントの場合、API バージョンは必要ありません。 - **Business Group (ビジネスグループ)** API プロジェクトの作成時にビジネスグループを選択した場合、この項目はフォームに表示されません。​**\[Project Metadata (プロジェクトメタデータ)\]**​ を展開して、ビジネスを表示および更新できます。 5. 必要に応じて、​**\[Project Metadata (プロジェクトメタデータ)\]**​ を展開し、​**\[API Project Properties (API プロジェクトプロパティ)\]**​ をクリックして、アセット名と ID の更新、タグとカテゴリの追加、ビジネスグループの更新など、API プロジェクトのメタデータの更新を行います。詳細は、​[「API プロジェクトにメタデータを追加する」](https://docs.mulesoft.com/jp/anypoint-code-builder/ai-enabling-api-project-topic-center#add-metadata)​を参照してください。 1. 更新が完了したら、​**\[Apply (適用)\]**​ をクリックします。 6. バナーで ​**\[Sync centralized governance rulesets and run validation (中央管理ガバナンスルールセットを同期して検証を実行)\]**​ をクリックし、適用されたルールセットに API プロジェクトが準拠していることを確認します。 このステップは省略可能ですが、ベストプラクティスとして推奨されます。ルールセットを検証するには、Anypoint Platform アカウントにログインし、API プロジェクトメタデータでビジネスグループを定義している必要があります。 ![中央管理ルールセットを同期するためのバナーがある \[Publish API Project to Exchange (Exchange に API プロジェクトをパブリッシュ)\] フォーム](_images/des-publish-api-project.png) 7. **\[Publish (パブリッシュ)\]**​ をクリックします。 パブリッシュが完了したら、API 仕様が Exchange に正常にパブリッシュされたことを示すメッセージが表示されます。 API プロジェクトにエラーがある場合は、Exchange にパブリッシュする前にエラーを修正する必要があります。エラーは ​**\[Problems (問題)\]**​ タブに表示されます。\[Publish API Project to Exchange (Exchange に API プロジェクトをパブリッシュ)\] アイコンをクリックして、​**\[Problems (問題)\]**​ タブにフォーカスを移動します。 8. Exchange でパブリッシュされたアセットを表示するには、​**\[View Asset (アセットを表示)\]**​ をクリックします。 9. API を実装するように促されたら、次のいずれかを選択します。 - インテグレーションに API 仕様をスキャフォールディングしないようにするには、​**\[No (いいえ)\]**​ を選択します。 - 新しいプロジェクトに API 仕様をスキャフォールディングするには、​**\[Yes (はい)\]**​ を選択します。 手順を表示 1. 表示された項目に実装プロジェクトの名前を入力します。 2. プロジェクトのディレクトリに移動し、​**\[Select target folder (対象フォルダーを選択)\]**​ をクリックします。 3. プロジェクトの Mule Runtime (Mule) バージョンを選択します。 4. Mule でサポートされる Java バージョンを選択します。 5. スキャフォールディングプロセスが完了したら、\[Explorer\] で ​`src/main/mule`​ ディレクトリからプロジェクトのスキャフォールディング済みインターフェースを表示します。 スキャフォールディングが失敗する場合は、[実装エラー](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-implementation-errors)を参照してください。 \[Explorer\] から新しいプロジェクトの ​`mule-artifact.json`​ ファイルを開いて、Mule バージョンと Java バージョンを確認することもできます。次に例を示します。 ```XML { "minMuleVersion": "4.6.2", "javaSpecificationVersions": [ "11" ] } ``` `mule-artifact.json`​ ファイルはプロジェクトディレクトリのルートレベルにあります。 ## [](#locate-api)Exchange で API を見つける API 仕様をパブリッシュしたら、Anypoint Exchange でその API 仕様を見つけることができます。 1. Anypoint Platform に移動し、ログイン情報を使用してログインします。 手順を表示 - US クラウド (非 EU ホスト): [Anypoint Platform (US)](https://anypoint.mulesoft.com/login/) - EU クラウド (EU ホスト): [Anypoint Platform (EU)](https://eu1.anypoint.mulesoft.com/login/) 2. Anypoint Exchange に移動します。 手順を表示 - US クラウド (非 EU ホスト): [Exchange (US)](https://anypoint.mulesoft.com/exchange/) - EU クラウド (EU ホスト): [Exchange (EU)](https://eu1.anypoint.mulesoft.com/exchange/) API 仕様が組織のアセットとして表示されます。次に例を示します。 ![Exchange 内の API 仕様](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-api-exchange.png) API を選択し、その概要に移動して、前のタスクで定義したすべてのエンドポイントを表示できます。Exchange のアセットの詳細ページにドキュメントがない REST API のドキュメントを生成することもできます。詳細は、 [「Einstein 生成 AI を使用した API ドキュメントの生成」](https://docs.mulesoft.com/exchange/generating-documentation-with-ai)​を参照してください。 ## [](#publish-graphql-to-exchange)Exchange に GraphQL API 仕様をパブリッシュする GraphQL API 仕様を Exchange にパブリッシュする手順は、次のとおりです。 1. Anypoint Platform に移動し、ログイン情報を使用してログインします。 手順を表示 - US クラウド (非 EU ホスト): [Anypoint Platform (US)](https://anypoint.mulesoft.com/login/) - EU クラウド (EU ホスト): [Anypoint Platform (EU)](https://eu1.anypoint.mulesoft.com/login/) 2. Anypoint Exchange に移動します。 手順を表示 - US クラウド (非 EU ホスト): [Exchange (US)](https://anypoint.mulesoft.com/exchange/) - EU クラウド (EU ホスト): [Exchange (EU)](https://eu1.anypoint.mulesoft.com/exchange/) 3. **\[Publish new asset (新規アセットをパブリッシュ)\]**​ をクリックします。 ![Exchange の \[Publish new asset (新規アセットをパブリッシュ)\] ボタン](_images/des-publish-asset-exchange.png) 4. **\[Publish a new asset (新規アセットをパブリッシュ)\]**​ フォームに情報を入力します。 ![Exchange の \[Publish a new asset (新規アセットをパブリッシュ)\] フォーム](_images/des-graphql-publish-exchange.png) 1. **\[Name (名前)\]**​ にアセットの名前を入力します。 2. **\[Asset types (アセットタイプ)\]**​ では、​**\[GraphQL API\]**​ を選択します。 3. **\[Method (方法)\]**​ では、​**\[Upload a GraphQL API Schema (GraphQL API スキーマをアップロード)\]**​ を選択します。 4. **\[File upload (ファイルアップロード)\]**​ では、​**\[Choose file (ファイルを選択)\]**​ をクリックして目的の ​`.graphql`​ スキーマファイルを探します。 5. バージョン番号を変更するには、​**\[Advanced (詳細)\]**​ をクリックします。 6. **\[Lifecycle state (ライフサイクル状態)\]**​ では、​**\[Stable (安定)\]**​ を選択します。 5. **\[Publish (パブリッシュ)\]**​ をクリックします。 次の例のように、GraphQL API 仕様が Exchange で利用できるようになりました。 ![Exchange での GraphQL API 仕様](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-graphql-asset-exchange.png) ## [](#関連情報)関連情報 - [ガバナンスルールセットに対する API 仕様の検証](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api) - [トピックとエージェントアクションの API プロジェクトを有効化](https://docs.mulesoft.com/jp/anypoint-code-builder/ai-enabling-api-project-topic-center) # First Successful () いずれかのルートが正常に実行されるまで、設定されている処理ルートのリストのルートを反復処理します。 1 つの処理ルートが実行に失敗すると (エラーをスローします)、ルーターは次に設定されているルートを実行します。 設定されているルートがいずれも正常に実行されないと、First Successful ルーターはエラーをスローします。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` First Successful (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

First successful (最初の成功)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

``​ は First Successful の子要素です。
子要素 説明

<route/>

1 つ以上のコンポーネントを子要素として受け入れます。複数の ​<route/>​ 設定が許可されます。

## [](#例)例 4 つの処理ルートが設定されている First Successful ルーターの例を示します。 ```xml (1) (2) (3) (4) ```
1最初のルートが実行され、存在しないファイルを読み取ろうとしたため失敗します。
22 つ目のルートは、存在しない変数にアクセスしようとしたため失敗します。
33 つ目のルートは正常に実行され、​successfulRoute​ 変数に ​3​ を設定します。
4First Successful ルーターは、いずれかのルートが正常に完了した時点で実行を終了するため、4 つ目のルートは実行されません。
## [](#see-also)関連情報 - [Mule エラー](https://docs.mulesoft.com/mule-runtime/latest/mule-error-concept) - [エラーハンドラー](https://docs.mulesoft.com/mule-runtime/latest/error-handling) # Flow () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE 一連のコアコンポーネントと操作 (コネクタとモジュールによって提供される) をスコープ内でグループ化し、インテグレーションプロセスの自動化に役立ちます。 Mule アプリケーション内では、フローは、Mule イベントで Mule Runtime によって順次実行される、コネクタ操作を含む実行可能なコンポーネントのブロックです。フローには、イベントの作成とフローの実行をトリガーするイベント取得元も含めることができます。Mule アプリケーションで 1 つ以上のフローを作成します。 フローとサブフローの仕様、機能、制限についての詳細は、​[「フローおよびサブフロー」](https://docs.mulesoft.com/mule-runtime/latest/about-flows)​を参照してください。 フローは常に同期的に機能します。ファイヤアンドフォゲットなどの非同期パターンを実現するには、​[Async スコープ](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-async)​を使用します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Flow (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

name1​ (デフォルト)

name

キャンバスに表示されるコンポーネントの編集可能な名前。

Initial state (初期状態)

initialState

アプリケーションの起動時にフローが有効かどうかを示します。使用可能な値は、​started​ と ​stopped​ です。フロー内の内部または外部 Mule イベントソース (HTTP リスナーや Scheduler など)、別のフローやサブフローからのフロー参照、または ​lookup​ DataWeave 関数のコールによって、​started​ 状態のフローをトリガーできます。

初期状態を ​stopped​ に設定した場合は、​Runtime Manager​ を使用してフローをアクティブ化するか、フロー設定を ​Started​ にリセットします。この状態のコンソール出力は次のようになります: Flow flow_component_ex has not been started (initial state = 'stopped')​

デフォルトは ​started​ です。

Max concurrency (最大同時実行)

maxConcurrency

フローが処理できる同時メッセージの最大数を設定します。設定しない場合、フローがメッセージの処理時にパフォーマンスを最適化するために使用できる最大スレッド数は、コンテナスレッドプールによって異なります。フローが最大数の同時メッセージを処理している間は追加要求を受信できません。

フローが要求を 1 つずつ処理するようにするには、​maxConcurrency​ を ​1​ に設定します。

最大同時実行値に達した後の Mule Runtime の動作についての詳細は、​「バックプレッシャー」​を参照してください。

なし

tracking:enable-default-event

true​ に設定すると、CloudHub にデプロイする Mule アプリケーションのビジネスイベントが有効になります。

なし

tracking:transaction-id

ビジネスイベントのトランザクション ID を指定します。​tracking:enable-default-event​ を ​true​ に設定する必要があります。

## [](#例-フローとサブフロー)例: フローとサブフロー 次の例は、10 秒ごとにフローの実行をトリガーするスケジューラーを取得元として使用し、Flow Ref (​``​) コンポーネントを介してサブフロー (​``​) に接続します。そのサブフローも、Flow Ref コンポーネントを使用して別のサブフローに接続します。 ```xml 9.99 53 398.99 ', 'application/xml') output application/xml --- myXml ]]> { (key) : { dollars: value, localCurrency: value * conversionRate, index_plus_1: index + 1, timer : currentMilliseconds() } }]]> ``` この例の出力は次のようになります。 ```json { "priceList": { "basic": { "dollars": "9.99", "localCurrency": 129.87, "index_plus_1": 1, "timer": 1533024312658 }, "premium": { "dollars": "53", "localCurrency": 689, "index_plus_1": 2, "timer": 1533024312659 }, "vip": { "dollars": "398.99", "localCurrency": 5186.87, "index_plus_1": 3, "timer": 1533024312659 } } } ``` ## [](#error-handling)エラー処理 フローに ​[Transform Message](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-error-handler)​ コンポーネントを追加します。 次の例では、空の ​__​ タグを含む ​_myXML_​ 変数を設定します。DataWeave 条件 ​`isEmpty(payload.prices)`​ は ​`true`​ を返すため、​``​ はエラーを返します。 ```xml ', 'application/xml') output application/xml --- myXml ]]>
``` 結果のエラーメッセージは次のようになります。 ```text ERROR 2018-07-30 23:58:45,293 [[MuleRuntime].cpuLight.06: [flow_subflow].flow_subflowFlow.CPU_LITE @1b1529b2] [event: 0-2aba3280-948f-11e8-82d0-f45c898f2549] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: "An Error Occurred" ``` ## [](#see-also)関連情報 - [Subflow](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-subflow) - [back-pressure と maxConcurrency](https://docs.mulesoft.com/mule-runtime/latest/tuning-backpressure-maxconcurrency) # Flow Reference () Mule イベントを同じ Mule アプリケーション内で別のフローやサブフローにルーティングし、参照先のフローですべてのプロセッサーを実行してから、イベントを元のフローにルーティングします。 このプロセスにより、参照先のフロー全体を現在のフロー内の 1 つのコンポーネントのように扱うことができます。 Flow Reference によって、Mule アプリケーションを個々の再利用可能な単位に分割できます。たとえば、ファイルをリストすることが多いフローは、List 操作の出力を処理する別のフローを参照できます。ファイルをリストするフローにすべての処理ステップを追加する代わりに、処理フローを参照する Flow Reference を追加できます。
実際のフロー名を使用して ​[Flow name (フロー名)]​ (​name​) 属性を定義してください。動的値 (DataWeave 式、変数) を使用して参照先フローを指定すると、パフォーマンスが低下します。また、MUnit テストおよびアプリケーション分析ツールは動的参照では正常に機能しない可能性があります。
## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Flow Reference () 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Name (名前)

name

このコンポーネントが参照するフローの名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Target Variable (対象変数)

target

メッセージデータを格納する変数の名前。数字、文字、アンダースコアのみを使用できます。たとえば、名前にハイフンは使用できません。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

Target Value (対象値)

targetValue

対象変数に格納するデータの値。このデフォルト値はメッセージペイロード (payload) です。この項目は、変数が受け入れるすべての値を受け入れます。サポートされているデータ型、DataWeave の式、​payload​、​attributes​、​message​ キーワードが該当しますが、​vars​ キーワードは対象外です。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

## [](#対象変数を使用する場合の考慮事項)対象変数を使用する場合の考慮事項 Flow Reference コンポーネントで ​`target`​ 変数を設定すると、元のメッセージは変更されません。つまり、参照先のフローでペイロードや変数が変更されても、参照先のフローでプロセッサーの実行が完了した後は、ペイロードや変数は元の値に戻ります。 一方、​`target`​ 変数を設定しないと、参照先のフローでペイロードや変数に対して行われた変更は、参照先のフローの実行が完了した後も保持され、ペイロードや変数の元の値が変更されます。 ## [](#参照先フローに移動する)参照先フローに移動する ビューを手動で切り替えることなく、Flow Reference コンポーネントが参照するフローをキャンバスから直接開くことができます。 参照先フローを表示する手順は、次のとおりです。 1. キャンバス内の Flow Reference コンポーネントを右クリックします。 2. コンテキストメニューから ​**\[Go to Flow (フローに移動)\]**​ を選択します。 Anypoint Code Builder の適切なキャンバスで対象フローが開きます。 \* アプリケーションフローでは、フローキャンバスで参照先フローが開きます。 \* MUnit テストフローでは、MUnit キャンバスで参照先フローが開きます (該当する場合)。 これにより、アプリケーションの構築やテスト時に、モジュール設計全体のフローロジックをトレースおよび管理できます。 ## [](#例)例 次の例では、HTTP リスナーを設定し、ペイロードを更新し、変数を設定し、対象変数 ​`flowReferenceVar`​ を追加して別のフローを参照します。この変数は、Flow Reference コンポーネントによってコールされる 2 つ目のフローの結果を格納します。この変数は、​`vars.flowReferenceVar`​ のログを記録することで、メインフローでも使用されます。 ```xml ``` 次のログは、アプリケーション例の実行後の出力を表しています。 INFO LoggerMessageProcessor: Payload = Original payload INFO LoggerMessageProcessor: myVar = 1 INFO LoggerMessageProcessor: flowReferenceVar = Modified payload Flow Reference コンポーネントから ​`target="flowReferenceVar"`​ を削除すると、アプリケーションは次の出力を返します。 INFO LoggerMessageProcessor: Payload = Modified payload INFO LoggerMessageProcessor: myVar = 2 INFO LoggerMessageProcessor: flowReferenceVar = null ログは、読みやすいように省略されています。 ## [](#error-handling)エラー処理 Flow Reference コンポーネントによって参照されているフロー内でエラーが発生すると、参照先フローの実行が停止し、参照先フローのエラーハンドラーに処理が渡されます。参照先フローでエラーハンドラーが設定されていない場合は、Flow Reference コールを含むフローまでエラーが伝播され、このフローで設定されている Error Handler コンポーネントでエラーが処理されます。 エラーが発生した場合は、フローの実行が停止して正常に終了しないため、対象変数は設定されません。 ## [](#see-also)関連情報 - [Mule イベント](https://docs.mulesoft.com/mule-runtime/latest/about-mule-event) - [対象変数を使用したデータの強化](https://docs.mulesoft.com/mule-runtime/latest/target-variables) - [トランザクションによるスコープとルーターへの影響](https://docs.mulesoft.com/mule-runtime/latest/transaction-management#tx_scopes_routers) # For Each () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE 他のプログラミング言語の ​`for-each`​ または ​`for`​ ループに似たパターンで入力を処理します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` For Each (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Foreach​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Collection (コレクション)

collection

Java コレクション、オブジェクト、配列、マップ、または DOM ノードを返す DataWeave 式。For Each は、コレクションを要素 (オブジェクトの JSON 配列内の最上位レベルのオブジェクトなど) に自動的に分割します。各要素は、For Each 内のプロセッサーが処理する ​payload​ になります。For Each は、サポートされている任意のコンテンツタイプ (​application/json​、​application/java​、​application/xml​ など) のコレクションを受け入れます。デフォルトは ​payload​ です。

Batch size (バッチサイズ)

batchSize

入力から収集された要素を指定されたサイズのサブコレクションに分割するためにスコープが使用する数値。たとえば、For Each への入力が 199 要素の配列で、バッチサイズを 50 に設定した場合、スコープはそれぞれ 50 要素の配列を 3 つと、49 要素の配列を 1 つ生成します。デフォルトは ​1​ です。

Root message variable name (ルートメッセージ変数名)

rootMessageVariableName

元の入力からの分割されていない完全な Mule メッセージを For Each に格納する変数の設定可能な名前。メッセージにはペイロードと属性が含まれますが、Mule メッセージを含む Mule イベントの一部である変数 (​vars​) は含まれません。For Each 内では、​vars.rootMessage.payload​ を使用してメッセージのペイロードの値にアクセスし、​vars.rootMessage.attributes​ を使用してメッセージの属性にアクセスできます。For Each はこの変数をコンシュームするため、この変数にはスコープ内からのみアクセスできます。For Each 外部では、変数は ​null​ を返します。デフォルトは ​rootMessage​ です。

Counter variable name (カウンター変数名)

counterVariableName

特定の要素の各反復に番号を割り当てる変数の名前。シーケンスは ​1​ から順番に進みます。このプロパティのデフォルト名 (​counter​) を使用すると、​vars.counter​ でこの数値にアクセスできます。For Each はこの変数をコンシュームするため、スコープ外部で使用することはできず、​null​ を返します。デフォルトは ​counter​ です。

## [](#例)例 次の例では、受け取ったオブジェクトの配列を収集し、個別のオブジェクトに分割します。スコープ内のコンポーネントは、各オブジェクトの一部を選択し、その選択されたコンテンツの一部を個別のファイルに書き込み、For Each 内で結果として生じる新しい ​`payload`​ をログに記録します。 For Each は、この [オブジェクトの JSON 配列](https://jsonplaceholder.typicode.com/users)​に対するスケジュール済み HTTP 要求から入力を受け取るとします。 ```xml (1) (2) (3) (4) ``` For Each は入力配列を処理します。
1 For Each (​<foreach />​) は入力ペイロード全体を収集し、その中の次のような 10 個の最上位 JSON オブジェクトに分割します。
{
  "id": 1,
  "name": "Leanne Graham",
  "username": "Bret",
  "email": "Sincere@april.biz",
  "address": {
    "street": "Kulas Light",
    "suite": "Apt. 556",
    "city": "Gwenborough",
    "zipcode": "92998-3874",
    "geo": {
      "lat": "-37.3159",
      "lng": "81.1496"
    }
  },
  "phone": "1-770-736-8031 x56442",
  "website": "hildegard.org",
  "company": {
    "name": "Romaguera-Crona",
    "catchPhrase": "Multi-layered client-server neural-net",
    "bs": "harness real-time e-markets"
  }
}
2 For Each は各オブジェクトを反復処理するため、Transform コンポーネント (​<ee:transform />​) の DataWeave 式 (​payload.company​) は DataWeave セレクターを使用して各 ​"company"​ キーの値を抽出し、​payload​ をそれらのキーのそれぞれの値に変換します。Mule フローと同様に、For Each 内の次のコンポーネントは、変換されたペイロードを入力として受け取ります。
3 File Write 操作 (​<file:write />​) は、より大きな DataWeave 式内で ​payload.name​ を使用して、変換されたオブジェクトから各会社の ​name​ を選択します。各ファイルの名前は、式で指定されたパターンに従い、抽出された会社名がハイフンで区切られ、ファイル名を一意にするために日時スタンプが追加されます。たとえば、Romaguera-Crona データのファイルの名前は次のようになります。
Romaguera-Crona-20221007113314.json

デフォルトでは、この操作では、Transform Message から受信したペイロードも各ファイルに読み込まれます。

4 ログには、入力配列の最初のオブジェクトに関する次のメッセージが出力されます。
{
  "name": "Romaguera-Crona",
  "catchPhrase": "Multi-layered client-server neural-net",
  "bs": "harness real-time e-markets"
}
Mule 変数を処理する場合、For Each 内の実行は前回の実行からの Mule 変数の値で始まります。1 つの要素の処理時に作成された新しい Mule 変数または既存の変数への変更は、他の要素の処理中にアクセスできます。Mule 変数への変更は、引き続き For Each スコープの外部で使用できます。 ```xml ``` Choice ルーター (​``​) が各条件内でプロセッサーを実行すると、Logger (​`Logger After Choice`​) は次の変数値を出力します。 ```log // Condition: when payload == 'apple' .LoggerMessageProcessor: [var1-BeforeForEach, var2-newValue, var3-appleVal, null] // Condition: when payload == 'banana' .LoggerMessageProcessor: [var1-BeforeForEach, var2-newValue, var3-appleVal bananaVal, null] // Condition: otherwise .LoggerMessageProcessor: [var1-BeforeForEach, var2-newValue, var3-otherVal, var4-val4] ``` 最後の値は For Each 外部に伝播されます。Logger (​`Logger After For Each`​) は、最後の Choice の条件 (​`otherwise`​) の後に出力される値と同じ値を出力します。 ```log [var1-BeforeForEach, var2-newValue, var3-otherVal, var4-val4] ``` ## [](#error-handling)エラー処理 コレクション内のいずれかの要素で例外がスローされると、For Each はそのコレクションの処理を停止し、エラーハンドラーを呼び出します。 ## [](#see-also)関連情報 - [Transform コンポーネント](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-transform) - [Mule Event Structure](https://docs.mulesoft.com/mule-runtime/latest/about-mule-event) - [Mule Message Structure](https://docs.mulesoft.com/mule-runtime/latest/about-mule-message) - [DataWeave リファレンス](https://docs.mulesoft.com/jp/dataweave/2.4/dw-functions) # GraphQL API の実装 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Exchange に GraphQL API スキーマをパブリッシュします。次に、Anypoint Code Builder を使用して、スキーマを Mule アプリケーションにインポートしてスキャフォールディングします。インターフェースを実行して実装します。 ## [](#始める前に)始める前に 次の手順を実行します。 - MuleSoft 環境をセットアップします。 詳細は、[Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)を参照してください。 - [**ブック API**​ GraphQL スキーマ](https://docs.mulesoft.com/jp/anypoint-code-builder/_attachments/books-api.graphql)​をダウンロードします。 または、次のコンテンツが含まれる ​`books-api.graphql`​ という名前のファイルを作成します。 ```graphql schema { query: Query } type Query { bookById(id: ID): Book books: [Book] bestsellers: Bestsellers } type Book { id: ID! name: String pageCount: Int author: Author } type Author { id: ID! firstName: String lastName: String } type Bestsellers { books: [Book] authors: [Author] } ``` ## [](#graphql-api-を-exchange-にパブリッシュする)GraphQL API を Exchange にパブリッシュする GraphQL API を実装するには、まず GraphQL API を Exchange に手動でパブリッシュする必要があります。 1. Anypoint Exchange に移動し、サインインします。 手順を表示 - US クラウド (非 EU ホスト): [Exchange (US)](https://anypoint.mulesoft.com/exchange/) - EU クラウド (EU ホスト): [Exchange (EU)](https://eu1.anypoint.mulesoft.com/exchange/) 2. **\[Publish new asset (新規アセットをパブリッシュ)\]**​ をクリックします。 3. **\[Name (名前)\]**​ に​`「books-api」`​と入力します。 4. **\[Asset types (アセットタイプ)\]**​ では、​**\[GraphQL API\]**​ を選択します。 5. **\[Method (方法)\]**​ では、​**\[Upload a GraphQL API Schema (GraphQL API スキーマをアップロード)\]**​ を選択します。 ![GraphQL API アセットをパブリッシュするフォーム](/mulesoft/current/ja-jp/anypoint-code-builder/_images/upload-graphql-api-exchange-method-select.png) 6. **\[File upload (ファイルアップロード)\]**​ では、​**\[Choose file (ファイルを選択)\]**​ をクリックして目的の ​`books-api.graphql`​ スキーマファイルを探します。 7. **\[Lifecycle state (ライフサイクル状態)\]**​ では、​**\[Stable (安定)\]**​ を選択します。 8. **\[Publish (パブリッシュ)\]**​ をクリックします。 ## [](#graphql-api-スキーマを実装する)GraphQL API スキーマを実装する Anypoint Code Builder を使用して Anypoint Exchange のスキーマを取得し、デスクトップ IDE またはクラウド IDE から実装できるインターフェースにスキーマをスキャフォールディングします。 1. Anypoint Code Builder を開きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command MuleSoft: Implement an API Specification ``` 4. Anypoint Platform にサインインするように求められたら、​**\[Allow (許可)\]**​ をクリックして、プロンプトに従ってサインインします。 5. 次の値を使用してプロジェクトを設定します。 ![新しい API 仕様を実装するフォーム](/mulesoft/current/ja-jp/anypoint-code-builder/_images/implement-api-configure-in-task.png) 1. **Project Name (プロジェクト名)**​: `books-implementation` 2. **\[Project Location (プロジェクトの場所)\]**​: **\[Browse (参照)\]**​ をクリックしてホームディレクトリを選択します。 3. Exchange で​`「books」`​と入力して Return キーを押し、​**books-api**​ 仕様を検索して結果を表示します。 4. 検索結果で ​**books-api**​ の上にマウスポインターを置き、表示される ​**\[Add Asset (アセットを追加)\]**​ ボタンをクリックします。 ![\[Add Asset (アセットを追加)\] ボタンが強調表示されている、使用可能な API 仕様のテーブル](_images/select-books-graphql-api.png) 5. **Mule Runtime**​ および ​**Java**​ バージョンを入力します。 6. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 7. 確認を促されたら、API 仕様の作成者を信頼します。 信頼しないと、IDE からプロジェクトの作業を行うことができません。 作成者を信頼すると、Anypoint Code Builder では GraphQL API をスキャフォールディングし、ブック API GraphQL スキーマ内のタイプごとに空のフローでプロジェクトを作成します。
GraphQL スキーマ Mule フロー
type Query {
  bookById(id: ID): Book
  books: [Book]
  bestsellers: Bestsellers
}

type Book {
  id: ID!
  name: String
  pageCount: Int
  author: Author
}

type Author {
  id: ID!
  firstName: String
  lastName: String
}

type Bestsellers {
  books: [Book]
  authors: [Author]
}
<flow name="Query.bookById"/>
<flow name="Query.books"/>
<flow name="Query.bestsellers"/>
<flow name="Book.author"/>
<flow name="Bestsellers.books"/>
<flow name="Bestsellers.authors"/>
各フローには、​``​、​``​、​``​ 要素の設定が含まれます。 ``​ 要素は、フローのトリガーとして機能します。データフェッチャーについての詳細は、[データソースへの GraphQL API のマッピング](https://docs.mulesoft.com/jp/apikit/latest/apikit-graphql-api-mapping)を参照してください。 8. [GraphQL プロジェクトをテストする](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-graphql-test-first-implementation)に進み、Anypoint Code Builder でアプリケーションを実行して、GraphQL クエリをエンドポイントに投稿します。 # GraphQL プロジェクトをテストする **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 GraphQL プロジェクトを変更する前に、アプリケーションを IDE 内でローカルで実行してエンドポイントをテストします。 ## [](#始める前に)始める前に [GraphQL API の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-graphql-implement-api)を完了します。 ## [](#アプリケーションを実行する)アプリケーションを実行する Mule アプリケーションを IDE 内でローカルにデプロイするには、Anypoint Code Builder でデバッグセッションを実行します。 1. Anypoint Code Builder で ​**\[Books Implementation (ブック実装)\]**​ プロジェクトを開きます。 2. アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**\[Run and Debug (実行およびデバッグ)\]**​) アイコンをクリックし、​**\[Start Debugging (F5) (デバッグを開始 (F5))\]**​ アイコンをクリックします。 3. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 4. ターミナルで、プラス (​**+**​) アイコンをクリックして新しいコマンドプロンプトを開きます。次に例を示します。 ![ターミナルからコマンドプロンプトを開く](/mulesoft/current/ja-jp/anypoint-code-builder/_images/open-command-prompt.png) または、プラス (​**+**​) アイコンの横にある ​**v**​ メニュー (逆キャレット) をクリックして、使用するコマンドシェル (​**bash**​ など) を選択します。 ![ターミナルから bash プロンプトを開く](/mulesoft/current/ja-jp/anypoint-code-builder/_images/open-command-prompt-bash.png) 5. シェルのプロンプトから次の ​`curl`​ コマンドを実行して、​**bookById**​ フローをトリガーします。 ```curl curl --request POST \ --location 'http://localhost:8081/graphql' \ --header 'Content-Type: application/json' \ --data '{ "query": "query bookById($id: ID) {bookById(id: $id){ id name pageCount author{ id firstName lastName}}}", "variables": { "id": 1 } }' ``` エラー​`「curl: (7) Failed to connect to localhost port 8081 after 0 ms: Couldn’t connect to server (curl: (7) ローカルホストポート 8081 に接続できませんでした (0 ms 経過): サーバーに接続できませんでした)」`​が発生したら、アプリケーションを停止して、デバッグモードで再実行します。アプリケーションの停止に関する指針は、[Mule アプリケーションのデバッグ](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps)を参照してください。
Postman などのツールでは、GraphQL クエリをビルドする方法が提供されます。たとえば、Postman では、クエリを ​[Body (本文)]​ タブに配置して、​curl​ 要求のコードスニペットを見つけることができます。結果のコマンドには、​curl​ コマンドの ​--data​ 値から削除できる改行 (​\\n​) とタブ (​\\t​) 文字が含まれます。詳細は、Postman ドキュメントの 「Make an HTTP call with GraphQL (GraphQL を使用した HTTP コールの実行)」​を参照してください。
Anypoint Code Builder からターミナルに次の出力が返されます (読みやすくするために手動で再書式設定)。 ```GraphQL { "data": { "bookById": { "id":"#myID", "name":"This is some example data", "pageCount":100, "author": { "id":"urn:uuid:123e4567-e89b-12d3-a456-426655440000", "firstName":"This is some example data", "lastName":"Hello World!" } } } } ``` 出力のモックデータは、​**Query.bookById**​ フロー (​``​) に含まれる Set Payload コンポーネントの文字列から取得されます。 ```xml ``` 6. 必要に応じて、他のエンドポイントのクエリを試します。 1. 次の ​`curl`​ コマンドを使用して ​`books`​ エンドポイントを照会します。 ```command curl --location 'http://localhost:8081/graphql' \ --header 'Content-Type: application/json' \ --data '{"query":"query books { books{ id name pageCount author{ id firstName lastName } }}","variables":{}}' ``` このコマンドでは、次の結果が返されます (読みやすくするために手動で再書式設定)。 { "data": { "books": \[{ "id":"urn:uuid:123e4567-e89b-12d3-a456-426655440000", "name":"This is some example data", "pageCount":1, "author": { "id":"urn:uuid:123e4567-e89b-12d3-a456-426655440000", "firstName":"This is some example data", "lastName":"Hello World!" } }\] } } 参考までに、​`books`​ エンドポイントは次のような構造になります。 ```GraphQL query books { books{ id name pageCount author{ id firstName lastName } } } ``` 2. Query ​`bestSellers`​: ```command curl --location 'http://localhost:8081/graphql' \ --header 'Content-Type: application/json' \ --data '{"query":"query bestsellers { bestsellers{ books{ id name pageCount author{ id firstName lastName } } authors{ id firstName lastName } } }","variables":{}}' ``` このコマンドでは、次の結果が返されます (読みやすくするために手動で再書式設定)。 { "data" : { "bestsellers": { "books": \[{ "id":"#myID", "name":"This is some example data", "pageCount":1, "author": { "id":"urn:uuid:123e4567-e89b-12d3-a456-426655440000", "firstName":"This is some example data", "lastName":"Hello World!" } }, { "id":"some-id", "name":"Goodbye", "pageCount":100, "author": { "id":"urn:uuid:123e4567-e89b-12d3-a456-426655440000", "firstName":"This is some example data", "lastName":"Hello World!" } }, { "id":"urn:uuid:123e4567-e89b-12d3-a456-426655440000", "name":"Hello World!", "pageCount":-10, "author": { "id":"urn:uuid:123e4567-e89b-12d3-a456-426655440000", "firstName":"This is some example data", "lastName":"Hello World!" } }\], "authors": \[{ "id":"urn:uuid:123e4567-e89b-12d3-a456-426655440000", "firstName":"Hello World!", "lastName":"Hello World!" }, { "id":"#myID", "firstName":"Goodbye", "lastName":"Goodbye" }\] } } } 参考までに、​`bestsellers`​ エンドポイントは次のような構造になります。 ```GraphQL query bestsellers { bestsellers{ books{ id name pageCount author{ id firstName lastName } } authors{ id firstName lastName } } } ``` 7. [GraphQL 実装の応答の設定](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-graphql-configure-flow-responses)に進み、各フローに各クエリのカスタム応答を入力します。 # GraphQL 実装の応答の設定 ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 フローごとに特定の応答を返すように GraphQL 実装を設定します。 ## [](#始める前に)始める前に 次の手順を実行します。 - [GraphQL API の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-graphql-implement-api)。 - [GraphQL プロジェクトをテストする](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-graphql-test-first-implementation) ## [](#ロジックをフローに追加する)ロジックをフローに追加する 1. Anypoint Code Builder で ​**\[Books Implementation (ブック実装)\]**​ プロジェクトを開きます。 2. \[Explorer\] のプロジェクトディレクトリから ​`flows.xml`​ を開きます。 3. `Query.bookById`​ フロー内で、​``​ 要素の後の ​**Set Payload**​ コンポーネントを次の Set Payload 設定で​_置き換え_​ます。 ```XML ``` これで、​`Query.bookById`​ フローの XML に次の設定が割り当てられます。 ```XML ``` 4. アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**\[Run and Debug (実行およびデバッグ)\]**​) アイコンをクリックし、​**\[Start Debugging (F5) (デバッグを開始 (F5))\]**​ アイコンをクリックして、アプリケーションを再ビルドします。 5. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 アプリケーションがすでに実行されている場合、​**\[Start New (新たに開始)\]**​ をクリックして、デバッグモードでアプリケーションを再実行します。 6. コマンドプロンプトから次の ​`curl`​ コマンドを実行します。 ```curl curl --request POST \ --location 'http://localhost:8081/graphql' \ --header 'Content-Type: application/json' \ --data '{ "query": "query bookById($id: ID) {bookById(id: $id){ id name pageCount author{ id firstName lastName}}}", "variables": { "id": 1 } }' ``` Anypoint Code Builder からターミナルに JSON 応答が返されます (読みやすくするために手動で再書式設定)。 ```JSON { "data": { "bookById": { "id":"1", "name":"My Book", "pageCount":28, "author": { "id":"urn:uuid:123e4567-e89b-12d3-a456-426655440000", "firstName":"This is some example data", "lastName":"Hello World!" } } } } ``` `bookById`​ エンドポイントをテストしたら、残りのフローをテストするために Set Payload を使用してモック応答を追加できます。次に例を示します。 ```XML ``` # IDE へのプロジェクトのインポート **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 プロジェクトの JAR ファイルまたはフォルダーを IDE のワークスペースにインポートします。 プロジェクトディレクトリには、インテグレーションまたは実装用の Mule アプリケーションが含まれます。 インポートの問題が発生する場合は、「Anypoint Code Builder リリースノート」の​[「Known Issues (既知の問題)」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#import-issues)​または[トラブルシューティング](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshooting)で回避策を確認してください。 アプリケーションからのリソースでプロジェクトをパッケージ化している JAR ファイルを​_エクスポート_​するには、[Mule プロジェクトのエクスポート](https://docs.mulesoft.com/jp/anypoint-code-builder/int-export-mule-project)を参照してください。 ## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - IDE で開いているプロジェクトをすべて閉じます。 手順を表示 - デスクトップ IDE で、​**\[File (ファイル)\]**​ > ​**\[Close Folder (フォルダーを閉じる)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[File (ファイル)\]**​ > ​**\[Close Folder (フォルダーを閉じる)\]**​ を選択する。
別のプロジェクトフォルダー内でプロジェクトフォルダーを開いたり、展開したりしないでください。
## [](#import-desktop)デスクトップ IDE にプロジェクトをインポートして開く デスクトップ IDE を使用してプロジェクトディレクトリまたは共有可能な JAR ファイルをプロジェクトワークスペースにアップロードします。 - [共有可能なプロジェクト JAR ファイルをデスクトップ IDE にインポートする](#desktop-project-package) - [プロジェクトフォルダーをデスクトップ IDE にインポートする](#desktop-project-folder) - [デスクトップ IDE またはクラウド IDE からプロジェクトフォルダーを開く](#both-open-project-folder) ### [](#desktop-project-package)共有可能なプロジェクト JAR ファイルをデスクトップ IDE にインポートする Mule プロジェクトのスナップショットの共有可能な JAR ファイルをデスクトップ IDE にインポートします。 共有可能な JAR ファイルを作成するには、​[「共有可能な JAR ファイルにエクスポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-export-mule-project#shareable)​を参照してください。 コンテンツに連動関係は含まれないため、コンテンツは軽量です。 IDE では、プロジェクトの ​`pom.xml`​ で設定された連動関係が生成されます。 共有可能な JAR ファイルをデスクトップ IDE にインポートする手順は、次のとおりです。 1. IDE で開いているプロジェクトがないことを確認します。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - **\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command MuleSoft: Import a Mule Project ``` 4. インポートする共有可能な JAR ファイルに移動し、​**\[Select jar file to import (インポートする JAR ファイルを選択)\]**​ をクリックします。 5. JAR ファイルを展開するフォルダー (ホームディレクトリや、Mule プロジェクトフォルダー​_外部_​のフォルダーなど) に移動します。 6. **\[Select project folder (プロジェクトフォルダーを選択)\]**​ をクリックします。 IDE により、プロジェクトの共有可能な JAR ファイルが選択したフォルダーに展開されます。 7. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトの​[ワークスペースを開きます](#both-open-project-folder)​。 グラフィカルキャンバスの読み込みに加えて、IDE はプロジェクトの ​`pom.xml`​ で定義された連動関係も読み込みます。 Mule Runtime または Java 設定がない場合は、キャンバスから使用するバージョンを設定します。 ライブラリは、プロジェクトフォルダー内の ​`target/repositories`​ ディレクトリに読み込まれます。 8. プロジェクトをテストします。 1. 開いているプロジェクトでエラーをチェックし、設定 XML とキャンバスが正しく読み込まれていることを確認します。これは、コンポーネントの連動関係が解決されたことを示します。 2. 設定 XML 内のポートやファイルパスなど、変更する設定を確認します。 3. プロジェクトを実行してデバッグします。 案内については、​[「デバッグモードでのアプリケーションの実行」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps#run-debug-mode)​を参照してください。 ### [](#desktop-project-folder)プロジェクトフォルダーをデスクトップ IDE にインポートする 一般的には、共有可能な JAR ファイルをインポートするか、ファイルディレクトリからプロジェクトワークスペースを開きますが、Mule プロジェクトフォルダーを \[Explorer\] ビューにドラッグしてプロジェクトを VS Code ワークスペースで開くこともできます。 デスクトップに保存されている Anypoint Studio (Studio) からのプロジェクトを含め、有効なプロジェクトフォルダーを開きます。または、​[デスクトップ IDE またはクラウド IDE からプロジェクトフォルダーを開く](#both-open-project-folder)​の手順を使用して、フォルダーを IDE にドラッグアンドドロップするのではなくプロジェクトをファイルディレクトリから開きます。 プロジェクトフォルダーをデスクトップ IDE にインポートする手順は、次のとおりです。 1. IDE で開いているプロジェクトがないことを確認します。 2. プロジェクトフォルダーの場所に移動します。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - **\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder ``` 3. インポートしたプロジェクトのフォルダー (ホームディレクトリや、Mule プロジェクトフォルダー​_外部_​のフォルダーなど) に移動して選択し、​**\[Open (開く)\]**​ をクリックします。 3. プロジェクトディレクトリをコンピューターから VS Code のエクスプローラービューにドラッグします。次に例を示します。 ![プロジェクトフォルダーをエクスプローラービューにドラッグ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-drag-folder.png) 4. **\[Copy Folder (フォルダーをコピー)\]**​ を選択します。 代わりに ​**\[Add Folder to Workspace (ワークスペースにフォルダーを追加)\]**​ を選択した場合は、エクスプローラーでプロジェクトを選択し、右クリックして ​**\[Remove Folder from Workspace (ワークスペースからフォルダーを削除)\]**​ を選択することで、最初からやり直すことができます。 削除したら、プロジェクトフォルダーをワークスペースには追加せずに、IDE にドラッグしてコピーします。 5. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトの​[ワークスペースを開きます](#both-open-project-folder)​。 グラフィカルキャンバスの読み込みに加えて、IDE はプロジェクトの ​`pom.xml`​ で定義された連動関係も読み込みます。 Mule Runtime または Java 設定がない場合は、キャンバスから使用するバージョンを設定します。 ライブラリは、プロジェクトフォルダー内の ​`target/repositories`​ ディレクトリに読み込まれます。 6. 確認を促されたら、​**\[Set Version (バージョンを設定)\]**​ をクリックして、​**\[Project Properties (プロジェクトプロパティ)\]**​ タブでサポートされる Mule Runtime または Java バージョンを設定します。 7. プロジェクトをテストします。 1. 開いているプロジェクトでエラーをチェックし、設定 XML とキャンバスが正しく読み込まれていることを確認します。これは、コンポーネントの連動関係が解決されたことを示します。 2. 設定 XML 内のポートやファイルパスなど、変更する設定を確認します。 3. プロジェクトを実行してデバッグします。 案内については、​[「デバッグモードでのアプリケーションの実行」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps#run-debug-mode)​を参照してください。 ## [](#import-web)クラウド IDE にプロジェクトをインポートして開く クラウド IDE を使用すると、プロジェクトディレクトリまたは JAR ファイルをワークスペースにアップロードできます。 - [共有可能なプロジェクト JAR ファイルをクラウド IDE にインポートする](#web-project-package) - [プロジェクトフォルダーをクラウド IDE にインポートする](#web-project-folder) - [デスクトップ IDE またはクラウド IDE からプロジェクトフォルダーを開く](#both-open-project-folder) ### [](#web-project-package)共有可能なプロジェクト JAR ファイルをクラウド IDE にインポートする Mule プロジェクトの JAR ファイルをインポートし、展開したプロジェクトを IDE のワークスペースに読み込みます。 1. クラウド IDE で開いているプロジェクトがないことを確認します。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command File: Open Folder... ``` 4. Anypoint Code Builder のホームディレクトリ、または Mule プロジェクトフォルダー​_外部_​のディレクトリを選択し、​**\[OK\]**​ をクリックします。 プロンプトが表示されたら、ディレクトリ内のファイルの作成者を信頼します。 Anypoint Code Builder にディレクトリが読み込まれます。 5. 共有可能な JAR ファイルをコンピューターからクラウド IDE の \[Explorer\] ビューにドラッグします。次に例を示します。 ![JAR ファイルをクラウド IDE の \[Explorer\] ビューにドラッグ](_images/int-drag-jar-cloud.png) プロンプトが表示されたら、ファイルまたはディレクトリの作成者を信頼します。
IDE の警告​「This file is not displayed in the text editor because it is either binary or uses an unsupported encoding. (このファイルはバイナリであるか、サポートされていない文字コードを使用しているため、テキストエディターに表示されません。)」​への応答として ​[Open Anyway (このまま開く)]​ をクリックしないでください。
インポートするフォルダーが大きい場合、Anypoint Code Builder にアップロードの進行状況バーが表示されます。ユーザーはこれをクリックして展開することができます。 6. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 7. 次のコマンドを選択します。 ```command MuleSoft: Import a Mule Project ``` 8. インポートする共有可能な JAR ファイルに移動して選択します。 9. 展開されたプロジェクトの展開先のフォルダー (ホームディレクトリや、Mule プロジェクトフォルダー​_外部_​のフォルダーなど) に移動して、​**\[OK\]**​ をクリックします。 IDE により、プロジェクトの共有可能な JAR ファイルが選択したフォルダーに展開されます。 10. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトの​[ワークスペースを開きます](#both-open-project-folder)​。 グラフィカルキャンバスの読み込みに加えて、IDE はプロジェクトの ​`pom.xml`​ で定義された連動関係も読み込みます。 Mule Runtime または Java 設定がない場合は、キャンバスから使用するバージョンを設定します。 ライブラリは、プロジェクトフォルダー内の ​`target/repositories`​ ディレクトリに読み込まれます。 11. 確認を促されたら、​**\[Set Version (バージョンを設定)\]**​ をクリックして、​**\[Project Properties (プロジェクトプロパティ)\]**​ タブでサポートされる Mule Runtime または Java バージョンを設定します。 12. プロジェクトをテストします。 1. 開いているプロジェクトでエラーをチェックし、設定 XML とキャンバスが正しく読み込まれていることを確認します。これは、コンポーネントの連動関係が解決されたことを示します。 2. 設定 XML 内のポートやファイルパスなど、変更する設定を確認します。 3. プロジェクトを実行してデバッグします。 案内については、​[「デバッグモードでのアプリケーションの実行」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps#run-debug-mode)​を参照してください。 ### [](#web-project-folder)プロジェクトフォルダーをクラウド IDE にインポートする 1. クラウド IDE で開いているプロジェクトがないことを確認します。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command File: Open Folder... ``` 4. Anypoint Code Builder のホームディレクトリ、または Mule プロジェクトフォルダー​_外部_​のディレクトリを選択し、​**\[OK\]**​ をクリックします。 プロンプトが表示されたら、ディレクトリ内のファイルの作成者を信頼します。 Anypoint Code Builder にディレクトリが読み込まれます。 5. プロジェクトフォルダーをコンピューターからクラウド IDE の \[Explorer\] ビューにドラッグします。次に例を示します。 ![プロジェクトフォルダーをクラウド IDE の \[Explorer\] ビューにドラッグ](_images/int-drag-folder-cloud.png) プロンプトが表示されたら、ファイルまたはディレクトリの作成者を信頼します。 インポートするフォルダーが大きい場合、Anypoint Code Builder にアップロードの進行状況バーが表示されます。ユーザーはこれをクリックして展開することができます。 6. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトの​[ワークスペースを開きます](#both-open-project-folder)​。 グラフィカルキャンバスの読み込みに加えて、IDE はプロジェクトの ​`pom.xml`​ で定義された連動関係も読み込みます。 Mule Runtime または Java 設定がない場合は、キャンバスから使用するバージョンを設定します。 ライブラリは、プロジェクトフォルダー内の ​`target/repositories`​ ディレクトリに読み込まれます。 7. 確認を促されたら、​**\[Set Version (バージョンを設定)\]**​ をクリックして、​**\[Project Properties (プロジェクトプロパティ)\]**​ タブでサポートされる Mule Runtime または Java バージョンを設定します。 8. プロジェクトをテストします。 1. 開いているプロジェクトでエラーをチェックし、設定 XML とキャンバスが正しく読み込まれていることを確認します。これは、コンポーネントの連動関係が解決されたことを示します。 2. 設定 XML 内のポートやファイルパスなど、変更する設定を確認します。 3. プロジェクトを実行してデバッグします。 案内については、​[「デバッグモードでのアプリケーションの実行」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps#run-debug-mode)​を参照してください。 ## [](#both-open-project-folder)デスクトップ IDE またはクラウド IDE からプロジェクトフォルダーを開く アプリケーションのプロジェクトワークスペースフォルダーを開くか、再度開きます。この手順は、Anypoint Code Builder で構築されたプロジェクトと、デスクトップに保存されている、Anypoint Studio (Studio) で構築されたプロジェクトで機能します。 プロジェクトフォルダーを Studio からクラウド IDE にインポートするには、​[プロジェクトフォルダーをクラウド IDE にインポートする](#web-project-folder)​の手順を使用します。 1. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトを開きます。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder... ``` 3. プロジェクトの​_ルート_​フォルダーに移動して選択します。次に例を示します。 - インテグレーションまたは実装例 - 設計プロジェクトの例 Anypoint Code Builder のインテグレーションまたは実装プロジェクトのルートフォルダーとサブディレクトリの例: ![インテグレーションまたは実装プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root.png) VS Code はルートをワークスペースとして扱うため、IDE でキャンバスを適切に読み込めます。 Anypoint Code Builder の API 設計プロジェクトのルートディレクトリの例: ![設計プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root-design.png) プロジェクトのルートは、プロジェクトの作成時に Anypoint Code Builder によって生成される最上位のフォルダーです。プロジェクトルートの親または上位ディレクトリに移動したり、いずれかの子または下位ディレクトリに移動したりしないでください。 2. プロジェクトの設定 XML ファイルが自動的に開かない場合は、そのファイルをクリックします。 3. キャンバス UI が自動的に開かない場合は、アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-tree-view.png)​ (​**Show Mule graphical mode (Mule グラフィカルモードを表示)**​) アイコンをクリックしてキャンバス UI を開きます。 4. プロジェクトの読み込み時の進行状況を監視するには、\[Output (出力)\] パネルを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+u - Windows: Ctrl+Shift+u - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 5. ドロップダウンリストから ​**\[Mule DX Server (Mule DX サーバー)\]**​ を選択します。スキャフォールディングエラーのみを表示するには、リストから ​**\[Mule DX Server: Scaffolding (Mule DX サーバー: スキャフォールディング)\]**​ を選択します。 6. プロジェクトをテストします。 1. 開いているプロジェクトでエラーをチェックし、設定 XML とキャンバスが正しく読み込まれていることを確認します。これは、コンポーネントの連動関係が解決されたことを示します。 2. 設定 XML 内のポートやファイルパスなど、変更する設定を確認します。 3. プロジェクトを実行してデバッグします。 案内については、​[「デバッグモードでのアプリケーションの実行」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps#run-debug-mode)​を参照してください。 # Idempotent Message Validator () 受信メッセージの一意の ID を確認することによって、一意のメッセージのみがフローの実行を継続するようにします。 Mule メッセージの任意の入力属性を ID として使用するか、または DataWeave 式を設定することで ID を計算できます。また、DataWeave ​`Crypto`​ 関数を使用してデータからハッシュ (SHA、MD5) を計算することもできます。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Idempotent Message Validator (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Idempotent message validator (冪等性のあるメッセージバリデーター)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Value expression (値の式)

valueExpression

なし

Id expression (ID 式)

idExpression

Mule が ID を生成するために使用する式。DataWeave 関数を使用して ID を計算するか、または Mule メッセージの任意の既存の値から ID を抽出することができます。

Store prefix (ストアプレフィックス)

storePrefix

なし

Object store (オブジェクトストア)

objectStore

なし

## [](#例)例 この例では、一意の識別子として使用するために HTTP 要求から ID を抽出するように Idempotent Message Validator を設定する方法と、DataWeave 式を使用してペイロードをハッシュし、メッセージ ID を一意の識別子として使用する方法を示します。 ### [](#example1)例: HTTP 要求から ID を生成 次の例では、HTTP 要求からクエリパラメーター ID を抽出して、その値を一意の ID として使用してメッセージを絞り込むように Idempotent Message Validator を設定しています。 ```xml ... ... ``` ### [](#example2)例: DataWeave でペイロードをハッシュして ID を生成 次の例では、DataWeave 式を使用してペイロードをハッシュし、その結果を永続的なオブジェクトストアに保存して、処理後のメッセージ ID を一意の ID として使用してメッセージを絞り込むように Idempotent Message Validator を設定しています。 ```xml ... ... ``` ## [](#see-also)関連情報 - [Crypto (dw::Crypto)](https://docs.mulesoft.com/jp/dataweave/2.4/dw-crypto) # Invalidate Cache () 参照されたキャッシュ戦略内の完全なキャッシュを無効化します。 Cache スコープでキャッシュエントリの値を再計算するには、キャッシュエントリを無効化します。また、定義されたカスタムオブジェクトストアで ​`entryTtl`​ パラメーターを設定することで、時間に基づいてエントリを自動的に無効化するようにキャッシュ戦略を設定することもできます。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Invalidate Cache (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Invalidate cache (キャッシュを無効化)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Cachingstrategy ref (キャッシュ戦略参照)

cachingStrategy-ref

無効化するキャッシュのキャッシュ戦略への参照。

## [](#例)例 次の例は、キャッシュを手動で無効化する方法と、キャッシュ戦略の自動無効化を設定する方法を示しています。 ### [](#example1)例: キャッシュの無効化 次の例では、参照されたキャッシュ戦略内の完全なキャッシュを無効化します。 ```xml ``` ### [](#example2)例: キャッシュ戦略の自動無効化の設定 次の例では、キャッシュエントリを自動的に無効化するカスタムオブジェクトストアを使用したキャッシュ戦略を設定します。 ```xml ``` ## [](#see-also)関連情報 - [オブジェクトストア設定](https://docs.mulesoft.com/mule-runtime/latest/mule-object-stores#object-store-config) - [Invalidate Key](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-invalidate-key) # Invalidate Key () 参照されたキャッシュ戦略内の 1 つのキャッシュキーを無化します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Invalidate Key (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Invalidate key (キーを無効化)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Cachingstrategy ref (キャッシュ戦略参照)

cachingStrategy-ref

無効化するキャッシュキーのキャッシュ戦略への参照。

Key generation expression (キー生成式)

keyGenerationExpression

省略可能。無効化するキーを生成する DataWeave 式。キーを生成したキャッシュ戦略で設定された式と同じ式を使用します。

Keygenerator ref (キージェネレーター参照)

keyGenerator-ref

なし

## [](#例)例 次の例では、キャッシュキーを無効化します。 ```xml ``` ## [](#see-also)関連情報 - [Cache スコープ](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-cache) - [Invalidate Cache](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-invalidate-cache) # Logger Component () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE Mule フロー内の任意の場所でログのメッセージを設定します。Mule アプリケーションは、Logger の実行時にメッセージを出力します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Logger (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Logger (ロガー)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Message (メッセージ)

message

二重引用符または単一引用符で囲まれた文字列、DataWeave 式、Mule 変数、またはメッセージとして機能するサポート対象値の連結された組み合わせ。 この項目が空の場合、Logger は次のメッセージを生成します。

{
  payload=<not set>
  mediaType=*/*
  attributes=<not set>
  attributesMediaType=*/*
}

Level (レベル)

level

オプションは、​DEBUG​、​ERROR​、​INFO​ (デフォルト)、​TRACE​、​WARN​ です。コンソールでは、ロガーメッセージは ​level​ で始まります。

Category (カテゴリ)

category

フロー内の他のロガーと区別するのに役立つ方法でロガーを説明する、省略可能な文字列。コンソールでは、ロガーにより汎用プロセッサー名がカテゴリに置き換えられます。

## [](#例)例 次の例では、文字列をメッセージとして設定します。 ```xml ``` この設定のアプリケーションが実行されると、次のようなエントリがコンソールに出力されます。 INFO 2023-06-09 23:18:03,390 \[\[MuleRuntime\].uber.24: \[my-app-1.0.0-SNAPSHOT-mule-application\].my-appFlow.BLOCKING @55f71e0b\] \[processor: my-appFlow/processors/3; event: 8e0db930-0756-11ee-8aae-147ddaaf4f97\] org.mule.runtime.core.internal.processor.LoggerMessageProcessor: hello world 次の例では、カテゴリを設定し、DataWeave を使用してメッセージペイロードの項目を文字列に連結します。​`#[]`​ は、メッセージに式または変数が含まれることを示しています。 ```xml ``` ペイロードが ​`{"id" : 12345, "message" : "hello!"}`​ であるとすると、次のようなエントリがコンソールに出力されます。 INFO 2023-06-09 23:18:03,390 \[\[MuleRuntime\].uber.24: \[my-app-1.0.0-SNAPSHOT-mule-application\].my-appFlow.BLOCKING @55f71e0b\] \[processor: my-appFlow/processors/3; event: 8e0db930-0756-11ee-8aae-147ddaaf4f97\] MY PAYLOAD: 12345 is the ID of this payload. ## [](#see-also)関連情報 - [定義済み Mule 変数](https://docs.mulesoft.com/jp/dataweave/2.4/dataweave-variables-context) - [DataWeave リファレンス](https://docs.mulesoft.com/jp/dataweave/2.4/dw-functions) - [DataWeave のチュートリアルとプレイグラウンド](https://dataweave.mulesoft.com) # Mule Runtime の問題とエラー **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder では、Mule Runtime Engine (Mule) のバージョン 4 インスタンスをバンドルしてインテグレーションと実装を実行します。 Mule が見つからないまたはインストールされていないことを示すエラーを受け取っていない限り、Mule のデフォルトの場所を変更しないでください。このようなエラーが発生した場合、次のプロパティを使用して Mule へのパスを変更することができます。 - **Mule Runtimes Directory (Mule Runtime ディレクトリ)**​: Mule インストールのデフォルトの場所。 デフォルト値: `/Users//muleRuntimes/` - **Mule Home (Mule ホーム)**​: Mule インスタンスのルートファイルを参照するフルパス。 デフォルト値: `/Users//muleRuntimes/` ## [](#mule-runtime-is-not-installed-mule-runtime-がインストールされていません)Mule Runtime Is Not Installed (Mule Runtime がインストールされていません) エラー​`「Mule Runtime Is Not Installed, You Must Configure a Mule Runtime to Enable This Feature (Mule Runtime がインストールされていません。この機能を有効にするには、Mule Runtime を設定する必要があります)」`​は、​**\[Mule Home (Mule ホーム)\]**​ と ​**\[Mule Runtimes Directory (Mule Runtime ディレクトリ)\]**​ が誤って設定されているか空であり、実行中の Mule インスタンスが機能で必要とされる場合に発生します。たとえば、オートコンプリート機能やデバッグ機能では、Mule が実行されている必要があります。 この問題をトラブルシューティングするには、次の手順を使用します。 1. **\[Mule\] > \[Runtime: Mule Home (Runtime: Mule ホーム)\]**​ プロパティと ​**\[Mule\] > \[Runtime: Mule Runtimes Directory (Runtime: Mule Runtime ディレクトリ)\]**​ プロパティを見つけます。 ![Anypoint Code Builder メニューパネルで強調表示されている \[Settings (設定)\] 歯車アイコン](_images/open-settings.png) 2. Mule Runtime が含まれるフォルダーへのフルパスを指定します。この項目は空にはできません。 ![Mule Runtime Engine とそのバージョンのデフォルトのディレクトリの場所](/mulesoft/current/ja-jp/anypoint-code-builder/_images/mule-runtimes-settings.png) ## [](#no-mule-runtime-found-mule-runtime-が見つかりません)No Mule Runtime Found (Mule Runtime が見つかりません) 「​`No Mule runtime found. To perform this action, you must have Mule runtime configured. (Mule Runtime が見つかりません。このアクションを実行するには、Mule Runtime を設定する必要があります。)`​」という警告は、Mule が適切に設定されていない場合に Anypoint Code Builder を開くと発生します。 **\[Mule Home (Mule ホーム)\]**​ 項目または ​**\[Mule Runtimes Directory (Mule Runtime ディレクトリ)\]**​ 項目が誤って設定されているか、空です。 この問題をトラブルシューティングするには、次の手順を使用します。 1. \[Anypoint Code Builder\] ビューに移動して、​**\[Open ACB Settings (ACB 設定を開く)\]**​ アイコンを選択します。 ![open settings](/mulesoft/current/ja-jp/anypoint-code-builder/_images/open-settings.png) 2. **\[Mule\] > \[Runtime: Mule Home (Runtime: Mule ホーム)\]**​ プロパティと ​**\[Mule\] > \[Runtime: Mule Runtimes Directory (Runtime: Mule Runtime ディレクトリ)\]**​ プロパティを見つけます。 ![mule runtimes settings](/mulesoft/current/ja-jp/anypoint-code-builder/_images/mule-runtimes-settings.png) 3. Mule Runtime が含まれるフォルダーへのフルパスを指定します。この項目は空にはできません。 ## [](#please-download-and-install-a-jdk-to-compile-your-project-jdk-をダウンロードしてインストールしプロジェクトをコンパイルしてください)Please Download and Install a JDK to Compile Your Project (JDK をダウンロードしてインストールし、プロジェクトをコンパイルしてください) この要求は MuleSoft または Anypoint Code Builder からでは​_ありません_​。 ![troubleshoot download java notification](/mulesoft/current/ja-jp/anypoint-code-builder/_images/troubleshoot-download-java-notification.png) この機能を使用する代わりに、​**Download Mule Runtime and Java Versions**​ コマンドを使用できます。[Mule、Java、コネクタのバージョン設定](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions)も参照してください。 # Mule アプリケーションの CloudHub および CloudHub 2.0 へのデプロイ **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder を使用して Mule アプリケーションを CloudHub にデプロイできます。 ## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [インテグレーションを作成します](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)​。 - Postman や AdvancedRestClient などの REST クライアントをインストールします。 ## [](#アプリケーションを-cloudhub-または-cloudhub-2-0-にデプロイする)アプリケーションを CloudHub または CloudHub 2.0 にデプロイする CloudHub または CloudHub 2.0 にアプリケーションをデプロイすると、Anypoint Code Builder により ​`src/main/resources`​ ディレクトリ内でデフォルトの ​`deploy.json`​ または ​`deploy_ch2.json`​ ファイルが設定されます。 たとえば​[セキュアプロパティを作成する](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-secure-configs)​ためにデプロイメント時にプロパティを設定する場合、デプロイメントプロセス中に Anypoint Code Builder により ​`deploy.json`​ または ​`deploy_ch2.json`​ を変更するように促されます。

CloudHub 2.0 デプロイメントの場合、​pom.xml​ ファイルを更新する必要があります。

CloudHub または CloudHub 2.0 にアプリケーションをデプロイする手順は、次のとおりです。 1. デプロイする Mule アプリケーションの設定 XML ファイルを開きます。 2. ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-deploy.png)​ (​**\[Deploy to CloudHub (CloudHub にデプロイ)\]**​) アイコンをクリックします。 または、コマンドパレットを開き、​`[MuleSoft: Deploy to CloudHub (MuleSoft: CloudHub にデプロイ)]`​ を選択します。 3. 確認を促されたら、​**\[Allow (許可)\]**​ をクリックして、Anypoint Platform を使用したサインインを許可し、ビジネスグループを選択します。 4. デプロイメントに使用するビジネスグループを選択します。 5. VS Code コマンドパレットでプロンプトが表示されたら、デプロイメント対象として ​**\[CloudHub 2.0\]**​ または ​**\[CloudHub 1.0\]**​ を選択します。 CloudHub 2.0 を選択すると、アプリケーションをデプロイするスペース (「myprivspace」など) を選択するよう求められます。 プロジェクトに ​`deploy.json`​ または ​`deploy_ch2.json`​ ファイルがまだない場合、Anypoint Code Builder により、デプロイメント設定ファイルが作成されていることが示され、確認のためにそのファイルが自動的に開きます。次に例を示します。 ![deploy.json ファイルの確認](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-deploy-json-desktop.png) CloudHub 2.0 にデプロイされたアプリケーションの場合、deploy\_ch2.json ファイルにデプロイメントモデルの値が含まれていることを確認します。これをデフォルト値の ​**rolling**​ に設定できます。 `applicationName`​ プロパティでは、CloudHub のアプリケーションにアクセスするために使用する URL の一部を定義します。 この名前は、CloudHub にデプロイされているすべてのアプリケーションで一意である必要があります。 6. デプロイメント設定を確認したら、​**\[Deploy (デプロイ)\]**​ をクリックしてアプリケーションを CloudHub または CloudHub 2.0 にデプロイします。VS Code ステータスバーには、デプロイメントの進行状況が表示されます。 7. プロンプトでデプロイ先の環境を選択します。 Anypoint Code Builder によりアプリケーションがパッケージ化されて CloudHub または CloudHub 2.0 にデプロイされます。 **\[Mule Maven Output (Mule Maven 出力)\]**​ が選択された状態で \[Output (出力)\] パネルが開きます。 ![\[Mule Maven Output (Mule Maven 出力)\] が選択されている \[Output (出力)\] パネル](_images/int-deploy-output.png) 8. デプロイメントが完了したら、​**\[Open in Runtime Manager (Runtime Manager で開く)\]**​ をクリックします。 Anypoint Platform の Runtime Manager でアプリケーションが開きます。 アプリケーションのドメイン名はさまざまですが、​`app-with-40-schedulers.us-w1.cloudhub.io`​ などの同様の構造に従います。 9. お気に入りの REST クライアントを開き、Runtime Manager に表示されているドメイン名 (​`http://app-with-100-schedulers.us-w1.cloudhub.io/api/flights`​ など) に対する GET 要求を実行します。 ## [](#deploy-json-の値を変更する)deploy.json の値を変更する オートコンプリートを使用して、​`deploy.json`​ または ​`deploy_ch2.json`​ で事前設定された値を選択します。 1. エクスプローラーから ​`deploy.json`​ または ​`deploy_ch2.json`​ を開きます。 ファイルはプロジェクトの ​`src/main/resources`​ ディレクトリにあります。ファイルが開き、IDE の ​**\[deploy.json\]**​ タブまたは ​**\[deploy.json\_ch2\]**​ タブが開きます。 2. `deploy.json`​ または ​`deploy_ch2.json`​ で、更新する値を強調表示します。 3. Ctrl+Space を押します。 4. 別の値を選択します。 ## [](#デプロイメントプロパティ)デプロイメントプロパティ `deploy.json`​ ファイルと ​`deploy_ch2.json`​ ファイルには、Anypoint Code Builder から Mule アプリケーションをそれぞれ CloudHub と CloudHub 2.0 にデプロイするための次のプロパティが含まれています。
プロパティ 説明 Host (ホスト)

runtime

プロジェクトで使用される Mule Runtime バージョンを指定します。

CloudHub または CloudHub 2.0

workersize

1 つのワーカーまたは使用可能なワーカー数に対してワーカーメモリを設定します。デフォルト値は ​0.1​ です。詳細は、CloudHub ドキュメントの​「CloudHub ワーカー」​を参照してください。

CloudHub

replicaSize

レプリカ固有のメモリ容量と処理能力を設定します。デフォルト値は ​0.1​ です。詳細は、CloudHub 2.0 ドキュメントの​「CloudHub 2.0 レプリカ」​を参照してください。

CloudHub 2.0

applicationName

Mule アプリケーションのハイフン付きの小文字の名前を指定します。

CloudHub または CloudHub 2.0

workers

この Mule アプリケーションを実行するための Mule Runtime インスタンスの数を設定します。デフォルト値は ​1​ です。詳細は、CloudHub ドキュメントの​「CloudHub ワーカー」​を参照してください。

CloudHub

replicas

この Mule アプリケーションを実行するための Mule Runtime エンジンの専用インスタンスを設定します。デフォルト値は ​1​ です。詳細は、CloudHub 2.0 ドキュメントの​「CloudHub 2.0 レプリカ」​を参照してください。

CloudHub

autoStart

デプロイメントプロセスの完了後にアプリケーションを自動的に起動するかどうかを示します。デフォルト値は ​true​ です。

CloudHub または CloudHub 2.0

deploymentModel

アプリケーションのレプリカを更新または再デプロイするモデルを示します。デフォルト値は ​rolling​ です。詳細は、CloudHub 2.0 ドキュメントの​「ローリング更新とデプロイモデルの再作成の比較」​を参照してください。

CloudHub 2.0

ObjectStoreV2

このアプリケーションで Object Store v2 が有効かどうかを示します。デフォルト値は ​true​ です。詳細は、Object Store v2 の概要を参照してください

CloudHub または CloudHub 2.0

## [](#関連情報)関連情報 - [Deploy to CloudHub](https://docs.mulesoft.com/cloudhub/deploying-to-cloudhub) - [Deploying Apps to CloudHub 2.0](https://docs.mulesoft.com/cloudhub-2/ch2-deploy) - [Anypoint Runtime Manager](https://docs.mulesoft.com/jp/runtime-manager/) # Mule アプリケーションのデバッグ **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder の埋め込みデバッガーを使用して Mule アプリケーションをデバッグします。 Mule アプリケーションをデバッグするプロセスは、次のとおりです。 1. ​[ブレークポイントを設定](#add-breakpoint)​し、調査または修正を行う行でフローの実行を一時停止します。 ブレークポイントは、開発している Mule アプリケーションの設定 XML ファイルの行番号に追加するマーカーです。 2. [アプリケーションをデバッグモードで実行します](#run-debug-mode)​。 3. Mule アプリケーションでフローの実行を開始します。 たとえば、HTTP リスナーをトリガーしたり、Scheduler コンポーネントを設定したりします。 4. ブレークポイントで実行が停止したら、​[デバッグツールバー](#debug-toolbar)​を使用して、操作、調査、問題の修正を行います。 5. ブレークポイントで問題に対処したら、実行中のアプリケーションインスタンスを再デプロイ (​[ホットデプロイ](#hot-deploy)​) します。 6. フローを再度実行し、すべての問題に対処するまでデバッグを継続します。 7. [デバッグセッションを停止します](#stop-debug)​。 ## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [インテグレーションを作成します](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)​。 ## [](#デバッグコンソールの概要)デバッグコンソールの概要 ![デバッガービューの各要素](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debugger-view.png)
1 [Start Debugging (デバッグを開始)]​: デバッグモードで Mule アプリケーションのインスタンスを開始します。
2 [Debug Toolbar (デバッグツールバー)]​: Mule アプリケーションのデバッグを制御します。

デバッグツールバー​を参照してください。

3 [Variables (変数)]​ パネル: Mule イベントとパラメーターデータを提供します。

Mule イベントには、メッセージペイロードと属性の詳細のほか、Mule 変数データが含まれます。パラメーターには、コンポーネント名などのコンポーネントデータが含まれます。

4 [Run and Debug (実行およびデバッグ)]​ (MuleSoft) アイコン: [Run and Debug (実行およびデバッグ)]​ パネルを開きます。ここで、​[Start Debugging (デバッグを開始)] (F5)​ をクリックしてデバッグ情報を見つけることができます。

キーボードショートカット: Cmd+Shift+d (Mac) または Ctrl+Shift+d (Windows)

5 [Watch (監視)]​ パネル: 変数と式を評価するのに役立ちます。
6 [Call Stack (コールスタック)]​ パネル: 現在スタックしている関数またはプロシージャーを特定します。
7 [Breakpoints (ブレークポイント)]​ パネル: Mule アプリケーション内のすべてのブレークポイントをリストします。
8 [Terminal (ターミナル)]​ コンソール: Maven ビルドプロセスの出力と、埋め込み Mule Runtime Engine へのデプロイメントの結果を表示します。
9 [Breakpoint (ブレークポイント)]​ アイコン: 問題の確認と修正ができるようにフローの実行を一時停止する、設定 XML の行を特定します。
10 [Breakpoint (ブレークポイント)]​ アイコン: 1 つ以上のブレークポイントを含むコンポーネントを識別します。
## [](#add-breakpoint)ブレークポイントを追加する ブレークポイントを使用すると、特定の場所で Mule アプリケーションを一時停止して、発生した内容を確認できます。ブレークポイントは、設定 XML ファイルまたはキャンバス UI のコンポーネントに追加できます。 ### [](#設定ファイルにブレークポイントを追加する)設定ファイルにブレークポイントを追加する 設定 XML ファイルにブレークポイントを追加する手順は、次のとおりです。 1. Anypoint Code Builder の \[Explorer\] ビューで、​`my-project-name.xml`​ などの設定 XML ファイルを開きます。 2. \[Run and Debug (実行とデバッグ)\] パネルを開きます。 手順を表示 - アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**Run and Debug (実行とデバッグ)**​) アイコンをクリックする。 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+d - Windows: Ctrl+Shift+d - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 3. ``​ コンポーネント内の行番号をクリックして、そのコンポーネントにブレークポイントを追加します。 ![行番号でブレークポイントを追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/deb-add-breakpoint.png) F9 を使用して現在の行にブレークポイントを追加することもできます。 4. 設定 XML ファイルで、​``​ コンポーネントと ​``​ コンポーネント用の 2 つのブレークポイントをさらに追加します。 すべてのブレークポイントは ​**\[Breakpoints (ブレークポイント)\]**​ パネルに表示されます。 ![\[Breakpoints (ブレークポイント)\] パネル](_images/int-breakpoints-panel.png) ### [](#キャンバス-ui-のコンポーネントにブレークポイントを追加する)キャンバス UI のコンポーネントにブレークポイントを追加する キャンバス UI のコンポーネントにブレークポイントを追加する手順は、次のとおりです。 1. Anypoint Code Builder の \[Explorer\] ビューで、​`flights-implementation.xml`​ などの設定 XML ファイルを開きます。 2. \[Run and Debug (実行とデバッグ)\] パネルを開きます。 手順を表示 - アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**Run and Debug (実行とデバッグ)**​) アイコンをクリックする。 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+d - Windows: Ctrl+Shift+d - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 3. キャンバス UI で、ブレークポイントを追加するコンポーネントを右クリックします。 ![キャンバス UI のコンポーネントにブレークポイントを追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debug-add-breakpoint-canvas.png) 4. **\[Add Breakpoint (ブレークポイントを追加)\]**​ を選択します。 ブレークポイントアイコンがコンポーネントとそのコンポーネントの設定 XML に表示されます。 ## [](#run-debug-mode)デバッグモードでアプリケーションを実行する デバッグ条件を設定したら、デバッグセッションを実行し、各ブレークポイントで Mule アプリケーションを評価します。 1. \[Run and Debug (実行とデバッグ)\] パネルを開きます。 手順を表示 - アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**Run and Debug (実行とデバッグ)**​) アイコンをクリックする。 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+d - Windows: Ctrl+Shift+d - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 2. **\[Debug Mule Application (Mule アプリケーションをデバッグ)\]**​ の ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-start-debug.png)​ (​**Start Debugging (F5) (デバッグを開始 (F5))**​) アイコンをクリックします。 または、​**\[Start Debugging (F5) (デバッグを開始 (F5))\]**​ アイコンが存在しない場合は、次の手順を実行します。 1. **\[Run and Debug (実行とデバッグ)\]**​ をクリックします。 2. **\[Select debugger (デバッガーを選択)\]**​ ドロップダウンメニューが表示された場合は、​**\[Mule XML Debugger (Mule XML デバッガー)\]**​ を選択してデバッグセッションを開始します。 ![\[Run and Debug (実行とデバッグ)\] ボタンと \[Mule Xml Debugger (Mule XML デバッガー)\] メニュー項目](_images/run-debug-imported-folder.png) アプリケーションが正常にデプロイされると、出力パネルに ​`DEPLOYED`​ ログメッセージが表示されます。 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \* - - + DOMAIN + - - \* - - + STATUS + - - \* \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \* default \* DEPLOYED \* \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
[Run (実行)]​ > ​[Start without Debugging (デバッグなしで実行)]​ を選択すると、エラーが発生します。
Anypoint Code Builder でアプリケーションがパッケージ化され、埋め込み Mule Runtime Engine にデプロイされます。 ターミナルが開き、状況を参照できます。 ![ターミナルウィンドウでのデバッグの状況](/mulesoft/current/ja-jp/anypoint-code-builder/_images/deb-terminal-running.png) ターミナルにメッセージが表示されます。ステータスバーが赤に変わり、アプリケーションが実行中であることが示されます。 [デバッグツールバー](#debug-toolbar)​のボタンを使用して、Mule アプリケーションのデバッグを制御します。 ## [](#debug-toolbar)デバッグツールバー ![デバッグツールバー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debugger-toolbar.png)
1 [Continue (続行)]​ F5

次のブレークポイントがある場合、そのブレークポイントに進んでアプリケーションの実行を一時停止します。 ない場合、アプリケーションの最後まで続行します。

2 [Step Over (ステップオーバー)]​ F10

フローの次のコンポーネントに進み、そこで実行を一時停止します。 Flow Ref コンポーネント (​<flow-ref/>​) で ​[Step Over (ステップオーバー)]​ をクリックすると、フローの次のステップに進みますが、参照先のフローへの Flow Ref ロジックに従う、つまり別のフローに進むことは​ありません​。

[Step Over (ステップオーバー)] の詳細

設定 XML の例​:

<flow name="flow1" doc:name="Flow" >
  <http:listener path="greet" config-ref="HTTP_Listener_config" doc:name="Listener"/>
  <flow-ref name="myNewFlow" /> (1)
  <logger doc:name="Logger1" message="test1"/> (2)
</flow>

<flow name="flow2" doc:name="Flow" >
  <logger doc:name="Logger2" message="test2"/>
</flow>

[Step Over (ステップオーバー)] の動作​:

1 <flow-ref/>​ ロジックをスキップする
2 Logger1​ という名前の ​<logger/>​ に達する
3 [Step Into (ステップイン)]​ F11

フローの次のコンポーネントに進み、そこで実行を一時停止します。 Flow Ref コンポーネント (​<flow-ref/>​) で ​[Step Into (ステップイン)]​ をクリックすると、コンポーネントのロジックに従って、参照先のフローの最初のコンポーネントに進みます。フローのコンポーネントが Flow Ref コンポーネントの後に続く場合、​[Step Into (ステップイン)]​ では、参照先のフローの最後のコンポーネントの後にそのコンポーネントに戻ります。

[Step Into (ステップイン)] の詳細

設定 XML の例​:

<flow name="flow1" doc:name="Flow" >
  <http:listener path="greet" config-ref="HTTP_Listener_config" doc:name="Listener"/>
  <flow-ref name="myNewFlow" /> (1)
  <logger doc:name="Logger1" message="test1"/> (3)
</flow>

<flow name="myNewFlow" doc:name="Flow" >
  <logger doc:name="Logger2" message="test2"/> (2)
</flow>

[Step Into (ステップイン)] の動作​:

1 <flow-ref/>​ に入り、​myNewFlow​ へのロジックに従う
2 次のフロー ​myNewFlow​ の ​Logger2​ に達する
3 フロー ​flow1​ に戻り、​Logger1​ に達する
4 [Step Out (ステップアウト)]​ Shift+F11

現在のフローを終了し、前のフローに戻ろうとします。前のフローが存在しない場合、デバッガーは ​[Continue (続行)]​ と同様に動作します。

5 [Restart (再起動)]​ Shift+Cmd+F5 (Mac) または Shift+Ctrl+F5 (Windows)

pom.xml​ ファイル内の新しいコネクタ連動関係など、新しい連動関係をパッケージ化せずにアプリケーションを停止して再起動します。

6 [Stop (停止)]​ Shift+F5

アプリケーションの実行を停止します。開始する次のデバッグセッションでは、新しい連動関係でアプリケーションがパッケージ化されます。

## [](#hot-deploy)デバッグ時にホットデプロイを実行する アプリケーションをデバッグしているときに、ホットデプロイメントを定期的に実行します。 ホットデプロイメントでは、実行中のアプリケーションインスタンスは更新されますが、​`pom.xml`​ 内の新しいコネクタ連動関係など、新しい連動関係はパッケージ化されません。 ホットデプロイを実行する手順は、次のとおりです。 1. Mule アプリケーションが IDE で実行されていることを確認します。 2. アプリケーションを更新します。 3. **\[Save and Hot-deploy to Mule Runtime (保存して Mule Runtime にホットデプロイ)\]**​ (稲妻) アイコンをクリックして、変更を含むアプリケーションをデプロイします。 ![実行中の Mule アプリケーションの \[Hot-deploy (ホットデプロイ)\] (稲妻) アイコン](_images/deb-hot-deploy.png) ## [](#stop-debug)デバッグセッションの停止 デバッグセッションを停止するには、​**\[Run and Debug (実行およびデバッグ)\]**​ パネルで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-stop.png)​ (​**\[Stop (停止)\]**​) アイコンをクリックします。 ステータスバーで、アプリケーションが実行中であることが示されなくなります。 # Mule アプリケーションのデプロイメントプロパティ CloudHub に Mule アプリケーションをデプロイする場合、Anypoint Code Builder は ​`deploy.json`​ の設定に依存します。Mule アプリケーションはインテグレーションまたは実装プロジェクトです。 例: { "runtime": "4.7-e-java17", "workerSize": 0.1, "applicationName": "my-integration-app", "workers": 1, "autoStart": true } `deploy.json`​ ファイルと ​`deploy_ch2.json`​ ファイルには、Anypoint Code Builder から Mule アプリケーションをそれぞれ CloudHub と CloudHub 2.0 にデプロイするための次のプロパティが含まれています。
プロパティ 説明 Host (ホスト)

runtime

プロジェクトで使用される Mule Runtime バージョンを指定します。

CloudHub または CloudHub 2.0

workersize

1 つのワーカーまたは使用可能なワーカー数に対してワーカーメモリを設定します。デフォルト値は ​0.1​ です。詳細は、CloudHub ドキュメントの​「CloudHub ワーカー」​を参照してください。

CloudHub

replicaSize

レプリカ固有のメモリ容量と処理能力を設定します。デフォルト値は ​0.1​ です。詳細は、CloudHub 2.0 ドキュメントの​「CloudHub 2.0 レプリカ」​を参照してください。

CloudHub 2.0

applicationName

Mule アプリケーションのハイフン付きの小文字の名前を指定します。

CloudHub または CloudHub 2.0

workers

この Mule アプリケーションを実行するための Mule Runtime インスタンスの数を設定します。デフォルト値は ​1​ です。詳細は、CloudHub ドキュメントの​「CloudHub ワーカー」​を参照してください。

CloudHub

replicas

この Mule アプリケーションを実行するための Mule Runtime エンジンの専用インスタンスを設定します。デフォルト値は ​1​ です。詳細は、CloudHub 2.0 ドキュメントの​「CloudHub 2.0 レプリカ」​を参照してください。

CloudHub

autoStart

デプロイメントプロセスの完了後にアプリケーションを自動的に起動するかどうかを示します。デフォルト値は ​true​ です。

CloudHub または CloudHub 2.0

deploymentModel

アプリケーションのレプリカを更新または再デプロイするモデルを示します。デフォルト値は ​rolling​ です。詳細は、CloudHub 2.0 ドキュメントの​「ローリング更新とデプロイモデルの再作成の比較」​を参照してください。

CloudHub 2.0

ObjectStoreV2

このアプリケーションで Object Store v2 が有効かどうかを示します。デフォルト値は ​true​ です。詳細は、Object Store v2 の概要を参照してください

CloudHub または CloudHub 2.0

## [](#関連情報)関連情報 - [Mule アプリケーションの CloudHub および CloudHub 2.0 へのデプロイ](https://docs.mulesoft.com/jp/anypoint-code-builder/int-deploy-mule-apps) # Mule アプリケーションのプロパティの定義および保護 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 次の操作を可能にするプロパティを作成します。 - Mule アプリケーションで使用される機密値を暗号化します。 - 設定 XML で値を設定するときにリテラル文字列ではなく変数を定義して使用します。 - 開発、Sandbox、本番など、特定のデプロイメント環境で異なるプロパティファイルを選択するための変数を設定します。 ## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [インテグレーションを作成します](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)​。 ## [](#get-familiar)設定プロパティと暗号化 プロパティの暗号化や、プロパティを使用するアプリケーションのデプロイを行う詳細な手順を実行する前に、基本を学習します。 - [MuleSoft セキュアプロパティツールを使用した暗号化](#encryption-tool) - [設定プロパティファイル](#properties) - [設定 XML でのプロパティとプロパティファイルの参照](#reference-use) ### [](#encryption-tool)MuleSoft セキュアプロパティツールを使用した暗号化 MuleSoft では、機密データを暗号化するための実行可能 JAR ファイル (​`secure-properties-tool.jar`​): [MuleSoft セキュアプロパティツール](https://docs.mulesoft.com/mule-runtime/4.4/_attachments/secure-properties-tool.jar)​が提供されています。 このツールでは次のアルゴリズムを受け入れます。 - AES - Blowfish - DES - DESede - RC2 - RCA このツールでは次の暗号化を受け入れます。 - CBC (デフォルト) - CFB - ECB - OFB Mule アプリケーションでプロパティを暗号化するための詳細な手順は、​[機密値を暗号化する](#encrypt)​を参照してください。 ### [](#properties)設定プロパティファイル Mule 設定 XML 内のコネクタとコンポーネントでは、機密データおよび非機密データの変数を受け入れます。変数は、Mule アプリケーションのプロジェクトの ​`src/main/resources`​ ディレクトリに作成して保存する ​`.yaml`​ ファイルまたは Spring 形式の ​`.properties`​ ファイルで定義されます。次に例を示します。
暗号化されていないすべてのキーの値 暗号化された ​uname​ および ​pw​ キーの値
ftp:
  workingDir: /Users/me/myworkingdir
  host: localhost
  uname: myusername
  pw: mypassword
ftp:
  workingDir: /Users/me/myworkingdir
  host: localhost
  uname: "![UqoJI2fvggE=]"
  pw: "![n2LDIOKKxhQ5Tdv5AeCtFQ==]"
暗号化されていないプロパティと暗号化されたプロパティで個別のプロパティファイルを作成できます。たとえば、YAML ファイルでは次のようになります。
暗号化されていない ​workingDir​ および ​host​ キーの値 暗号化された ​uname​ および ​pw​ キーの値
dev.properties.yaml​ のコンテンツ:
ftp:
  workingDir: /Users/me/myworkingdir
  host: localhost
dev.secure.yaml​ のコンテンツ:
ftp:
  uname: "![UqoJI2fvggE=]"
  pw: "![n2LDIOKKxhQ5Tdv5AeCtFQ==]"
Spring 形式の ​`.properties`​ ファイルでは、同じ設定は次のようになります。
暗号化されていない ​workingDir​ および ​host​ キーの値 暗号化された ​uname​ および ​pw​ キーの値
dev.properties​ のコンテンツ:
ftp.workingDir=/Users/me/myworkingdir
ftp.host=localhost
dev.secure.properties​ のコンテンツ:
ftp.uname=![UqoJI2fvggE=]
ftp.pw=![n2LDIOKKxhQ5Tdv5AeCtFQ==]
詳細な手順は、​[機密値を暗号化する](#encrypt)​を参照してください。 本番環境や開発環境など、さまざまな環境のプロパティ設定を提供するには、環境用の個別のプロパティファイルを作成します。手順は、​[さまざまな環境の設定の提供](#create-prop-file)​を参照してください。 ### [](#reference-use)設定 XML でのプロパティとプロパティファイルの参照 設定 XML でプロパティファイルを参照し、プロパティ値を使用します。 - プロパティファイルに、暗号化されたプロパティが​_ない_​場合、次のように操作します。 - `${property-key}`​ の構文を使用してプロパティ値を参照します。 - ``​ のグローバル要素を使用してファイルを参照します。 たとえば、プロパティファイル ​`ports.yaml`​ に ​`port: "8081"`​ プロパティがあると仮定した場合、​``​ で ​`${port}`​ を ​`port`​ 属性の値として使用します。 ```xml ``` - プロパティファイルに、暗号化されたプロパティが​_ある_​場合、次のように操作します。 - `${secure::property-key}`​ の構文を使用してプロパティ値を参照します。 - ``​ のグローバル要素を使用してファイルを参照します。 この FTP の例では、​``​ で ​`dev.secure.yaml`​ を参照し、​`secure::`​ プレフィックスを使用してそのプロパティファイル内のすべてのプロパティを参照しています。 ```xml ... ``` 暗号化された値を使用する詳細な手順は、​[暗号化プロパティの使用](#use)​を参照してください。 ## [](#encrypt)機密値を暗号化する セキュアプロパティツールを使用して、Mule アプリケーションのプロパティファイルに追加する機密データを暗号化します。 Mule アプリケーションのプロジェクトワークスペース内のプロパティファイル ​`dev.secure.yaml`​ の例: ![Mule アプリケーションワークスペースのプロジェクトディレクトリ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-project-directory.png) 1. _暗号化されていない_​プロパティを含むプロパティファイルを作成します。 1. プロジェクトの ​`src/main/resources`​ ディレクトリを開きます。 2. 次のようにプロパティをキー-値ペアとして設定する ​`dev.secure.yaml`​ または ​`local.secure.yaml`​ のような名前の YAML ファイルを作成します。 ```yaml myprop : "somevalue" mysensitiveprop : "mysensitivevalue" ``` 詳細は、​[設定プロパティファイル](#properties)​を参照してください。 2. 機密プロパティを暗号化します。 1. [セキュアプロパティツール](https://docs.mulesoft.com/mule-runtime/4.4/_attachments/secure-properties-tool.jar)​ (プロパティを暗号化するための実行可能 JAR ファイル) をダウンロードします。 2. コマンドラインから、保護する値に対してセキュアプロパティツールを実行します。 Blowfish と暗号化鍵パスワードの ​`my-key-value`​ を使用して ​`"mysensitivevalue"`​ を暗号化する例: ```terminal $ java -cp secure-properties-tool.jar com.mulesoft.tools.SecurePropertiesTool \ string \ encrypt \ Blowfish \ CBC \ my-key-value \ "mysensitivevalue" ``` 暗号化された出力: ```terminal /MU0/xB/zoMPjxBA7/9X44Ad2H8O8AY5 ```
暗号化鍵値 (パスワード) は安全な場所に保管してください。後でアプリケーションをデプロイするときにキー値が必要になります。
3. プロパティファイルでは、暗号化された各プロパティ値を ​`![]`​ 括弧内に追加します。 暗号化されていない値 ​`"mysensitivevalue"`​ を暗号化された値 ​`"![/MU0/xB/zoMPjxBA7/9X44Ad2H8O8AY5]"`​ に置き換える例: ```yaml myprop : "somevalue" mysensitiveprop : "![/MU0/xB/zoMPjxBA7/9X44Ad2H8O8AY5]" ``` 詳細は、​[設定プロパティファイル](#properties)​を参照してください。 ## [](#use)暗号化プロパティの使用 暗号化されたプロパティを Mule アプリケーション内のコンポーネントに追加します。​``​ でプロパティファイルを参照し、プロパティを復号化するローカルデプロイメントを実行します。 この手順の各ステップで示されている例は、次の設定例に基づきます。 設定 XML (​`my-secure-integration.xml`​) ```xml ``` プロパティファイル (​`dev.secure.yaml`​) 設定 XML では次のプロパティが使用されます。 ```yaml myprop : "somevalue" mysensitiveprop : "![/MU0/xB/zoMPjxBA7/9X44Ad2H8O8AY5]" ``` POM ファイル (​`pom.xml`​) POM ファイルには、設定 XML 内のコンポーネントの連動関係が含まれます。 ```pom 4.0.0 com.mycompany my-secure-integration 1.0.0-SNAPSHOT mule-application my-secure-integration UTF-8 UTF-8 3.3.5 org.apache.maven.plugins maven-clean-plugin 3.1.0 org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true anypoint-exchange-v2 Anypoint Exchange https://maven.anypoint.mulesoft.com/api/v2/maven default mulesoft-releases MuleSoft Releases Repository https://repository.mulesoft.org/releases/ default mulesoft-releases mulesoft release repository default https://repository.mulesoft.org/releases/ false com.mulesoft.services mule-service-weave-ee 2.4.0-20221212 runtime com.mulesoft.modules mule-secure-configuration-property-module 1.2.5 mule-plugin ``` 暗号化された値を Mule アプリケーションで使用する手順は、次のとおりです。 1. 設定 XML の ​``​ 要素の前にセキュア設定プロパティ​_スニペット_​ (​``​) を追加します。これを行うには、Cmd+Space (Mac) または Ctrl+Space (Windows) を押し、要素名の最初の文字を (​`secu`​ など) を入力して、スニペットを選択します。 ![セキュア設定プロパティスニペットの選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-snippet-secure-config-prop.png) ``​ 要素の前の未変更のスニペットの XML は次のようになります。 ```xml ... ``` 基本 XML 設定では事前設定されない要素の部分がスニペットで事前設定されるため、この要素では必ず​_スニペット_​を選択し、基本 XML を選択​_しない_​でください。スニペットは、名前は同じですがアイコンが異なります。すべてのスニペットと同様にこのスニペットは 2 次元ボックスアイコンで識別されます。一方、この要素の基本 XML では 3 次元ボックスアイコンが使用されます。 _初めて_​ ​``​ スニペットを設定 XML に追加する場合、​`algorithm`​ 属性にタブで移動して別のアルゴリズムを選択するか、値を手動で変更することができます。 ![セキュア設定プロパティモジュール内のサポートされるアルゴリズムのリスト。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-secure-config-algorithms.png) 2. `file`​、​`key`​、および ​`algorithm`​ 属性の値を使用してスニペットを設定します。次に例を示します。 ```xml ``` - `file`​: プロパティファイルの名前 ファイル名設定で変数 ​`${env}`​ を使用する場合、​[さまざまな環境の設定の提供](#create-prop-file)​で手順を確認してください。 - `name`​: 暗号化鍵の任意の名前 (デフォルトでは ​`${encryption.key}`​ に設定) この名前は、セキュアプロパティツールでセキュアプロパティを暗号化するために使用する暗号化値 (パスワード) のキーとして機能します。 - `algorithm`​: セキュアプロパティを暗号化するために使用したアルゴリズム (スニペットではデフォルトで Blowfish に設定)。他の​[アルゴリズム](#algorithms)​を使用することができます。 3. コネクタまたはコンポーネントの XML で、暗号化されたプロパティのキーを XML 属性の値として追加します。次に例を示します。 ```xml ``` キーの ​`secure::`​ プレフィックスに注意してください。 ## [](#test-deploy)暗号化されたプロパティを IDE でテストする 暗号化されたプロパティをアプリケーションで使用している場合、暗号化鍵と値の引数を IDE のランタイムコマンドに追加します。この引数を設定に追加すると、アプリケーションで使用するプロパティをランタイムで復号化できるため、プロパティは IDE のローカルランタイムに正常にデプロイされます。 IDE で ​**\[Run and Debug (実行およびデバッグ)\]**​ を使用したときにデプロイメントが失敗する原因となるエラーをこの設定で回避できます。 Couldn't find configuration property value for key ${encryption.key} from properties provider environment properties provider 1. 暗号化鍵名とその値に対するローカルのキー-値ペアを UI を介して指定します。 1. **\[Manage (管理)\]**​ (歯車アイコン) > ​**\[Settings (設定)\]**​ に移動して、​**\[Settings (設定)\]**​ ページで ​**\[Runtime: Default Arguments (ランタイム: デフォルト引数)\]**​ を見つけます。 2. **\[Runtime: Default Arguments (ランタイム: デフォルト引数)\]**​ 項目で、暗号化鍵のキー-値ペアを設定の​_末尾_​に追加します。次に例を示します。 ```key-configuration -M-Dencryption.key=my-key-value ``` この例では、​`-M-D`​ は必須のプレフィックス、​`encryption.key`​ は暗号化鍵のデフォルト名、​`my-key-value`​ はセキュアプロパティツールを介してプロパティを暗号化するために使用する値です。 3. `${env}.secure.yaml`​ で ​`${env}`​ などの変数を使用して ​``​ 内のプロパティファイルを識別している場合、​`${env}`​ の値を ​**\[Runtime: Default Arguments (ランタイム: デフォルト引数)\]**​ 項目に追加します。 たとえば、IDE 内の開発環境のプロパティが含まれているファイル ​`dev.secure.yaml`​ の場合、次のようになります。 ```env-configuration -M-Denv=dev ``` 2. Cmd+shift+p (Mac) または Ctrl+shift+p (Windows) を押して、​**「View: Show Run and Debug」**​と入力し、​**\[Run and Debug (実行およびデバッグ)\]**​ をクリックして、アプリケーションを IDE 内にローカルにデプロイします。 デプロイメントに成功すると、出力パネルの ​**\[OUTPUT (出力)\]**​ タブに次のメッセージが表示されます。 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \* - - + DOMAIN + - - \* - - + STATUS + - - \* \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \* default \* DEPLOYED \* \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 出力パネルについての詳細は、[出力パネルを開く](https://docs.mulesoft.com/jp/anypoint-code-builder/start-open-output-panel)を参照してください。 アプリケーションが正常にデプロイされない場合、コンソールでエラーを確認し、トラブルシューティングします。 3. アプリケーションを CloudHub または CloudHub 2.0 にデプロイする場合、​[機密値を非表示にして CloudHub および CloudHub 2.0 にデプロイする](#deploy-to-cloudhub)​に進みます。 この手順では、Runtime Manager 内で暗号化鍵値を非表示にする方法が示されています。 ## [](#deploy-to-cloudhub)機密値を非表示にして CloudHub および CloudHub 2.0 にデプロイする Anypoint Code Builder で構築したアプリケーションを CloudHub または CloudHub 2.0 にデプロイする場合、暗号化鍵の値を非表示にして、Runtime Manager UI に値が表示されないようにします ([Manage Properties for Applications on CloudHub](https://docs.mulesoft.com/cloudhub/cloudhub-manage-props)を参照)。 Runtime Manager は CloudHub および CloudHub 2.0 デプロイメントの管理コンソールとして機能します。暗号化鍵値は、暗号化と復号化のパスワードとして機能します。
この手順により、​mule-artifact.json​ 内で暗号化鍵の​名前​は設定されますが、その値は設定されません。セキュリティ上の理由で、デプロイするプロジェクト内でパッケージ化するこのファイルまたは他のファイルで、暗号化鍵の​値​を絶対に設定しないでください。
始める前に: - IDE 内で Mule アプリケーションで使用する暗号化されたプロパティを実行してテストします。詳細は、​[設定プロパティファイル](#properties)​を参照してください。 - クラウド IDE を使用している場合、必須権限​**「Anypoint Code Builder Developer (Anypoint Code Builder 開発者)」**​があることを確認します。[configure-permissions.adoc](#configure-permissions.adoc)を参照してください。 CloudHub または CloudHub 2.0 にデプロイする場合に Runtime Manager UI で機密値を非表示にする手順は、次のとおりです。 1. アプリケーションの ​`mule-artifact.json`​ ファイルで、設定 XML 内のグローバル ​``​ スニペットで指定した暗号化鍵の​_名前_​ (デフォルトでは ​`encryption.key`​) を指定します。次に例を示します。 { "minMuleVersion": "4.8", "javaSpecificationVersions": \[ "17" \], "secureProperties": \["encryption.key", "other.value.to.hide"\] } 暗号化鍵の​_名前_​ (​_値_​ではない) はカンマ区切りの ​`secureProperties`​ 配列に挿入されます。この手順の後半で、アプリケーションを CloudHub にデプロイするときに、機密プロパティの暗号化時にセキュア設定ツールを介して指定した暗号化鍵の​_値_​を指定するように IDE により促されます。 2. Cmd+shift+p (Mac) または Ctrl+shift+p (Windows) を押し、次のコマンドを入力して、アプリケーションを CloudHub または CloudHub 2.0 にデプロイします。 ```command MuleSoft: Deploy to CloudHub ``` または、設定 XML ファイルが開いているときに ​**\[Deploy to CloudHub (CloudHub にデプロイ)\]**​ (ロケット) アイコンをクリックします。次に例を示します。 ![\[Deploy to CloudHub (CloudHub にデプロイ)\] ロケットアイコン](_images/deploy-to-cloudhub-icon-with-detail.png) 3. セキュアプロパティの暗号化に使用した値と​_同じ値_​を入力するように促されたら、それらの値を入力します。 同じ値を入力しない場合、アプリケーションは CloudHub または CloudHub 2.0 にアップロードできますが、暗号化鍵値が機能しないため、デプロイメントは失敗します。 4. デプロイメントには ​**Sandbox**​ 環境を選択します。 他の環境はサポートされていません。​**デザイン**​環境にデプロイしようとすると、​`500`​ エラーコードで失敗します。デプロイメントが進行中の間、IDE によりプロセスの状況が提供されます。デプロイメントが完了すると、Runtime Manager でアプリケーションを開くように促されます。 アプリケーションが ​`CloudHub の「Sandbox」に正常にデプロイされなかった`​ことを示すエラーメッセージが表示されたら、Runtime Manager を開いてログを確認し、問題を修正することができます。 5. **\[Open in Runtime Manager (Runtime Manager で開く)\]**​ をクリックし、Runtime Manager でアプリケーションの管理オプションを開きます。 6. Runtime Manager でデプロイメントを確認し、アプリケーションの ​**\[Settings (設定)\]**​ > ​**\[Properties (プロパティ)\]**​ に移動して暗号化鍵が非表示になっていることを確認します。 7. **SANDBOX**​ 環境の ​**\[Applications (アプリケーション)\]**​ 画面で、アプリケーションの ​**\[Status (状況)\]**​ 項目を確認します。 - 状況が ​**\[Started (開始済み)\]**​ の場合、デプロイメントは成功し、アプリケーションは実行されています。 - 状況が ​**\[Deploy failed (デプロイ失敗)\]**​ の場合、アプリケーションの名前をクリックし、​**\[Logs (ログ)\]**​ に移動して、失敗の原因を見つけます。 暗号化鍵値が間違っている場合、エラー​`「org.mule.encryption.exception.MuleEncryptionException: Could not encrypt or decrypt the data (org.mule.encryption.exception.MuleEncryptionException: データを暗号化または復号化できませんでした)」`​が表示されます。 このエラーを修正する手順は、次のとおりです。 1. Runtime Manager でアプリケーションの ​**\[Settings (設定)\]**​ > ​**\[Properties (プロパティ)\]**​ に移動して、暗号化鍵の正しい値を暗号化鍵の項目に入力します。 2. **\[Apply Changes (変更を適用)\]**​ をクリックします。 Runtime Manager により変更が適用され、アプリケーションがデプロイされます。 詳細は、​[Anypoint Runtime Manager](https://docs.mulesoft.com/jp/runtime-manager/). For information about CloudHub, see [CloudHub Overview](https://docs.mulesoft.com/cloudhub/)​を参照してください。CloudHub 2.0 についての詳細は、[CloudHub 2.0 Overview](https://docs.mulesoft.com/cloudhub-2/)を参照してください。 ## [](#create-prop-file)さまざまな環境の設定の提供 多くの場合、設定 XML 内のホスト、ポート、ディレクトリ、およびその他の設定は開発、Sandbox、本番環境など、デプロイメントの対象環境によって異なります。たとえば、通常、デスクトップでは、ホスト名は ​`localhost`​、ポートは ​`8081`​ に似た番号、ディレクトリは外部ホストへのパスではなくローカルマシンのパスです。 IDE にアプリケーションをデプロイする場合、異なる設定が必要な対象環境ごとに個別のプロパティファイルを作成し、各ファイルで適切な設定を指定します。 通常のファイル名は次のようなパターンに従います。 - IDE 内の開発環境: `dev.properties.yaml`​ または ​`dev.secure.yaml` - 本番準備環境: `sandbox.properties.yaml`​ または ​`sandbox.secure.yaml` - 本番環境: `prod.properties.yaml`​ または ​`prod.secure.yaml` 一貫したファイル名パターンでは、設定 XML 内でファイル名のプレフィックスとして ​`${env}`​ 変数を使用できます。たとえば、​`${env}.properties.yaml`​ や ​`${env}.secure.yaml`​ のようになります。このパターンを使用すると、アプリケーションの実行環境の設定が含まれるファイルに切り替えることができます。ファイルには暗号化されたプロパティ値と暗号化されていないプロパティ値を含めることができます。 ファイル名のプレフィックスとして ​`env`​ 変数を設定して使用する手順は、次のとおりです。 1. 一貫したファイル名パターンを使用して、異なる設定が必要な各環境のプロパティファイルを作成します。 2. プロパティファイルを参照する ​``​ または別の要素を使用している場合、ファイル名のプレフィックス (​`${env}`​ など) を指定します。 次の例の ​`file`​ 属性の値に注意してください。 ```xml ``` 3. _CloudHub または CloudHub 2.0 にデプロイする前に_​、アプリケーションが IDE でローカルにデプロイされることを確認します。 1. IDE で Cmd+shift+p (Mac) または Ctrl+shift+p (Windows) を押して、次のコマンドを入力します。 ```command Open 'launch.json' ``` 2. `launch.json`​ で、IDE からアプリケーションを実行するときに使用する ​`env`​ 変数の値を追加します。 この ​`launch.json`​ 例の設定 ​`-M-Denv=dev`​ に注意してください。 ```json { "version": "0.2.0", "configurations": [ { "type": "mule-xml-debugger", "request": "launch", "name": "Debug Mule Application", "mule.project": "${workspaceFolder}", "mule.home": "${config:mule.runtime.muleHome}", "mule.runtime.args": "${config:mule.runtime.defaultArguments} -M-Denv=dev" } ] } ``` `-M-Denv=dev`​ では、Mule Runtime 引数 (​`"mule.runtime.args"`​) として ​`env`​ 変数が ​`dev`​ に設定されています。 3. プロパティファイル内で暗号化されたプロパティをアプリケーションで定義する場合、暗号化鍵と値を使用して IDE 内で ​**\[Runtime: Default Arguments (ランタイム: デフォルト引数)\]**​ コマンドを設定し、アプリケーションの実行時に IDE へのローカルデプロイメントでプロパティを復号化できるようにします。 機密プロパティ値を含む ​`launch.json`​ を設定​_しない_​でください。推奨設定についての詳細は、​[暗号化されたプロパティを IDE でテストする](#test-deploy)​を参照してください。 4. Cmd+shift+p (Mac) または Ctrl+shift+p (Windows) を押し、次のコマンドを入力して、アプリケーションの ​`deploy.json`​ ファイルを起動します。 ```command MuleSoft: Deploy to CloudHub ``` または、設定 XML ファイルが開いているときに ​**\[Deploy to CloudHub (CloudHub にデプロイ)\]**​ (ロケット) アイコンをクリックします。次に例を示します。 ![\[Deploy to CloudHub (CloudHub にデプロイ)\] ロケットアイコンと開かれている deploy.json](_images/deploy-to-cloudhub-icon-with-deploy-json.png) 5. _デプロイするように選択する前に_​ ​`deploy.json`​ を編集してプロパティファイルの正しいプレフィックスを指定します。次に例を示します。 ```deploy.json { "runtime": "4.4.0", "workerSize": 0.1, "applicationName": "my-secure-int2-duke", "workers": 1, "autoStart": true, "properties": (1) { "env": "sandbox" (2) } } ```
1"properties"​ キーを追加します。
2プロパティファイルの ​${env}​ プレフィックスの値 (​sandbox​ など) を指定するオブジェクトを追加します。
1. セキュアプロパティの暗号化に使用した値と​_同じ値_​を入力するように促されたら、それらの値を入力します。 2. デプロイメントには ​**Sandbox**​ 環境を選択します。 3. デプロイメントが完了したら、​**\[Open in Runtime Manager (Runtime Manager で開く)\]**​ をクリックし、Runtime Manager でアプリケーションの管理オプションを開きます。 4. `env`​ 設定などのプロパティや、非表示になっている暗号化鍵の値を確認するには、アプリケーションの ​**\[Settings (設定)\]**​ > ​**\[Properties (プロパティ)\]**​ をクリックします。 プロパティを作成したり、既存のプロパティの値を変更したりして、たとえば、デプロイメントエラーを修正することができます。 ## [](#関連情報)関連情報 - [Secure Configuration Properties](https://docs.mulesoft.com/mule-runtime/latest/secure-configuration-properties) # Mule プロジェクトのエクスポート **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Mule アプリケーションは、Mule Runtime Engine で実行されるインテグレーションまたは実装アプリケーションです。異なるチーム間でアプリケーションを共有したり、他の場所にアプリケーションをデプロイしたりするには、Mule アプリケーションリソースのスナップショットをエクスポートしてパッケージ化します。さらに、Mule プロジェクトをテンプレートまたはサンプルとして Exchange にパブリッシュできます。 - [共有可能な JAR ファイル](#shareable)​は、アプリケーションのソースコードのみをパッケージ化しているため軽量です。 ソースコードに設定ファイルは含まれますが、アプリケーションの正常な実行とデプロイに必要なライブラリや他の連動関係は含まれません。 IDE では、POM ファイル (​`pom.xml`​) の設定に基づいて連動関係が自動的に生成されます。 JAR ファイルをインポートして、Anypoint Code Builder または Anypoint Studio (Studio) で開発を続行することができます。 - [デプロイ可能な JAR ファイル](#deployable)​には、コンパイル済みコードとすべての連動関係が含まれます。 サポートされる任意の環境 (CloudHub やオンプレミスなど) に JAR ファイルをデプロイできます。 CloudHub に JAR ファイルをデプロイするには、[Deploy to CloudHub](https://docs.mulesoft.com/cloudhub/deploying-to-cloudhub)を参照してください。 デプロイ可能な JAR ファイルを作成して CloudHub にデプロイする必要はありません。 アプリケーションを Anypoint Code Builder から直接デプロイするには、[Mule アプリケーションの CloudHub および CloudHub 2.0 へのデプロイ](https://docs.mulesoft.com/jp/anypoint-code-builder/int-deploy-mule-apps)を参照してください。 - [パブリッシュ可能な Mule プロジェクトテンプレートまたはサンプル](#publishable)​には、Anypoint Exchange を介してプロジェクトを共有するためのリソースが含まれています。 Exchange から Mule プロジェクトをインポートして、Anypoint Code Builder または Studio で開発を続行することができます。 ## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [インテグレーションを作成します](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)​。 ## [](#shareable)共有可能な JAR ファイルにエクスポートする Mule プロジェクトをエクスポートする場合、共有可能な JAR ファイルには次のファイルが含まれます。 - 設定 XML ファイルと、リソースファイルを含む ​`src`​ フォルダーの他のファイル - `mule-artifact.json` - `pom.xml` 共有可能な JAR ファイルを生成する手順は、次のとおりです。 1. エクスポートする Mule アプリケーションのプロジェクトの設定 XML ファイルを開いて、そのファイル内にカーソルを置きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを選択します。 ```command MuleSoft: Export Shareable JAR ``` このコマンドは、コマンドシーケンス ​`[Task: Run Task (タスク: タスクを実行)]`​ > ​`[mule]`​ > ​`[mule: Package Only Sources (mule: ソースのみをパッケージ化)]`​ に相当します。 IDE のターミナルウィンドウが自動的に開き、パッケージプロセス (エクスポートコマンドの実行、エクスポートするプロジェクトのスキャン、JAR ファイルへのプロジェクトスナップショットのパッケージ化を含む) の状況が表示されます。 4. パッケージプロセスが正常に完了したら、IDE に表示されるプロンプトに従って JAR ファイルを見つけるかダウンロードします。 - デスクトップ IDE では、​**\[Open Folder (フォルダーを開く)\]**​ をクリックし、\[Explorer\] ビューで JAR ファイルが含まれているディレクトリを開きます。 - クラウド IDE では、​**\[Download File (ファイルをダウンロード)\]**​ をクリックして JAR ファイルをローカルマシンのディレクトリにダウンロードします。 - 32 MB 以下の JAR ファイルの場合、ファイルは IDE により \[Downloads (ダウンロード)\] フォルダーに自動的にダウンロードされます。 - 32 MB より大きい JAR ファイルの場合、システムファイルが含まれる組み込みフォルダー (\[Downloads (ダウンロード)\]、\[Desktop (デスクトップ)\]、\[Documents (ドキュメント)\] フォルダーなど) へのダウンロードは IDE では許可されません。 1. ダウンロード用のフォルダーを選択します。 2. プロンプトで ​**\[View files (ファイルを表示)\]**​ をクリックし、選択したフォルダーのファイルをサイトで表示できるようにします。 3. **\[Save Changes (変更を保存)\]**​ をクリックします。 IDE のターミナルウィンドウでも、プロジェクトフォルダーの下の ​`/target`​ ディレクトリで JAR へのパスが提供されます。 ダウンロードした共有可能な JAR ファイルのファイル名は、パターン ​`_application_name_-​_version_​-SNAPSHOT-mule-application-light-package.jar`​ に従います (例: `my-app-example-1.0.0-SNAPSHOT-mule-application-light-package.jar`​)。 共有可能な JAR ファイルを Anypoint Code Builder 内のプロジェクトワークスペースで開くには、​[「共有可能なプロジェクト JAR ファイルをデスクトップ IDE にインポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project#desktop-project-package)​および​[「共有可能なプロジェクト JAR ファイルをクラウド IDE にインポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project#web-project-package)​を参照してください。 ## [](#deployable)デプロイ可能な JAR ファイルにエクスポートする Mule プロジェクトをエクスポートする場合、Anypoint Code Builder でコンパイル済みコードとすべての連動関係が配信可能な JAR にパッケージ化されます。 デプロイメント手順は、Mule Runtime ホストとデプロイメントメカニズムによって異なります。 たとえば、CloudHub にデプロイするには、Runtime Manager UI または REST API を使用できます。 詳細は、​[「ランタイムプレーンホスティングオプション」](https://docs.mulesoft.com/hosting-home/#runtime-plane-hosting-options.adoc)​および​[「Mule アプリケーションのデプロイ」](https://docs.mulesoft.com/mule-runtime/latest/deploying)​を参照してください。 デプロイ可能な JAR ファイルを生成する手順は、次のとおりです。 1. エクスポートする Mule アプリケーションのプロジェクトの設定 XML ファイルを開いて、そのファイル内にカーソルを置きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを選択します。 ```command MuleSoft: Export Project to Mule Deployable Jar ``` このコマンドは、コマンドシーケンス ​`[Task: Run Task (タスク: タスクを実行)]`​ > ​`[mule]`​ > ​`[mule: Package (mule: パッケージ)]`​ に相当します。 IDE のターミナルウィンドウが自動的に開き、パッケージプロセス (エクスポートコマンドの実行、エクスポートするプロジェクトのスキャン、JAR ファイルへのプロジェクトスナップショットのパッケージ化を含む) の状況が表示されます。 4. パッケージプロセスが正常に完了したら、IDE に表示されるプロンプトに従って JAR ファイルを見つけるかダウンロードします。 - **デスクトップ IDE**​ では、​**\[Open Folder (フォルダーを開く)\]**​ をクリックし、\[Explorer\] ビューで、JAR ファイルが含まれているディレクトリを開きます。 IDE のターミナルウィンドウでも、プロジェクトフォルダーの下の ​`/target`​ ディレクトリで JAR へのパスが提供されます。 デスクトップ IDE では、JAR ファイルを \[Explorer\] の \[Java Projects (Java プロジェクト)\] で見つけることができます。 ![\[Java Projects (Java プロジェクト)\] フォルダーのデプロイ可能な JAR ファイル](_images/int-export-deployable.png) - **クラウド IDE**​ では、​**\[Download File (ファイルをダウンロード)\]**​ をクリックして JAR ファイルをローカルマシンのディレクトリにダウンロードします。 - 32 MB 以下の JAR ファイルの場合、ファイルは IDE により \[Downloads (ダウンロード)\] フォルダーに自動的にダウンロードされます。 - 32 MB より大きい JAR ファイルの場合、システムファイルが含まれる組み込みフォルダー (\[Downloads (ダウンロード)\]、\[Desktop (デスクトップ)\]、\[Documents (ドキュメント)\] フォルダーなど) へのダウンロードは IDE では許可されません。 1. ダウンロード用のフォルダーを選択します。 2. プロンプトで ​**\[View files (ファイルを表示)\]**​ をクリックし、選択したフォルダーのファイルをサイトで表示できるようにします。 3. **\[Save Changes (変更を保存)\]**​ をクリックします。 ダウンロードしたデプロイ可能な JAR ファイルのファイル名は、パターン ​`_application_name_-​_version_​-SNAPSHOT-mule-application.jar`​ に従います (例: `my-app-example-1.0.0-SNAPSHOT-mule-application.jar`​)。 ## [](#publishable)Exchange に Mule プロジェクトをパブリッシュする プロジェクトをテンプレートまたはサンプルとしてパブリッシュできます。 _プロジェクトテンプレート_​は、事前設定済みの再利用可能なプロジェクトセットアップであり、Mule アプリケーションを開発するための開始点として機能します。これらのテンプレートでは、一般的な設定、サンプルコード、ベストプラクティスを含む構造化されたフレームワークが提供されます。 _プロジェクトサンプル_​は、特定の機能またはユースケースを示すサンプルアプリケーションです。これらのサンプルでは、開発者がさまざまな機能やインテグレーションを実装するのに役立つ実用的な現実のシナリオが提供されます。 Mule プロジェクトをテンプレートまたはサンプルとして Exchange にパブリッシュする手順は、次のとおりです。 1. Anypoint Code Builder の \[Explorer\] ビューで、​`/src/main/mule/flights-implementation.xml`​ などのルート XML ファイルを右クリックします。 2. オプションメニューから ​**\[Publish Mule Project to Exchange (Mule プロジェクトを Exchange にパブリッシュ)\]**​ を選択します。 3. **\[Publish to Exchange (Exchange にパブリッシュ)\]**​ フォームで、​**\[Asset Type (アセットタイプ)\]**​ を選択します。 **\[Example (サンプル)\]**​ または ​**\[Template (テンプレート)\]**​ を選択します。 4. 次の項目にアセットの正しい値が含まれていることを確認します。 ![Exchange にプロジェクトをパブリッシュするためのフォーム](/mulesoft/current/ja-jp/anypoint-code-builder/_images/publish-project-to-exchange-dialog.png)
項目名 項目値

Asset Name (アセット名)

Exchange がパブリッシュされたプロジェクトを識別するために使用する名前。

Version (バージョン)

Exchange によって作成される、アセット用のページの ​[Version (バージョン)]​ セクションに表示されるバージョン番号。

アセットを初めてパブリッシュする場合、任意の有効な番号を使用できます。一般的な開始バージョンは ​1.0.0​ です。

アセットを再パブリッシュする場合、Anypoint Code Builder によって ​[Version (バージョン)]​ 項目に自動的に値が入力されます。この番号を変更できますが、すでに使用されているバージョン番号を使用してこのアセットの安定バージョンをパブリッシュすると、再パブリッシュは失敗します。

Description (説明)

アセットの省略可能な説明。

Business Group (ビジネスグループ)

アセットが属する Anypoint Platform のビジネスユニット。

Group ID (グループ ID)

アセットが属する Anypoint Platform のビジネスユニットの ID。

Artifact ID (アーティファクト ID)

Exchange がパブリッシュされたアセットを識別するために使用する一意の ID。パブリッシュされたアセットの ID が同じでない場合、デフォルト値を使用します。

5. **\[Advanced Options (詳細オプション)\]**​ で、次の項目にアセットの正しい値が含まれていることを確認します。 ![Exchange にプロジェクトをパブリッシュするためのフォーム](/mulesoft/current/ja-jp/anypoint-code-builder/_images/publish-project-to-exchange-advanced-dialog.png)
項目名 項目値

Tags (タグ)

Exchange がアセットの検索に使用する記述子。

Categories (カテゴリ)

以前に Exchange に追加されたカテゴリ。組織のカテゴリを作成する方法は、カテゴリの管理ドキュメントを参照してください。

6. **\[Advanced Options (詳細オプション)\]**​ で、​**\[Keep your local and published project in sync (ローカルおよびパブリッシュ済みプロジェクトの同期を維持)\]**​ チェックボックスをオンにして、ローカルプロジェクト情報と入力データを同期します。オフにした場合、プロジェクトは、指定されたデータを使用してデプロイされますが、ローカルプロジェクトには更新された情報が含まれません。 7. **\[Publish (パブリッシュ)\]**​ をクリックします。 新しいアセットとしてのプロジェクトのパブリッシュが開始されます。パブリッシュが成功したら、​**\[View Asset (アセットを表示)**​\] を選択して Exchange のアセットを表示します。 ## [](#関連情報)関連情報 - [IDE へのプロジェクトのインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project) - [Mule アプリケーションをパッケージする](https://docs.mulesoft.com/mule-runtime/latest/package-a-mule-application) - [Deploy to CloudHub](https://docs.mulesoft.com/cloudhub/deploying-to-cloudhub) - [Mule アプリケーションの CloudHub および CloudHub 2.0 へのデプロイ](https://docs.mulesoft.com/jp/anypoint-code-builder/int-deploy-mule-apps) # Mule、Java、コネクタのバージョン設定 Java 8 および 11 の標準サポートは Mule 4.8 Edge では 2025 年 3 月、4.6 LTS では 2026 年 2 月に終了します。Java 8 または 11 上で実行中のアプリケーションのアップグレードパスを計画します。 プロジェクトで使用する Mule Runtime Engine (Mule)、Java、コネクタのバージョンを設定します。 - [デフォルトバージョン](#default-versions)​: バージョンドロップダウンメニューに表示するデフォルトの Mule および Java バージョンを設定します。 - プロジェクトレベルバージョン: 特定のプロジェクトで使用するバージョンを設定します。 - Mule および Java バージョンについては、​[プロジェクトの Mule および Java バージョンを選択する](#project-version-mule-java)​を参照してください。 - コネクタバージョンについては、​[プロジェクトのコネクタバージョンを選択する](#project-versions-connectors)​を参照してください。 ## [](#default-versions)デフォルトの Mule および Java バージョンを選択する 新しい実装プロジェクトとインテグレーションプロジェクトのデフォルトの Mule および Java バージョンを選択します。デフォルトは、ドロップダウンメニューに表示されます。プロジェクトを作成するときなどに、ここからバージョンを選択します。 IDE に存在しないバージョンの場合、​**「downloads upon project creation (プロジェクトの作成時にダウンロード)」**​のようなメッセージが追加されます。機能をサポートしないバージョンの場合、通常は​**「AsyncAPI implementation unsupported for Mule 4.4 (Mule 4.4 でサポートされていない AsyncAPI 実装)」**​のようなメッセージが追加されます。 プロジェクトレベルで異なるバージョンを設定できます (​[プロジェクトの Mule および Java バージョンを選択する](#project-version-mule-java)​を参照)。 **\[Settings (設定)\]**​ タブからデフォルトの Mule および Java バージョンを選択する手順は、次のとおりです。 1. IDE の ​**\[Settings (設定)\]**​ タブを開きます。 手順を表示 - \[Anypoint Code Builder\] パネルから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックします。 - アクティビティバーから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックし、​**\[Settings (設定)\]**​ を選択して、​**\[Settings (設定)\]**​ タブで ​`mule`​ を検索します。 - [\[Command Palette (コマンドパレット)](https://docs.mulesoft.com/jp/anypoint-code-builder/start-use-command-palette)\]​ でコマンド ​`MuleSoft: Open ACB Settings`​ を指定します。 2. 開いているタブで、​**\[Mule\] › \[Application: Default Mule Runtime And Java Versions (アプリケーション: デフォルトの Mule Runtime および Java バージョン)\]**​ を見つけます。 3. **\[Edit defaults through command palette (コマンドパレットを使用してデフォルトを編集)\]**​ をクリックします。 **\[Settings (設定)\]**​ タブで直接 ​**muleRuntimeVersion**​ および ​**jdkVersion**​ 項目の値としてバージョンを設定することもできますが、メジャー番号、マイナー番号、パッチ番号、場合によってはタイムスタンプを知っておく必要があります。​**\[Edit defaults through command palette (コマンドパレットでデフォルトを編集)\]**​ をクリックした後に設定すると簡単です。 4. Mule Runtime バージョンを選択します。 5. Java バージョンを選択します。 ## [](#project-version-mule-java)プロジェクトの Mule および Java バージョンを選択する **\[Project Properties (プロジェクトプロパティ)\]**​ から特定の実装プロジェクトやインテグレーションプロジェクトの Mule または Java バージョンを設定します。バージョンはいつでも変更できますが、デプロイするバージョンでプロジェクトをテストすることが重要です。 次のようなシナリオでは、バージョン設定が重要になります。 - 最新バージョンを使用するためのプロジェクトの更新 - サポートされているバージョンへの切り替え (サポートされていないバージョンを使用するプロジェクトを Anypoint Code Builder にインポートする場合など) - プロジェクトにない Mule または Java のバージョンの追加 - 相互に互換性のある Mule または Java のバージョンの選択 プロジェクトで Mule または Java バージョンが設定されていない場合、IDE のキャンバスや通知に、​**\[Project Properties (プロジェクトプロパティ)\]**​ タブを開く ​**\[Set version (バージョンを設定)\]**​ ボタンが表示されます。​**\[Project Properties (プロジェクトプロパティ)\]**​ タブに直接移動することもできます。 プロジェクトの Mule および Java バージョンを選択する手順は、次のとおりです。 1. 実装プロジェクトまたはインテグレーションプロジェクトを開きます。 2. 次のコマンドを実行して、​**\[Project Properties (プロジェクトプロパティ)\]**​ タブを開きます。 ```command MuleSoft: Project Properties ``` 3. \[Explorer\] で、プロジェクトディレクトリ内の設定 XML ファイルを右クリックし、メニューから ​**\[Project Properties (プロジェクトプロパティ)\]**​ を選択します。 4. **\[Project Properties (プロジェクトプロパティ)\]**​ で、このプロジェクトで使用するバージョンを選択します。 ![\[Project Properties (プロジェクトプロパティ)\] タブの Mule および Java バージョン](_images/int-project-properties.png) サポートされている Mule Runtime と Java バージョンのいずれかを選択できます。IDE は、バージョン設定をプロジェクトの ​`mule-artifact.json`​ ファイルに保存します。 バージョンサポートと Mule パッチ自動更新については、​[「Mule と Java バージョンのサポート」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#versions-mule-jdk)​を参照してください。 ## [](#project-versions-connectors)プロジェクトのコネクタバージョンを選択する **\[Project Properties (プロジェクトプロパティ)\]**​ から、またはキャンバスにコンポーネントを追加するときに、特定の実装プロジェクトやインテグレーションプロジェクトのコネクタバージョンを設定します。バージョンはいつでも変更できますが、デプロイするバージョンでプロジェクトをテストすることが重要です。 プロジェクトのコネクタバージョンを選択する手順は、次のとおりです。 1. 実装プロジェクトまたはインテグレーションプロジェクトを開きます。 2. 次のコマンドを実行して、​**\[Project Properties (プロジェクトプロパティ)\]**​ タブを開きます。 ```command MuleSoft: Project Properties ``` 3. \[Explorer\] で、プロジェクトディレクトリ内の設定 XML ファイルを右クリックし、メニューから ​**\[Project Properties (プロジェクトプロパティ)\]**​ を選択します。 4. **\[Project Properties (プロジェクトプロパティ)\]**​ サイドバーから、​**\[Connectors (コネクタ)\]**​ をクリックします。 ![\[Project Properties (プロジェクトプロパティ)\] タブのコネクタバージョン](_images/int-project-properties-connectors.png) 5. コネクタバージョンを選択します。プロジェクトの Mule Runtime および Java バージョンとの互換性を保つために、Exchange コネクタバージョンを更新できます。 # MuleSoft 設定 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder には、IDE レベルですべての Anypoint Code Builder プロジェクトに適用される定義可能な設定があります。多くのデフォルト設定は、ほとんどのユーザーに適しています。ただし、EU クラウドを使用する場合、デフォルトの US クラウド設定を変更することが重要です。一部の設定は、デスクトップ IDE でのみ設定できます。 設定を開く手順は、次のとおりです。 1. IDE の \[Explorer\] パネルで API 仕様が開いている場合、プロジェクトを閉じて、クラウドを切り替えたときに同期エラーが発生しないようにします。 - デスクトップ IDE では、​**\[File (ファイル)\]**​ > ​**\[Close Folder (フォルダーを閉じる)\]**​ をクリックします。 2. デスクトップ IDE で ​**\[Settings (設定)\]**​ タブを開きます。 ![デスクトップ IDE から EU クラウドの選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-activity-bar-select-cloud.png) 手順を表示 - \[Anypoint Code Builder\] パネルから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックします。 - アクティビティバーから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックし、​**\[Settings (設定)\]**​ を選択して、​**\[Settings (設定)\]**​ タブで ​`mule`​ を検索します。 - [\[Command Palette (コマンドパレット)](https://docs.mulesoft.com/jp/anypoint-code-builder/start-use-command-palette)\]​ でコマンド ​`MuleSoft: Open ACB Settings`​ を指定します。 特定の Mule 設定については、その後のセクションを参照してください。 ## [](#setting-default-runtime-java)\[Mule\] › \[Application: Default Mule Runtime And Java Versions (アプリケーション: デフォルトの Mule Runtime および Java バージョン)\] **\[Edit defaults through command palette (コマンドパレットを使用してデフォルトを編集)\]**​ リンクをクリックして、新しい Mule プロジェクト (インテグレーションおよび実装) のデフォルトの Mule Runtime Engine および Java バージョンを設定します。 ## [](#setting-group-id)\[Mule\] › \[Application: Group ID (アプリケーション: グループ ID)\] Mule のインテグレーションプロジェクトまたは実装プロジェクトを作成するときに IDE で使用される Maven グループ ID 値を設定します。この設定により、各 Mule プロジェクトの ​`pom.xml`​ ファイルが入力されます。デフォルトは、​`com.mycompany`​ です。​`pom.xml`​ では、​`com.mycompany`​ のようになります。プロジェクト内の設定は必要に応じて変更できます。 Maven グループ ID については、Apache Maven プロジェクトドキュメントの [「Introduction to the POM (POM の概要)」](https://maven.apache.org/guides/introduction/introduction-to-the-pom.html)​を参照してください。 ## [](#setting-logging)\[Mule\] > \[Logging: Level (ログ: レベル)\] Anypoint Code Builder 拡張機能、Mule DX サーバー、Mule DX サーバー: スキャフォールディングのログに表示されるログの冗長性を設定します。冗長性オプションは漸進的です。 - Off (オフ): 問題を表示しない - Fatal (致命的): 致命的な問題のみ - Error (エラー): 致命的な問題とエラーの問題 - Warn (警告) (デフォルト): 致命的な問題、エラーの問題、警告の問題 - Info (情報): 致命的な問題、エラーの問題、警告の問題、情報の問題 - Debug (デバッグ): 致命的な問題、エラーの問題、警告の問題、情報の問題、デバッグの問題 - Trace (トレース): 致命的な問題、エラーの問題、警告の問題、情報の問題、デバッグの問題、追跡の問題 ## [](#setting-lsp)\[Mule\] › \[Lsp\] › \[Trace: Server (トレース: サーバー)\] `muleLanguageServerProtocol`​ サービスから VS Code への ​`LogTrace`​ 通知の冗長性を有効にして制御できます。 属性設定: - **off (オフ)**​ (デフォルト) - **messages (メッセージ)** - **verbose (冗長性)**​ ## [](#setting-mule-args)\[Mule\] › \[Runtime: Default Arguments (ランタイム: デフォルト引数)\] Mule Runtime Engine (Mule) の起動時に使用するデフォルトのコマンドライン引数を設定します。Mule は、インテグレーションプロジェクトまたは実装プロジェクトの Mule アプリケーションが実行されると起動します。 この設定の一般的な用途は、セキュア設定プロパティを入力するローカルデプロイメントの実行時に使用される暗号化キー値 (​`-M-Dencryption.key=my-key`​ など) や、設定プロパティファイルをそのファイル名で選択するときに Mule で使用される変数 (​`-M-Denv=dev`​ など) を追加することです。これらの用途についての詳細は、[Mule アプリケーションのプロパティの定義および保護](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-secure-configs)を参照してください。 ## [](#setting-metaspace)\[Mule\] › \[Runtime: Default Metaspace Size (ランタイム: デフォルトメタ領域サイズ)\] メタ領域は、クラスメタデータ、定数プール情報、メソッドバイトコードを保存するために使用される非ヒープメモリの領域です。 通常は、デフォルトの ​**1g**​ (1 GB) で十分です。ただし、Mule Runtime Engine (Mule) のインストール時にメタ領域サイズを変更することもできます。 クラウド IDE を使用している場合、この値を変更する前にコンテナで使用できるメモリに注意してください。 ## [](#setting-region)Mule: Control Plane (Mule: コントロールプレーン) デスクトップ IDE のコントロールプレーンを選択します。 - **US Cloud (US クラウド)**​ (デフォルト) - **EU Cloud (EU クラウド)** この設定は Anypoint Platform アカウントが存在するリージョンに基づいて自動的に設定されるため、クラウド IDE で設定することはできません。 詳細は、​[「US および EU クラウドホスト」](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds)​を参照してください。 ## [](#setting-telemetry)\[Mule\] > \[Telemetry (テレメトリー)\] US クラウドのテレメトリーサービスを有効または無効にできます。デフォルトでは、この設定は無効になっており、EU クラウドでは使用されません。テレメトリーサービスが有効になっていると、IDE から MuleSoft チームに匿名の使用状況データが送信されます。このデータは、重要な使用状況トレンドを識別するのに役立ちます。 ## [](#setting-home-dir)Mule: Home Directory (Mule: ホームディレクトリ) ダウンロードされるアセットのホームディレクトリを設定します。これには、Mule Runtime (​`runtime/`​)、実装およびインテグレーションの Java (​`java/`​) バージョン、​`maven/`​ の ​`acb_settings.xml`​ ファイル ([Anypoint Code Builder の Maven 設定ファイル](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-acb-maven)を参照) が含まれます。 ## [](#setting-auto-complete)\[Mule\] > \[Editor (エディター)\] > \[Auto-completion: Enablement (オートコンプリート: 有効化)\] Anypoint Code Builder の API デザインエディターでオートコンプリートの提案を有効にします。この設定により、Ctrl+Space を押して提案リストをアクティブ化する必要がなくなり、デフォルトで無効になります。​[\[Mule\] > \[Editor (エディター)\] > \[Auto-completion: Trigger Delay (オートコンプリート: トリガー遅延)\]](#setting-auto-complete-debouncer)​も参照してください。 ## [](#setting-auto-complete-debouncer)\[Mule\] > \[Editor (エディター)\] > \[Auto-completion: Trigger Delay (オートコンプリート: トリガー遅延)\] オートコンプリートオプションを表示するまでの待機時間をミリ秒単位で設定します。この設定のデフォルトは 1500 ミリ秒です。​[\[Mule\] > \[Editor (エディター)\] > \[Auto-completion: Enablement (オートコンプリート: 有効化)\]](#setting-auto-complete)​も参照してください。 長い遅延の設定は避けてください。オートコンプリートメニューをアクティブ化し、遅延期間が終了する前にプロジェクトで他のアクションを開始した場合、IDE は自動的にフォーカスをエディターに戻し、オートコンプリートをアクティブ化したメニューを開きます。このようなアクションには、コマンドパレットを開くことや、メニューをアクティブ化した後のコマンドターミナルの使用が含まれます。 トリガー遅延が期限切れになる前に、カーソルを新しい場所に移動するか、エディターで上下矢印キーを使用すると、オートコンプリートメニューを開く要求はキャンセルされます。 # MUnit を使用したプロジェクトのテスト ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder で実装プロジェクトとインテグレーションプロジェクトの MUnit テストを作成、実行、変更します。MUnit テストファイルが含まれるプロジェクトをインポートします。 MUnit は、​[「MUnit の概要」](https://docs.mulesoft.com/munit/latest/)​で説明されているように Mule アプリケーションで単体テストを作成および実行するための MuleSoft 単体テストフレームワークです。 MUnit を使用して、MUnit テストと MUnit テストスイートを作成します。MUnit テストは、​``​ 要素によって定義される個別のテストケースであり、Mule アプリケーションの機能をテストするための特定の検証とアサーションが含まれています。MUnit テストスイートは、複数の MUnit テストのコンテナです。これは、通常は ​`/src/test/munit`​ ディレクトリにある XML ファイルでテストを整理します。 Anypoint Code Builder には、テストを実行できる ​**\[Testing (テスト)\]**​ パネルが用意されています。テストスイートは、​**\[Explorer\]**​ のプロジェクトディレクトリ ​`/src/test/munit`​ 内にもあります。IDE には、MUnit テストスイートを作成および維持するためのキャンバス、テストの状況を示す \[Testing Results (テスト結果)\] パネル、テストの状況を識別するログも表示されます。 Anypoint Extension Pack に含まれる Anypoint Code Builder - MUnit 拡張機能では、Anypoint Code Builder の MUnit 機能がサポートされています。拡張機能については、​[「Anypoint Extension Pack」](https://docs.mulesoft.com/jp/anypoint-code-builder/#extension-pack)​を参照してください。 ## [](#prereqs)始める前に MUnit の基礎を理解します。テスト設定に関する概要と指針については、MUnit ドキュメントを参照してください。 - [MUnit Overview](https://docs.mulesoft.com/munit/latest/) - [MUnit Test Structure Fundamentals](https://docs.mulesoft.com/munit/latest/munit-test-concept) - [MUnit Event Processors](https://docs.mulesoft.com/munit/latest/event-processors) - [MUnit Cookbook](https://docs.mulesoft.com/munit/latest/munit-cookbook) ## [](#workflow)MUnit タスクとワークフロー ワークフローに 1 つ以上のステップを含めることができます。 1. [テストとテストスイートの作成](#create-tests) 2. [テストを開く](#open-test) 3. [テストの実行](#run) 4. [デバッグ](#run-debug) 5. [エラーの修正](#fix-errors) 6. [MUnit テストが含まれるプロジェクトのインポート](#import-test) ## [](#create-tests)MUnit テストおよびテストスイートを作成する フローから、またはキャンバスか XML エディターを使用して、MUnit テストおよびテストスイートを設定します。 - [MUnit テストスイートを作成する](#create-suite) - [MUnit テストを作成する](#create-test) ### [](#create-suite)MUnit テストスイートを作成する **\[Explorer\]**​ からプロジェクトの MUnit テストスイートを作成します。 1. **\[Explorer\]**​ で、​`/src/test/munit`​ にプロジェクトを開きます。 2. `munit`​ フォルダーにスイートファイルを作成します。 1. `munit`​ フォルダーを右クリックし、​**\[New MUnit Test Suite File (新規 MUnit テストスイートファイル)\]**​ を選択します。 2. スイートの名前を入力します (例: `my-suite.xml`​)。 スコープとフロー構造のオプションを使用して新しいテストを作成するためのリンクを含むキャンバスが表示されます。 新しいスイートファイルには、XML 宣言 (​``​) と、​``​ および ​``​ 要素が含まれます。次に例を示します。 ```xml ``` 3. テストをカスタマイズするには、キャンバスからコンポーネントを選択します。 - 「munit:before-test」、「munit:after-test」などの ​**Behavior**​ コンポーネントを使用すると、テストの条件を設定できます。 - **Execution**​ コンポーネント、「」または「」ブロック内のインラインフロー定義を使用すると、テストするアクションまたはプロセスを指定できます。 - 「munit:assert-that」などの ​**Validation**​ コンポーネントを使用すると、実行フェーズ後にアプリケーションの出力または状態をチェックして、期待される結果と一致していることを確認し、アプリケーションが意図したとおりに動作することを確認できます。 詳細は、[MUnit Event Processors](https://docs.mulesoft.com/munit/latest/event-processors)を参照してください。 4. [MUnit テストを作成する](#create-test)​に進みます。
Anypoint Code Builder では、キャンバスから MUnit テストスイートを作成するために MUnit 3.4.0 以降が必要です。
### [](#create-test)MUnit テストを作成する 新規または既存のテストスイートで MUnit テストを作成します。​`flow`​ コンポーネントを右クリックするか、キャンバスまたは XML エディターを使用して、MUnit テストを開始します。テスト設定に関する指針は、前提条件に記載されている ​[MUnit ドキュメント](#prereqs)​を参照してください。 #### [](#create-test-from-flow)フローからテストを作成する Mule アプリケーション内の特定のフローをテストするために設計された MUnit テストの基本構造を生成します。 1. Mule プロジェクトを開きます。 2. キャンバスで、​`flow`​ コンポーネントを右クリックします。 3. **\[Create Test (テストを作成)\]**​ を選択します。 4. Anypoint Code Builder によって、選択したフローを対象とするテスト構造の新しい MUnit テストスイートファイルがプロジェクトの ​`/src/test/munit`​ フォルダーに作成されます。 #### [](#create-test-from-canvas)キャンバスからテストを作成する [MUnit テストスイートを作成する](#create-suite)​を参照してください。 #### [](#create-test-from-xml)XML エディターからテストを作成する 1. エディターでテストスイート XML を開きます。 案内については、​[MUnit テストを開く](#open-test)​を参照してください。 2. XML で、Ctrl+Space を押して使用可能なオプションを表示し、​`「munit」`​と入力します。例: ![XML のオートコンプリートを使用した MUnit テスト要素の選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-tests-test-xml-autocomplete.png) 3. `munit:test`​ を選択し、スイートのテスト要素を挿入します。例: ```xml ``` 4. 名前や他の XML 要素を入力して、テストを作成します。 たとえば、次の例のような XML の行です。 ```xml ``` 他の例については、​[MUnit の例](#examples)​を参照してください。 5. \[Test (テスト)\] パネルからテストを実行します。 案内については、​[MUnit テストを実行する](#run)​を参照してください。 ## [](#open-test)MUnit テストを開く **\[Testing (テスト)\]**​ パネルまたは ​**\[Explorer\]**​ からテストスイート XML を開きます。 2025 年 2 月のリリース以降、IDE にはテストコンポーネントを含むキャンバスが表示されるか、新しいテストを作成するためのリンクが提供されます。
Anypoint Code Builder では、キャンバスから MUnit テストスイートを作成するために MUnit 3.4.0 以降が必要です。
- **\[Testing (テスト)\] パネル**​ - IDE のアクティビティバーから ​**\[Testing (テスト)\]**​ パネルを開きます。 1. MUnit テストスイートが含まれるプロジェクトを開きます。 2. ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-testing.png)​ (​**\[Testing (テスト)\]**​) をクリックして、​**\[Testing (テスト)\]**​ パネルを開きます。 3. スイートまたはテスト名をクリックするか、その上にマウスポインターを置き、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-go-to-test-gray.png)​ (​**\[Go to test (テストに移動)\]**​) または強調表示された ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-go-to-test.png)​ (​**\[Go to test (テストに移動)\]**​) をクリックし、テストが含まれる XML ファイルを開きます。 テスト名をクリックしても、XML ファイルが開きます。 - **Explorer**​ - ​**\[Explorer\]**​ から、プロジェクトディレクトリで MUnit テストスイートファイルを見つけます。 1. MUnit テストスイートが含まれるプロジェクトを開きます。 2. アクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-explorer.png)​ (​**\[Explorer\]**​) をクリックします。 3. `src/main/test/munit`​ に移動します。 4. テストスイート XML ファイルをクリックして、スイートのテストを表示します。 ## [](#run)MUnit テストを実行する 次のいずれかのオプションを使用して MUnit テストを実行します。 - [\[Testing (テスト)\] パネルからテストを実行する](#run-test-panel) - [キャンバスからテストを実行する](#run-test-canvas) - [MUnit 設定 XML ファイルからテストを実行する](#run-test-xml) - [MUnit 起動設定を使用してテストを実行する](#run-launch-config) - [デバッグモードで MUnit テストを実行する](#run-debug) - [カバー率を使用して MUnit テストを実行する](#run-coverage) テストを実行すると、テストビルドが実行され、\[Terminal (ターミナル)\] にテストの進行状況が表示されます。すべてのテストが正常に実行されると、ビルドは成功します。それ以外の場合、ビルドは失敗します。 IDE の ​**\[Testing (テスト)\]**​ パネル、​**\[Terminal (ターミナル)\]**​、​**\[Test Results (テスト結果)\]**​ パネルにテストの結果が表示されます。​**\[Test Results (テスト結果)\]**​ パネルからタイムスタンプのあるログを利用することもできます。結果はいつでもクリアできます。 ### [](#run-test-panel)\[Testing (テスト)\] パネルからテストを実行する **\[Testing (テスト)\]**​ パネルから、すべてのテスト、スイートのすべてのテスト、1 つのテストを実行できます。​**\[Testing (テスト)\]**​ パネルには、プロジェクトのすべての MUnit テストスイートがリストされます。 テストを実行する手順は、次のとおりです。 1. MUnit テストスイートが含まれるプロジェクトを開きます。 テストスイートを確認するには、[MUnit テストを開く](#open-test)を参照してください。 2. アクティビティバーから、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-testing.png)​ (​**\[Testing (テスト)\]**​) をクリックして、​**\[Testing (テスト)\]**​ パネルを開きます。 アイコンが表示されていない場合、アクティビティバー内をクリックして ​**\[Testing (テスト)\]**​ を選択し、アイコンを表示します。 3. **\[Testing (テスト)\]**​ パネルから、3 つのレベルのいずれかでテストを実行します。 !["\[Testing (テスト)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-testing-panel.png) パネル"\] デバッグ機能を使用して/使用しないでテストを実行します。XML にブレークポイントが含まれていて、デバッグすることを選択した場合、ブレークポイントでテストの実行が停止します。デバッグについては、[デバッグモードで MUnit テストを実行する](#run-debug)を参照してください。
1すべてのスイート: すべてのスイートのすべてのテストを実行するには、​[Run Tests (テストを実行)]​、​[Debug Tests (テストをデバッグ)]​、または ​[Run Tests with Coverage (カバー率を使用してテストを実行)]​ アイコンをクリックします。 右クリックしメニューから同じオプションを選択できます。
2スイート: 1 つのスイートのすべてのテストを実行するには、スイートにマウスポインターを置くか、それをクリックし、​[Run Test (テストを実行)]​、​[Debug Test (テストをデバッグ)]​、または ​[Run Tests with Coverage (カバー率を使用してテストを実行)]​ アイコンをクリックします。 右クリックしメニューから同じオプションを選択できます。
3テスト: 1 つのテストを実行するには、テストスイートのテストにマウスポインターを置くか、それをクリックし、​[Run Test (テストを実行)]​、​[Debug Test (テストをデバッグ)]​、または ​[Run Tests with Coverage (カバー率を使用してテストを実行)]​ アイコンをクリックします。
右クリックしメニューから同じオプションを選択できます。 4. テストを監視して、テスト結果を確認します。 - **\[Testing (テスト)\]**​ パネルと XML: 次の例では、実行中のテストが表示されています。 !["\[Test (テスト)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-xml-test-run-panel-xml.png) パネルと XML の実行中のテスト"\] テストの実行後、パネルと XML に結果が表示されます。 - Terminal (ターミナル): 次の例は、実行されて失敗しているテストの進行状況を示しています。 \================================================================================ === Running suite: myTestSuiteEx3.xml === ================================================================================ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Running test: test-03-suite3 + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ java.lang.AssertionError: at file: \[myTestSuiteEx3.xml\], line: \[27\] Expected: "this" as String {encoding: "UTF-8", mediaType: "application/java; charset=UTF-8", mimeType: "application/java", class: "java.lang.String", contentLength: 4} but: "that" as String {encoding: "UTF-8", mediaType: "application/java; charset=UTF-8", mimeType: "application/java", class: "java.lang.String", contentLength: 4} at (root) at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \[INFO\] =============================================================================== \[INFO\] MUnit Run Summary - Product: MULE\_EE, Version: 4.6.0 \[INFO\] =============================================================================== \[INFO\] >> myTestSuiteEx3.xml test result: Tests: 1, Errors: 0, Failures: 1, Skipped: 0 \[INFO\] --- test-03-suite3 <<< FAILED \[INFO\] \[INFO\] =============================================================================== \[INFO\] > Tests: 1 \[INFO\] > Errors: 0 \[INFO\] > Failures: 1 \[INFO\] > Skipped: 0 \[INFO\] =============================================================================== \[INFO\] ------------------------------------------------------------------------ \[INFO\] BUILD FAILURE \[INFO\] ------------------------------------------------------------------------ \[INFO\] Total time: 03:10 min \[INFO\] Finished at: 2024-04-29T08:49:39-07:00 \[INFO\] ------------------------------------------------------------------------ 5. テスト結果で失敗が示されている場合は、​[テストエラーを修正する](#fix-errors)​に移動します。 テスト結果をクリアするには、[テスト結果をクリアする](#clear-results)を参照してください。 ### [](#run-test-canvas)キャンバスからテストを実行する カバー率を使用して/使用しないでテストを実行します。テストスコープを追加して、Mule アプリケーションまたはフロー構造の特定の部分をテストし、実行コンテキストを定義します。 ![キャンバスからテストを実行](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-run-test-canvas.png) [MUnit テストおよびテストスイートを作成する](#create-tests)​を参照してください。 [カバー率を使用して MUnit テストを実行する](#run-coverage)​を参照してください。 ### [](#run-test-xml)MUnit 設定 XML ファイルからテストを実行する デバッグ機能を使用して/使用しないでテストを実行します。XML にブレークポイントが含まれていて、デバッグすることを選択した場合、ブレークポイントでテストの実行が停止します。デバッグについては、[デバッグモードで MUnit テストを実行する](#run-debug)を参照してください。 テストスイート XML からテストを実行する手順は、次のとおりです。 1. **\[Testing (テスト)\]**​ パネルから、プロジェクトのテストスイート XML ファイルを開きます。 **\[Testing (テスト)\]**​ パネルから開く方法に関する指針は、​[MUnit テストを開く](#open-test)​を参照してください。 2. テストスイート XML ファイルの 1 つのテストまたはすべてのテストを実行します。 ![テストスイート XML のテストオプション](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-xml-test-options.png) - テストスイート XML の 1 つのテストを実行する手順は、次のとおりです。 1. テスト (​`munit:test`​) の XML が含まれる行にカーソルを置きます。 たとえば、次の例のような XML の行です。 ```xml ``` 2. 右クリックして、オプションを選択します。 - **Run Test at Cursor (カーソル位置でテストを実行)** - **Debug Test at Cursor (カーソル位置でテストをデバッグ)** - **Run Test at Cursor with Coverage (カバー率を使用してカーソル位置でテストを実行)** これらのメニュー項目が表示されていない場合、\*\[Testing (テスト)\]\* パネルで ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-go-to-test-gray.png) または強調表示された ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-go-to-test.png) (\*\[Go to test (テストに移動)\]\*) から XML ファイルを開いてください。 - テストスイート XML のすべてのテストを実行する手順は、次のとおりです。 1. XML ファイルにカーソルを置きます。 2. 右クリックして、オプションを選択します。 - **Run Tests in Current File (現在のファイルでテストを実行)** - **Debug Tests in Current File (現在のファイルでテストをデバッグ)** - **Run Tests with Coverage in Current File (現在のファイルでカバー率を使用してテストを実行)** これらのメニュー項目が表示されていない場合、\*\[Testing (テスト)\]\* パネルで ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-go-to-test-gray.png) または強調表示された ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-go-to-test.png) (\*\[Go to test (テストに移動)\]\*) から XML ファイルを開いてください。 3. \[Testing (テスト)\]、\[Terminal (ターミナル)\]、\[Testing Results (テスト結果)\] パネルで実行中のテストの状況を確認します。​[例](#results-example)​を参照してください。 テスト結果をクリアするには、[テスト結果をクリアする](#clear-results)を参照してください。 ### [](#run-launch-config)MUnit 起動設定を使用してテストを実行する \[Run and Debug (実行とデバッグ)\] パネルから MUnit 起動設定を使用して MUnit テストを実行します。 MUnit 起動設定を作成して実行します。 1. \[Run and Debug (実行とデバッグ)\] パネルを開きます。 手順を表示 - アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**Run and Debug (実行とデバッグ)**​) アイコンをクリックする。 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+d - Windows: Ctrl+Shift+d - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 2. 起動設定を ​`launch.json`​ に追加します。 1. ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-gear.png)​ (歯車アイコン) をクリックして、​**\[launch.json\]**​ タブを開きます。 デフォルト設定は次のようになります。 ```json { "version": "0.2.0", "configurations": [ { "type": "mule-xml-debugger", "request": "launch", "name": "Debug Mule Application", "mule.project": "${workspaceFolder}", "mule.runtime.args": "${config:mule.runtime.defaultArguments}" } ] } ``` 2. `launch.json`​ ファイルで、配列の最初のオブジェクトの後にカンマを追加し、Ctrl+Space を押してオートコンプリートメニューを開き、​**\[MUnit Debug Launch (MUnit デバッグ起動)\]**​ を選択して MUnit 起動設定を追加します。例: ![オートコンプリートメニューからの MUnit の起動設定の追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-launch-config-autocomplete.png) この操作により、​`[Munit Debug Tests (Munit テストデバッグ)]`​ という名前の新しい JSON オブジェクトがファイルに追加されます。例: ```JSON { "version": "0.2.0", "configurations": [ { "type": "mule-xml-debugger", (1) "request": "launch", "name": "Debug Mule Application", "mule.project": "${workspaceFolder}", "mule.runtime.args": "${config:mule.runtime.defaultArguments}" }, { "type": "munit-xml-debugger", (2) "request": "launch", "name": "Munit Run Tests", "mule.project": "${workspaceFolder}", "munit.runtime.args": "${config:munit.runtime.defaultArguments}", "munit.runtime.debugger.version": "${config:munit.runtime.debugger.version}", "munit.debug": "false" } ] } ```
1[Debug Mule Application (Mule アプリケーションをデバッグ)]​ という名前の標準デバッガーのランチャー。
2[Munit Run Tests (Munit テスト実行)]​ という名前の MUnit デバッガーのランチャー。
3. 設定を ​`launch.json`​ に保存します。 4. **\[MUnit Debug Tests (Munit テストデバッグ)\]**​ 起動設定から MUnit テストを実行します。 1. \[Run and Debug (実行とデバッグ)\] パネルの起動メニューから ​**\[MUnit Debug Tests (Munit テストデバッグ)\]**​ を選択します。例: !["起動メニューからの \[MUnit Debug Tests (Munit テストデバッグ)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-launch-config-munit.png) の選択"\] 2. **\[Run an Debug\]**​ パネルの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-start-debug.png)​ (\[launch (起動)\]) をクリックして、​**\[MUnit Debug Tests (Munit テストデバッグ)\]**​ を実行します。 5. MUnit テストが実行されていることを確認します。​[例](#results-example)​を参照してください。 ## [](#run-debug)デバッグモードで MUnit テストを実行する テストまたは Mule アプリケーションの XML にブレークポイントを追加したら、デバッグモードでテストを実行します。Mule がブレークポイントに達したら、\[Run and Debug (実行とデバッグ)\] パネルで変数を確認できます。 1. MUnit テストスイートが含まれるプロジェクトを開きます。 2. Mule アプリケーションまたはテストスイートの XML にブレークポイントを追加します。 ブレークポイントと Mule イベントに関する指針は、[Mule アプリケーションのデバッグ](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps)を参照してください。 3. デバッグコマンドで次のいずれかのオプションを使用してテストを実行します。 - **\[Testing (テスト)\]**​ パネルから、任意のレベル (すべてのテスト、スイートのすべてのテスト、1 つのテスト) で ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-run-debug.png)​ (​**\[Debug test (テストをデバッグ)\]**​) をクリックします。 詳細は、​[\[Testing (テスト)\] パネルからテストを実行する](#run-test-panel)​を参照してください。 - スイート XML から、右クリックメニューを使用してテストを実行します。 詳細は、​[MUnit 設定 XML ファイルからテストを実行する](#run-test-xml)​を参照してください。 - \[Run and Debug (実行とデバッグ)\] パネルの起動設定から、テストを実行します。 案内については、​[MUnit 起動設定を使用してテストを実行する](#run-launch-config)​を参照してください。 4. ビルドプロセスがブレークポイントに達したら、アクティビティバーから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**\[Run and Debug (実行とデバッグ)\]**​) をクリックして変数 (Mule イベント変数やテストパラメーターを含む) を確認します。例: ![ブレークポイントでテストをデバッグした後の変数](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-debug-test-mule-event.png) 5. データを調べて、問題に対処します。 デフォルトでは、タイムアウト期間を過ぎると実行中のテストは失敗します。デバッグセッションがテストのブレークポイントに達したら、テストとビルドはタイムアウトで失敗します。​[「タイムアウト属性のテスト」](https://docs.mulesoft.com/munit/latest/munit-test-concept#test-timeout-attribute)​を参照してください。 ## [](#run-coverage)カバー率を使用して MUnit テストを実行する カバー率を使用してテストを実行し、一連の MUnit テストによって Mule アプリケーションがどの程度実行されるかを測定します。 1. MUnit テストスイートが含まれるプロジェクトを開きます。 2. カバー率で次のいずれかのオプションを使用してテストを実行します。 - キャンバスから、​**\[Run Test (テストを実行)\]**​ および ​**\[Run Test with Coverage (カバー率を使用してテストを実行)\]**​ をクリックします。 **\[Testing (テスト)\]**​ パネルにテストカバー率の結果が表示されます。 詳細は、​[キャンバスからテストを実行する](#run-test-canvas)​を参照してください。 - **\[Testing (テスト)\]**​ パネルから、任意のレベル (すべてのテスト、スイートのすべてのテスト、1 つのテスト) で ​**\[Run Test with Coverage (カバー率を使用してテストを実行)\]**​ をクリックします。 詳細は、​[\[Testing (テスト)\] パネルからテストを実行する](#run-test-panel)​を参照してください。 - スイート XML から、右クリックしてテストを実行するオプションを選択します。 詳細は、​[MUnit 設定 XML ファイルからテストを実行する](#run-test-xml)​を参照してください。 3. テストスイートの実行後、次のいずれかのオプションを使用してカバー率の結果を表示します。 - アクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-testing.png)​ (​**\[Testing (テスト)\]**​) をクリックして、​**\[Testing (テスト)\]**​ パネルを開きます。​**\[Test Coverage (テストカバー率)\]**​ パネルには、ディレクトリとファイルのカバー率が表示されます。 ![カバー率を使用してテストを実行した後のテストカバー率パーセント](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-test-coverage-panel.png) - アクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-explorer.png)​ (​**\[Explorer\]**​) をクリックします。IDE にディレクトリとファイルのカバー率が表示されます。 数値とグラフィックのパーセントは両方とも、MUnit テストによって実行されたイベントプロセッサーのパーセントを示します。 ## [](#fix-errors)テストエラーを修正する [テストを実行](#run)​したら、エラーを修正します。 1. **\[Testing (テスト)\]**​ パネルから、失敗したテストの名前をクリックして、XML のテストエラーを確認します。 XML の例のエラーでは、​`java.lang.AssertionError`​ というエラーが識別されます。 - 想定される結果 (赤で強調表示): "yes" as String {encoding: "UTF-8", mediaType: "application/java; charset=UTF-8", mimeType: "application/java", class: "java.lang.String", contentLength: 3} - 実際の結果 (緑で強調表示): "no" as String {encoding: "UTF-8", mediaType: "application/java; charset=UTF-8", mimeType: "application/java", class: "java.lang.String", contentLength: 2} at (root) **\[Test Results (テスト結果)\]**​ パネルでテストログの失敗したテストをクリックしてテストを確認することもできます。例: !["\[Test Results (テスト結果)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-test-results-panel-failed.png) パネルのエラー"\] 2. エラーを修正します。 1. エラーを確認したら、​**\[x\]**​ アイコンをクリックして、XML のエラーメッセージを閉じます。例: ![XML のテストエラーメッセージを閉じる](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-test-error-xml-close.png) 2. 想定される出力が生成されるように XML を編集します。 たとえば、この例の失敗したテストケースでは、​`"no"`​ ではなく ​`"yes"`​ が返される必要があります。 3. エラーを修正したら、テストを再実行して、修正が機能していることを確認します。 - XML からテストを再実行するには、テストの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-failed-test.png)​ (​**\[Test failure (失敗をテスト)\]**​) をクリックします。 - **\[Testing (テスト)\]**​ パネルからテストを再実行するには、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-run-test.png)​ (​**\[Run test (テストを実行)\]**​) をクリックします。 - \[Testing Results (テスト結果)\] パネルからテストを再実行するには、パネルを開き、テストログの失敗したテストの名前をクリックし、テストログから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-run-test.png)​ (​**\[Run test (テストを実行)\]**​) をクリックします。 MUnit XML 設定に関する指針は、​[MUnit Test Structure Fundamentals](https://docs.mulesoft.com/munit/latest/munit-test-concept) and [MUnit Event Processors](https://docs.mulesoft.com/munit/latest/event-processors)​を参照してください。 テスト結果をクリアするには、[テスト結果をクリアする](#clear-results)を参照してください。 ## [](#import-test)MUnit テストが含まれるプロジェクトをインポートする Anypoint Studio および Anypoint Code Builder で作成された、インテグレーションまたは実装の Mule プロジェクトには、MUnit テストを含めることができます。 - プロジェクトを Anypoint Code Builder にインポートして開くには、[IDE へのプロジェクトのインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project)を参照してください。 - Anypoint Code Builder にインポートする前に Anypoint Studio からプロジェクトをエクスポートするには、​[「Studio からのプロジェクトのエクスポート」](https://docs.mulesoft.com/studio/import-export-packages#export-project-studio)​のいずれかの手順を使用します。 - Anypoint Exchange の MUnit テストが含まれるサンプルまたはテンプレートをインポートするインテグレーションを開始するには、​[「インテグレーションプロジェクトを作成する」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations#create-integration-project)​を参照してください。 インテグレーションプロジェクトを作成する場合、空のプロジェクトから始める代わりに ​**\[Template or Example Project (テンプレートまたはサンプルプロジェクト)\]**​ をクリックします。これにより、テストが含まれるアセットをプロジェクトにインポートできます。 ## [](#clear-results)テスト結果をクリアする テストが完了したら、​**\[Testing (テスト)\]**​ パネルからテスト結果をクリアできます。また、不要な場合はログをクリアすることもできます。 - **\[Testing (テスト)\]**​ パネルから、​**\[Views and More Actions (…​) (表示およびその他のアクション (…​))\]**​ をクリックして、​**\[Clear All Results (すべての結果をクリア)\]**​ を選択します。 - **\[Test Results (テスト結果)\]**​ パネルから、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-munit-clear-test-results.png)​ (​**\[Clear All Results (すべての結果をクリア)\]**​) をクリックします。例: !["\[Test Results (テスト結果)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/munit-clear-testing-results-log.png) パネルからのテスト結果のクリア"\] ## [](#targeting-specific-processors-and-attributes-in-your-test)テストで特定のプロセッサーと属性を対象にする Mule フローの個々のコンポーネントに焦点を当てるには、次のプロセッサーを MUnit テストに追加します。
プロセッサー 説明

​Mock-when​

フロー内にイベントプロセッサーのモックを作成し、イベントプロセッサーを実行せずにその動作をシミュレーションします。

​Spy​

フロー内の特定のイベントプロセッサーの動作を変更せずに、その実行前と実行後に何が起こるかを観察します。

### [](#setting-up-processors)プロセッサーをセットアップする 1. テストスイートで、​**\[+\]**​ をクリックします。 2. フローを観察するように設計されたプロセッサーを検索します (​[テストで特定のプロセッサーと属性を対象にする](#targeting-specific-processors-and-attributes-in-your-test)​を参照)。 3. **\[+\]**​ アイコンをクリックして、観察するプロセッサーの種別を選択します。 ![プロセッサーを追加するためのコンポーネントウィンドウ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-munit-processor.png) 4. 観察するプロセッサーのコンポーネントと属性を選択します。 ![プロセッサーウィンドウで強調表示されているコンポーネントと属性](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-munit-select-component-attribute.png) 5. **\[Add (追加)\]**​ をクリックして、プロセッサーをテストスイートに追加します。 プロセッサーは XML エディターとキャンバスに表示されます。 プロセッサーとその属性を選択するときは、次の点を考慮してください。 - 1 つのプロセッサーの設定は、フロー内の同じ種別のすべてのプロセッサーに適用されます。 - 同じ種別のすべてのプロセッサーの属性がリストされます。 ## [](#examples)MUnit の例 MUnit ドキュメントには、いくつかの例が記載されています。[MUnit Cookbook](https://docs.mulesoft.com/munit/latest/munit-cookbook)を参照してください。 次の MUnit テストの例では、​`payload`​ が文字列 ​`"Example"`​ であるかどうかを検証します。 ```xml ``` `munit:execution`​、​`munit:validation`​、および他の MUnit テスト要素については、​[MUnit Test Structure Fundamentals](https://docs.mulesoft.com/munit/latest/munit-test-concept) and [MUnit Event Processors](https://docs.mulesoft.com/munit/latest/event-processors)​を参照してください。 # OAS、RAML、および GraphQL API の実装 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 API 仕様を作成したら、Anypoint Code Builder を使用して API を実装またはインテグレーションの Mule プロジェクトにスキャフォールディングします。 Anypoint Code Builder では、API 仕様から参照される場合、次のスキーマフラグメントファイルのスキャフォールディングがサポートされています。
Avro JSON RAML

AsyncAPI

はい

はい

いいえ

GraphQL

いいえ

いいえ

はい

OData

いいえ

いいえ

はい

REST

いいえ

いいえ

はい

SOAP

いいえ

いいえ

はい

サポートされていないフラグメントを追加した場合、スキャフォールダーは Exchange から仕様をインポートするときに、これらのフラグメントをプロジェクトの連動関係として追加しません。ただし、仕様内でインラインで指定されたスキーマをスキャフォールディングすることはできます。 OAS および JSON スキーマの場合、実装またはインテグレーションプロジェクトディレクトリ内に手動で作成したフラグメントファイルを指定することもできます。 Anypoint Code Builder では、仕様で定義された設定を使用して実装プロジェクト内の基本インターフェースを自動生成します。 このインターフェースには、各エンドポイントまたは操作のフロー、XML ベースの組み込みルーター、エラーハンドラーが含まれており、それらをその後 Mule アプリケーション内に実装します。 API を実装するために使用するプロセスは、すでにインテグレーションまたは実装のプロジェクトを作成しているか Exchange に仕様をパブリッシュしているかによって異なります。 - Exchange の仕様を使用して API をスキャフォールディングする方法は、次のとおりです。 - 新しいプロジェクトにスキャフォールディングするには、​[新しいプロジェクトへの API のスキャフォールディング](#scaffold-new-integration)​を参照してください。 - 既存のプロジェクトにスキャフォールディングするには、​[プロジェクトへの API 仕様のインポート](#import-spec-into-project)​を参照してください。 - Exchange の仕様への最新の変更でプロジェクトを更新するには、​[プロジェクトへの API 仕様のスキャフォールディング](#re-scaffold-spec)​を参照してください。 - 仕様を Exchange にパブリッシュせずに API をプロジェクトにスキャフォールディングおよび再スキャフォールディングするには、[API の反復的な設計および実装](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-local-apis)を参照してください。 ## [](#始める前に)始める前に - [デスクトップまたはクラウド IDE をセットアップしてアクセス](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​します。 - [API 仕様を作成してテスト](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)​します。 - [API 仕様を Exchange にパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange)​します。 - 必要に応じて、​[インテグレーションプロジェクト (Mule アプリケーション) を作成](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)​します。 ## [](#scaffold-new-integration)新しいプロジェクトへの API のスキャフォールディング プロジェクトをまだ作成していない場合は、Anypoint Code Builder を使用して API を新しい Mule プロジェクトにスキャフォールディングします。 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 ![アクティビティバー内で強調表示されている \[Anypoint Code Builder\] アイコン](_images/anypoint-code-builder-view.png) 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Implement an API (API を実装)\]**​ をクリックします。 ![\*\[Getting Started (使用開始)\]\* セクション内の強調表示された \*\[Implement an API (API を実装)\]\*リンク](_images/implement-api-option-mat.png) 3. **\[Implement an API Specification (API 仕様を実装)\]**​ フォームに入力します。 ![実装プロジェクトの開始フォーム](/mulesoft/current/ja-jp/anypoint-code-builder/_images/implement-api-configure-in-task.png)
項目名 項目値

Project Name (プロジェクト名)

プロジェクトの一意の名前。

この名前はタイトルおよびプロジェクトファイルの名前として使用されます。 たとえば、プロジェクト名が​「My Project (私のプロジェクト)」​の場合、プロジェクトファイル名は ​my-project​ になります。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ。

別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。

Search an API Specification from Exchange (Exchange から API 仕様を検索)

Exchange の仕様の名前。​[Show filters (検索条件を表示)]​ をアクティブ化して、検索結果を絞り込みます。詳細は、検索結果の絞り込みを参照してください。

Mule Runtime

プロジェクトに使用する Mule Runtime バージョン。

Java Version (Java バージョン)

Mule に使用する Java バージョン。

サポートされている Mule Runtime と Java バージョンのいずれかを選択できます。IDE は、バージョン設定をプロジェクトの ​`mule-artifact.json`​ ファイルに保存します。 ![Exchange の API を検索する](/mulesoft/current/ja-jp/anypoint-code-builder/_images/imp-api-search.png) 選択した API 仕様がフォームに表示されます。次に例を示します。 !["\[Implement an API Specification (API 仕様を実装)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/imp-api-selected.png) フォームで選択された \[OAS Example (OAS 例)\] API"\] 4. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 プロジェクトを作成すると、Anypoint Code Builder で次の操作が実行されます。 - プロジェクトの ​`pom.xml`​ ファイルに API 仕様を連動関係として追加します。 ```XML e91cab06-650b-4634-9c6f-5bc4f4fc4d17 OAS-Example 1.0.1 oas zip ``` - Mule と Java のバージョンをプロジェクトの ​`mule-artifact.json`​ ファイルに追加します。 - API を新しい Mule プロジェクトにスキャフォールディングして、設定 XML ファイルを開きます。 設定 XML ファイルには、仕様の各エンドポイントのフロー、エラーハンドラー、組み込みルーターを含む実装プロジェクトのインターフェースが含まれます。次に例を示します。 ![Anypoint Code Builder での OAS インテグレーション例](/mulesoft/current/ja-jp/anypoint-code-builder/_images/imp-api-scaffolded.png) この例には以下が含まれます。 - メインフロー - 組み込みルーターを含む HTTP リスナー - いくつかのエラーハンドラー GraphQL API の場合、Anypoint Code Builder では、各 Mule フローのソースとしてデータフェッチャー (​``​) も作成されます。 データフェッチャーについての詳細は、「​[GraphQL API の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-graphql-implement-api) tutorial for an example GraphQL API and [データソースへの GraphQL API のマッピング](https://docs.mulesoft.com/jp/apikit/latest/apikit-graphql-api-mapping)​」を参照してください。 Mule アプリケーション内でインターフェースを実装できるようになりました。 ## [](#import-spec-into-project)プロジェクトへの API 仕様のインポート [インテグレーションプロジェクトを作成](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)​している場合、Exchange から API 仕様をインポートすることでインターフェースをプロジェクトにスキャフォールディングできます。この場合、Anypoint Code Builder では、インテグレーションプロジェクトのインターフェース用の個別の設定 XML ファイルが作成されます。 1. Anypoint Code Builder の \[Explorer\] ビューで、​`my-project-name`​ などのインテグレーションプロジェクトを開きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command MuleSoft: Import Asset from Exchange ``` 4. API 仕様の言語に応じて、次のオプションのいずれかを選択します。 - OAS または RAML では ​**Rest API** - **GraphQL API** 5. 確認を促されたら、​**\[Allow (許可)\]**​ をクリックして、Anypoint Platform を使用したサインインを許可し、ビジネスグループを選択します。 6. API 仕様の名前を入力して Enter キーを押します。 7. 名前に一致するアセットのリストが IDE に読み込まれるまで待機します。 ![\[Assets from Exchange (Exchange のアセット)\] ドロップダウン](_images/imp-assets-from-exchange.png) 8. インポートする API 仕様を選択します。 9. プロンプトで、API 仕様のバージョン (​`v1.0.1`​ など) を選択します。 10. API 連動関係をスキャフォールディングするように促されたら、​**\[Yes (はい)\]**​ を選択します。 API 連動関係をスキャフォールディングすると、Anypoint Code Builder では次の操作が実行されます。 - プロジェクトの ​`pom.xml`​ ファイルに API 仕様を連動関係として追加します。 ```XML e91cab06-650b-4634-9c6f-5bc4f4fc4d17 OAS-Example 1.0.1 oas zip ``` - Mule と Java のバージョンを ​`mule-artifact.json`​ ファイルに追加します。 ```XML { "minMuleVersion": "4.6.2", "javaSpecificationVersions": [ "11" ] } ``` - 新しい設定 XML ファイル (​`oas-example.xml`​ など) をプロジェクトに追加します。 ![\[Explorer\] ビューでの新規設定ファイル](_images/imp-new-config-file.png) 新しい設定 XML ファイルには、仕様の各エンドポイントのフロー、エラーハンドラー、組み込みルーターを含む、インテグレーションプロジェクトのインターフェースが含まれます。次に例を示します。 ![Anypoint Code Builder での OAS インテグレーション例](/mulesoft/current/ja-jp/anypoint-code-builder/_images/imp-api-imported.png) この例には以下が含まれます。 - メインフロー - 組み込みルーターを含む HTTP リスナー - いくつかのエラーハンドラー GraphQL API の場合、Anypoint Code Builder では、各 Mule フローのソースとしてデータフェッチャー (​``​) も作成されます。 データフェッチャーについての詳細は、「​[GraphQL API の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-graphql-implement-api) tutorial for an example GraphQL API and [データソースへの GraphQL API のマッピング](https://docs.mulesoft.com/jp/apikit/latest/apikit-graphql-api-mapping)​」を参照してください。 Mule アプリケーション内でインターフェースを実装できるようになりました。 ## [](#re-scaffold-spec)プロジェクトへの API 仕様のスキャフォールディング 再スキャフォールディングを使用すると、Anypoint Exchange の API 仕様の最新の変更とバージョンで IDE 内のプロジェクトを更新できます。再スキャフォールディングでは、プロジェクトの設定 XML と ​`pom.xml`​ が更新されます。Exchange にパブリッシュされていないローカル API 設計プロジェクトで定義された仕様をスキャフォールディングするには、代わりに [API の反復的な設計および実装](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-local-apis) を参照してください。 この手順は、仕様の最新バージョン (2.0.0 バージョンなど) を Exchange で使用できることを前提とします。 ![Exchange から API 仕様の新しいバージョンの選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/imp-assets-from-exchange-multiversion.png) 1. Anypoint Code Builder の \[Explorer\] ビューで、​`my-implementation-project`​ などの実装プロジェクトを開きます。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command MuleSoft: Import Asset from Exchange ``` 4. API 仕様の言語に応じて、次のオプションのいずれかを選択します。 - OAS または RAML では ​**Rest API** - **GraphQL API** 5. 確認を促されたら、​**\[Allow (許可)\]**​ をクリックして、Anypoint Platform を使用したサインインを許可し、ビジネスグループを選択します。 6. API 仕様の名前を入力して Enter キーを押します。 7. 名前に一致するアセットのリストが IDE に読み込まれるまで待機します。 ![\[Assets from Exchange (Exchange のアセット)\] ドロップダウン](_images/imp-assets-from-exchange-multiversion.png) 8. プロンプトで、API 仕様のバージョン (​`v2.0.0`​ など) を選択します。 9. API 連動関係をスキャフォールディングするように促されたら、​**\[Yes (はい)\]**​ を選択します。 API 連動関係をスキャフォールディングすると、Anypoint Code Builder では次の操作が実行されます。 - プロジェクトの ​`pom.xml`​ ファイルに API 仕様を連動関係として追加します。 ```XML e91cab06-650b-4634-9c6f-5bc4f4fc4d17 phoneSync1005 2.0.0 oas zip ``` - プロジェクトのインターフェースが含まれる設定 XML ファイルを、インポートした仕様への変更で更新します。 10. プロジェクトへの変更があるかどうかを確認します。 たとえば、更新された仕様で新しいエンドポイントが追加される場合、実装プロジェクトの設定 XML にはそのエンドポイントの新しいフローがあります。 11. 仕様で新しいバージョン番号が導入された場合、​`pom.xml`​ を開き、再スキャフォールディングされた仕様の ​`artifactID`​ の新しい連動関係バージョンを検索します。 ## [](#インターフェースファイルを調べる)インターフェースファイルを調べる API 仕様をインターフェースにスキャフォールディングしたら、UI キャンバスと設定 XML でインターフェースのスキャフォールディング済みフローとエラーハンドラーを調べます。 ![キャンバスでのスキャフォールディング済みフロー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/imp-scaffolded-flow-canvas.png) 1. \[Explorer\] ビューで、目的のインターフェースの設定 XML ファイルを開きます。 2. キャンバス UI が自動的に開かない場合は、アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-tree-view.png)​ (​**Show Mule graphical mode (Mule グラフィカルモードを表示)**​) アイコンをクリックしてキャンバス UI を開きます。 3. **\[Flow List (フローリスト)\]**​ をクリックして、フロー間を移動します。 ![\[Flow List (フローリスト)\] の例](_images/int-flow-list.png) 4. 設定 XML で、API 仕様のエンドポイント用に作成したフローを見つけます。 フローの例 ```xml #[vars.outboundHeaders default {}] #[payload] #[vars.outboundHeaders default {}] 404 ``` 5. 自動的に生成されたエラーハンドラーコンポーネントを確認します。 エラーハンドラーコンポーネントの例 ```xml 404 ``` ## [](#rename)インターフェースおよび実装ファイルに名前を付ける API 仕様を既存のインテグレーションにインポートすると、Anypoint Code Builder で設定 XML ファイルの名前が API 仕様名に基づいて自動的に設定されます。 ファイル名を、たとえばその機能に基づいてわかりやすい名前に変更することができます。次に例を示します。 - `interface.xml`​ でアプリケーションへのすべての受信要求を受け取り、スキャフォールディング済みフローで要求を検証してルーティングします。 - `implementation.xml`​ では、インターフェースへのコールのためのバックエンドロジックを提供します。 ファイルの名前を変更するには、ファイルを右クリックして ​**\[Rename (名前変更)\]**​ を選択し、新しい名前を指定します。 ## [](#関連情報)関連情報 - [インテグレーションの作成](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations) - [API の反復的な設計および実装](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-local-apis) - [GraphQL API の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-graphql-implement-api) # Parallel For Each () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE コレクションを同時に処理される部分に分割して、メッセージのコレクションを処理します。 すべてのメッセージを処理した後で、このコンポーネントは分割前と同じ順序で結果を集約し、フローを続行します。 Parallel For Each では、すべての処理ルートの結果がリストにバッファされ、スコープの処理が終了した後にそのリストが返されます。これにより、大量のエントリを処理するときにメモリ不足エラーが発生する可能性があります。大きなペイロードを処理するには、代わりにバッチ処理を使用します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Parallel For Each (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Parallel foreach (並列 foreach )​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Collection (コレクション)

collection

コレクションを返す式。デフォルトは ​#[payload]​ です。

Timeout (タイムアウト)

timeout

各並列ルートのタイムアウトをミリ秒単位で指定します。

Max concurrency (最大同時実行)

maxConcurrency

ルーターが使用する並列性の最大レベルを指定します。

+ デフォルトでは、すべてのルートが並列実行されます。

Target Variable (対象変数)

target

メッセージデータを格納する変数の名前。数字、文字、アンダースコアのみを使用できます。たとえば、名前にハイフンは使用できません。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

Target Value (対象値)

targetValue

対象変数に格納するデータの値。このデフォルト値はメッセージペイロード (payload) です。この項目は、変数が受け入れるすべての値を受け入れます。サポートされているデータ型、DataWeave の式、​payload​、​attributes​、​message​ キーワードが該当しますが、​vars​ キーワードは対象外です。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

## [](#例)例 ### [](#example1)例: 値の追加 次の例では、コレクション内のすべての要素に文字列​`「-result」`​を追加します。 ```xml ``` ### [](#example2)例: 変数の変更 次の例は、Parallel For Each スコープ内の既存の変数への変更は一時的なものであり、実行終了後には保持されないことを示しています。 ```xml ``` この例の出力は次のようになります。 ```json { var1: "var1", var2: "var2" } ``` Parallel For Each スコープのすべての実行は、ブロックの実行前と同じ変数および値で開始されます。 1 つの要素の処理中に新しい変数を追加したり既存の変数を修正したりしても、別の要素の処理中は表示されません。これらのすべての変数の変更は、Parallel For Each スコープの外部では使用できません。Parallel For Each スコープの実行後、一連の変数 (およびその値) は実行前と同じままになります。 ## [](#error-handling)エラー処理 このスコープはすべてのルートを並列処理するため、1 つのルートでエラーが発生した場合、すべての処理が完了するまで、他のすべてのルートでは処理が続行されます。その後、次の例に示すように、Parallel For Each はすべての結果 (およびエラー) を集約し、エラーハンドラーによって処理します。 ```xml ``` ### [](#スロー)スロー - `MULE:COMPOSITE_ROUTING` ## [](#for-each-スコープと-parallel-for-each-スコープの違い)For Each スコープと Parallel For Each スコープの違い For Each と Parallel For Each のどちらも定義済みコレクションを分割し、スコープ内のコンポーネントがコレクションの各要素を処理します。どちらの場合も、同じ初期コンテキストで各ルートが実行されます。これらの 2 つのスコープの違いは、次のとおりです。 - For Each は順次処理で、Parallel For Each は並列処理です。 この違いは​_エラー処理_​に影響します。 処理の違いのため、For Each の実行はエラーの発生時に中断されてエラーハンドラーが呼び出されますが、Parallel For Each は ​`MULE:COMPOSITE_ROUTE`​ エラー種別でエラーハンドラーを呼び出す前にすべてのルートを処理します。 - For Each はペイロードを変更しませんが、Parallel For Each は各反復の出力メッセージのコレクションを出力します。 ## [](#see-also)関連情報 - [For Each スコープ](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-for-each)​。 - [トランザクションによるスコープとルーターへの影響](https://docs.mulesoft.com/mule-runtime/latest/transaction-management#tx_scopes_routers) # Parse Template () テンプレートを処理して結果を取得します。 テンプレートには、Mule が評価して結果に置き換える DataWeave 式が埋め込まれたテキストが含まれます。 外部ファイル参照を使用してテンプレートを設定するか、コンポーネント設定にテンプレートを埋め込みます。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Parse Template (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Parse template (解析テンプレート)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Content (コンテンツ)

content

テンプレートを表す文字列であり、このテンプレートでは埋め込まれた式が評価され、その結果に置き換えられます。

Location (場所)

location

テンプレートファイルの場所。Mule は、メッセージのプロパティまたは変数から抽出した値をこのファイルに挿入します。

Output encoding (出力エンコード)

outputEncoding

このコンポーネントで出力されるペイロードのエンコード。

Output mime type (出力 MIME タイプ)

outputMimeType

このコンポーネントで出力されるペイロードの MIME タイプ。詳細は、​「リーダーとライターのプロパティの使用」​を参照してください。

​パラメーター

なし

リーダープロパティのキーと値のペアを ​outputMimeType​ 属性の値に追加します。複数のキーと値のペアが許可されます。リーダープロパティは MIME タイプに固有です。例として、​application/json​ の​「JSON リーダープロパティ」​を参照してください。他のリーダープロパティを見つけるには、​DataWeave 形式のドキュメント​の「サポートされる形式」に移動し、​「リーダーとライターのプロパティの使用」​を参照してください。

Target Variable (対象変数)

target

メッセージデータを格納する変数の名前。数字、文字、アンダースコアのみを使用できます。たとえば、名前にハイフンは使用できません。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

Target Value (対象値)

targetValue

対象変数に格納するデータの値。このデフォルト値はメッセージペイロード (payload) です。この項目は、変数が受け入れるすべての値を受け入れます。サポートされているデータ型、DataWeave の式、​payload​、​attributes​、​message​ キーワードが該当しますが、​vars​ キーワードは対象外です。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

## [](#例)例 この例では、Parse Template を使用してデータを HTML に動的に読み込みます。 ### [](#example1)例: データベースクエリの結果の動的処理 この例では、データベースから従業員データを HTML テンプレートに読み込む Mule アプリケーションで Parse Template を使用します。フローは、テンプレートで構築された出力をコール元に返します。 ```xml Unresolved include directive in modules/ROOT/pages/_partials/mule-components/4.4/component-parse-template.adoc - include::mule-runtime::example$parse-template-reference.xml[] ``` #### [](#template)テンプレートコンテンツ テンプレートでは、名前、部門、役職、開始日、および従業員種別の各値を含む項目を入力ペイロードから選択します。 ```html Unresolved include directive in modules/ROOT/pages/_partials/mule-components/4.4/component-parse-template.adoc - include::mule-runtime::example$responseHtml.template[] ``` #### [](#parse-template-への入力)Parse Template への入力 `http://localhost:8081/getEmployee?id=1234`​ など、従業員の ID を識別するクエリパラメーターを含む URI でフローを開始し、Select 操作で次の入力を Parse Template に返すとします。 ```html { "first_name": "Melba", "last_name": "Roy Mouton", "department": "Computers", "job_title": "Assistant Chief of Research Programs", "start_date": "01/01/2021", "employee_type": "mathematician" } ``` #### [](#テンプレートの出力)テンプレートの出力 この​[例](#template)​では、テンプレートで構築された出力が返されます。出力は、選択された従業員データを含む HTML です。 ```xml
First Name Last Name Department Job Title Start Date Employee Type
"Melba" "Roy Mouton" "Computers" "Assistant Chief of Research Programs" "01/01/2021" "mathematician"
``` ### [](#example2)HTML 行でのデータの動的な生成 この例では、オブジェクトの配列として表される従業員レコードで Parse Template を使用します。 ```xml Unresolved include directive in modules/ROOT/pages/_partials/mule-components/4.4/component-parse-template.adoc - include::mule-runtime::example$parse-template-reference2.xml[] ``` #### [](#template2)テンプレートコンテンツ 次のテンプレートでは、DataWeave スクリプトを使用して入力配列を反復処理し、配列内のオブジェクトごとに HTML 行を作成します。 ```html Unresolved include directive in modules/ROOT/pages/_partials/mule-components/4.4/component-parse-template.adoc - include::mule-runtime::example$responseHtmlMap.template[] ``` #### [](#parse-template-への入力-2)Parse Template への入力 Parse Template コンポーネントは Set Payload から次のペイロードを受け取るとします。 ```html { Employee: [ { "first_name" : "Melba", "last_name" : "Roy Mouton", "department" : "Computers", "job_title" : "Assistant Chief of Research Programs", "start_date" : "01/01/2021", "employee_type" : "mathematician" }, { "first_name" : "Annie", "last_name" : "Easley", "department" : "Software Development", "job_title" : "Technical Lead", "start_date" : "06/02/2020", "employee_type" : "Rocket Scientist" } ] } ``` #### [](#テンプレートの出力-2)テンプレートの出力 この​[例](#template2)​では、テンプレートで構築された出力が返されます。出力は、動的に作成された行と、配列内のオブジェクトのデータを含む HTML です。 ```xml
First Name Last Name Department Job Title Start Date Employee Type
Melba Roy Mouton Computers Assistant Chief of Research Programs 01/01/2021 mathematician
Annie Easley Software Development Technical Lead 06/02/2020 Rocket Scientist
``` ## [](#特殊文字)特殊文字 Parse Template は、テンプレート内での式の使用や、これらの式でのリテラルの使用をサポートします。テンプレートは、​`\#[`​ といったシーケンスや引用符など、一部の特殊文字を認識します。これらの文字をエスケープすることで通常の文字として扱うことができます。 - `#[an-expression]`​: テンプレート内では ​`#[]`​ を使用して式を指定します。たとえば、テンプレートの HTML 要素内で ​`#[upper("mulesoft")]`​ という式を指定すると ​`MULESOFT`​ に解決されます。空白の式 (​`#[]`​) はエラーとなりますが、​`#['']`​ や ​`#[""]`​ などの空白文字列は有効な式です。 - サブ式: 引用符で囲まれたサブ式を解決するには、サブ式を別の ​`#[]`​ で囲みます。たとえば、次のテンプレートスニペットでは、4 つの要素で同じサブ式 (​`upper("world")`​) が引用符の内部または外部に指定されています。最初の 2 つは同じ結果を返します。最後の 2 つは、サブ式が引用符内に指定されていますが、別の ​`#[]`​ で囲まれていないため、​`upper("world")`​ を処理せずにそのまま返します。 Parse Template スニペット: ```XML #['hello #[upper("world")]'] #['hello ' ++ upper("world")] #['hello upper("world")'] #['hello ++ upper("world")'] ``` 出力される値: ```XML hello WORLD hello WORLD hello upper("world") hello ++ upper("world") ``` - エスケープ文字 (​`\`​): Parse Template は、文字シーケンスの ​`#[`​ で式の開始を示します。この文字シーケンスを式として解釈せずにリテラル文字として扱うには、​`\`​ でエスケープします。たとえば、​`#[`​ は ​`#[`​ を返します。 また、式の文字列に含まれる特殊文字を通常の文字として扱いたい場合があります。式に含まれる文字列内の特殊文字をエスケープするには、特殊文字の前に ​`\`​ を付けます。特殊文字の例としては、​`#[`​ のシーケンス、引用符 (​`'`​ または ​`"`​)、アポストロフィ (​`'`​)、​`$`​ などがあります。​`\#`​ や ​`[`​ は、文字列内でこれらの 2 文字が (​`\#`​ が ​`[`​ の前に来て) 連続していない限り、エスケープする必要はありません。 Parse Template スニペット: ```XML \#[ #['abcd\#[-1234' ++ now() as String ++ '.log'] 'abc'def' #['abc\'def'] "xyz"xyz" #["xyz\"xyz"] #["abc\$DEF\#ghi\[JKL]"] ``` 出力される値: ```XML #[ abcd#[-12342020-07-06T17:20:10.683-07:00.log 'abc'def' abc'def "xyz"xyz" xyz"xyz abc$DEF#ghi[JKL] ``` 詳細は、​[「特殊文字のエスケープ」](https://docs.mulesoft.com/jp/dataweave/2.4/dataweave-language-introduction#escape-special-characters)​を参照してください。 # Raise Error () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE エラーが発生したことを示す Mule エラーを生成します。 エラーの説明と種別をカスタマイズできます。このコンポーネントは、次のエラーを生成するために使用します。 - `MULE:SECURITY`​、​`MULE:CONNECTIVITY`​ などのコアランタイムエラー。 - カスタムエラー種別。 別のコネクタや ​`FILE:FILE_NOT_FOUND`​ や ​`JSON:INVALID_SCHEMA`​ などのモジュールからエラーを発生させることはできません。コネクタの既存の名前空間を使用することはできません。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Raise Error (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Raise error (エラー生成)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Type (種別)

type

エラーの種別。

Description (説明)

description

エラーの説明。

## [](#例)例 ### [](#example1)例: 無効なユーザー入力後のエラーの発生 次の運転教習プラットフォームの例では、ユーザーが 16 歳以上であることを確認します。ユーザーが 16 歳未満の年齢を入力すると、フローでカスタム ​`PRECONDITIONS:INCORRECT_AGE`​ エラーが生成されます。 ```xml (1) (2) (3) (4) (5) ```
1 Choice Router コンポーネントにより、条件処理がフローに追加されます。
2 要求で送信された age パラメーターが 16 (​http://localhost:8081/test?age=15​) 未満の場合、Raise Error コンポーネントでエラー種別 ​PRECONDITIONS:INCORRECT_AGE​ と説明 ​Minimum age of 16 required to drive​ が生成されます。
3 要求 (​http://localhost:8081/test?age=17​) の age パラメーターが 16 より大きい場合、Logger コンポーネントでデフォルトのメッセージ「。​User age above 16 years.​」が返されます​` Allowed to drive`​ が返されます。
4 On-Error Continue コンポーネントでエラー ​PRECONDITIONS:INCORRECT_AGE​ の種別が照合され、そのスコープ内で Logger コンポーネントが実行されます。Logger コンポーネントによってエラーメッセージ ​Minimum age of 16 required to drive​ が記録されます。
5 要求 (​http://localhost:8081/test​) で age パラメーターが渡されない場合、式 ​#[message.attributes.queryParams.age < 16]​ を評価しようとしたときに Choice コンポーネントで自動的に ​MULE:EXPRESSION​ エラーが生成されます。要求で age パラメーターが指定されなかったため、その値は null です。

次に、On-Error Continue コンポーネントでエラー ​MULE:EXPRESSION​ の種別が照合され、そのスコープ内で Logger コンポーネントが実行されます。Logger コンポーネントによってメッセージ ​The parameter age is missing or invalid​ が返されます。

### [](#example2)例: 値を比較した後のエラーの発生 次の例では、API (https://unsecurebank.com/balance) に対する要求を行って返された口座残高を ​_balance_​ 変数に保存し、​`payload.amount`​ と比較して操作が可能かどうかを判断します。振込金額が利用可能残高を超えると Choice Router で ​`ACCOUNT:INSUFFICIENT_FUNDS`​ エラーが生成され、振込が行われないようにします。説明では、エラーの詳細が動的に提供されます。 ```xml ``` ## [](#see-also)関連情報 - [Mule Errors](https://docs.mulesoft.com/mule-runtime/latest/mule-error-concept) - [Error Handler ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-error-handler) # Remove Variable () Mule イベントから Mule 変数を削除します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Remove Variable (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Remove variable (変数を削除)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Variable name (変数名)

variableName

削除する Mule 変数の名前。

## [](#例)例 次の例は、フローから Mule 変数を削除する方法を示しています。 ```xml (1) (2) (3) (4) (5) (6) ```
1Scheduler コンポーネントによってフローがトリガーされます。
2Set Variable によって Mule 変数 (​myMuleVar​) が作成されます。
3フローの最初の Logger によって変数の値 (​"value of my Mule variable"​) が出力されます。
4Remove Variable によって Mule イベントから変数を削除するための変数 (​variableName="myMuleVar"​) の名前が含まれる文字列が提供されます。
5Mule 変数が存在しなくなっているため、2 番目の Logger によって ​null​ が出力されます。
6Mule イベントに存在していない Mule 変数 (​banana​) の削除を試みるため、2 番目の Remove Variable によって ​WARN​ メッセージがログに記録されます。
次の例は、このフローの実行のログを示しています。 ```logs INFO 2022-12-15 08:33:20,151 ...event: 2f65e920-7c96-11ed-97ec-147ddaaf4f97] PRINT VALUE OF VARIABLE: "value of my Mule variable" INFO 2022-12-15 08:33:20,155 ...event: 2f65e920-7c96-11ed-97ec-147ddaaf4f97] ATTEMPT TO PRINT VALUE OF REMOVED VARIABLE: null WARN 2022-12-15 08:33:20,156 ...event: 2f65e920-7c96-11ed-97ec-147ddaaf4f97] ...RemoveFlowVariableProcessor: There is no variable named 'banana'. Check the 'variableName' parameter in the 'remove-variable' component at remove-variable-ex/processors/4 ``` ## [](#see-also)関連情報 - [Mule イベントの変数](https://docs.mulesoft.com/mule-runtime/latest/about-mule-variables) - [対象変数を使用したデータの強化](https://docs.mulesoft.com/mule-runtime/latest/target-variables) # Round Robin () 2 つ以上の処理ルートが提供され、フローでコンポーネントが実行されるたびに 1 つのルートのみが実行されます。 Round Robin 内の各ルートは、1 つ以上のプロセッサーを含むことができるスコープです。Round Robin は最初のルートから Mule イベントへのルート内でプロセッサーの実行を開始し、結果をフローの次のプロセッサーに送信します。Round Robin は前回選択したルートを記録し、同じルートを連続して使用することはありません。たとえば、Round Robin が最初に実行されると、コンポーネントによって最初のルートが選択されます。次回の実行時には 2 番目のルートが選択されます。前回選択されたルートが最後のルートだった場合、最初のルートが実行されます。 Round Robin に達した Mule イベントのペイロード、変数、属性はルート内で処理を行うためにアクセスできます。ルート内の Mule イベントを変更すると、Round Robin 後のプロセッサーに伝播されます。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Round Robin (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Round robin (ラウンドロビン)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

なし

tracking:enable-default-events

true​ に設定すると、ビジネスイベント機能がアクティブ化されます。

``​ は Round Robin の子要素です。
子要素 説明

<route/>

Mule イベントを処理するための 1 つ以上のコンポーネントを子要素として受け入れます。複数の ​<route/>​ 設定が許可されます。

## [](#例)例 次の例では、2 つの処理ルートが設定されている Round Robin を設定します。 ```xml (1) (2) (3) (4) (5) (6) ```
1Scheduler (​<scheduler/>​) が 10 秒ごとにフローを実行します。
2Set Payload (​<set-payload/>​) によって配列 ​[1,2,3,4]​ が提供されます。
3Round Robin の​前​の Logger コンポーネントによって最初のペイロード ​[1,2,3,4]​ が出力されます。
4Round Robin の​最初​のルート (​<route/>​) である Set Payload コンポーネントによって、DataWeave 式 ​payload - 4​ を使用して最初のペイロードの最後の要素が削除され、そのルートの Logger によって生成されたペイロードがキー ​"r1"​ の値 ​{ "r1": [1,2,3] }​ として出力されます。
5Round Robin の ​2 つ目​のルート (​<route/>​) である Set Payload コンポーネントによって、DataWeave 式 ​payload + 5​ を使用して新しい要素が最初のペイロードに追加され、そのルートの Logger によって生成されたペイロードがキー ​"r2"​ の値 ​{ "r2": [1,2,3,4,5] }​ として出力されます。
6Round Robin の​後​の Logger コンポーネントによって、Round Robin の実行によって処理されたルートのペイロードが出力されます。最初の実行では ​[1, 2, 3]​ が出力されます。次の実行では ​[1, 2, 3, 4, 5]​ が出力されます。その次には ​[1, 2, 3]​ が出力される、といった具合になります。
次の抜粋では、ログに Round Robin ルーターの 3 つの実行が表示されています。この例では、フローによって ID が ​`4df56260`​、​`53eb1c50`​、​`59e12460`​ で始まる Mule イベントが処理されます。(この例は読みやすくするために編集されています)。 ... INFO 2022-12-19 10:02:30,233 ...event: 4df56260-7fc7-11ed-957f-147ddaaf4f97\] PAYLOAD BEFORE ROUND ROBIN: \[1, 2, 3, 4\] INFO 2022-12-19 10:02:30,290 ...event: 4df56260-7fc7-11ed-957f-147ddaaf4f97\] ROUTE 1 PAYLOAD: { "r1": \[1,2,3\] } INFO 2022-12-19 10:02:30,291 ...event: 4df56260-7fc7-11ed-957f-147ddaaf4f97\] PAYLOAD OUTSIDE ROUND ROBIN: \[1, 2, 3\] INFO 2022-12-19 10:02:40,154 ...event: 53eb1c50-7fc7-11ed-957f-147ddaaf4f97\] PAYLOAD BEFORE ROUND ROBIN: \[1, 2, 3, 4\] INFO 2022-12-19 10:02:40,167 ...event: 53eb1c50-7fc7-11ed-957f-147ddaaf4f97\] ROUTE 2 PAYLOAD: { "r2": \[1, 2, 3, 4, 5\] } INFO 2022-12-19 10:02:40,168 ...event: 53eb1c50-7fc7-11ed-957f-147ddaaf4f97\] PAYLOAD OUTSIDE ROUND ROBIN: \[1, 2, 3, 4, 5\] INFO 2022-12-19 10:02:50,151 ...event: 59e12460-7fc7-11ed-957f-147ddaaf4f97\] PAYLOAD BEFORE ROUND ROBIN: \[1, 2, 3, 4\] INFO 2022-12-19 10:02:50,154 ...event: 59e12460-7fc7-11ed-957f-147ddaaf4f97\] ROUTE 1 PAYLOAD: { "r1": \[1, 2, 3\] } INFO 2022-12-19 10:02:50,154 ...event: 59e12460-7fc7-11ed-957f-147ddaaf4f97\] PAYLOAD OUTSIDE ROUND ROBIN: \[1, 2, 3\] ... # Scatter-Gather () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE 2 つ以上のルートを使用して Mule イベントを処理し、結果を 1 つのイベントオブジェクトに結合します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Scatter Gather (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Scatter gather (スキャッターギャザー)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Timeout (タイムアウト)

timeout

送信したメッセージからの応答のタイムアウトをミリ秒単位で指定します。​0​ または ​0​ 未満の値を指定すると、タイムアウトは設定されません。デフォルトは ​0​ です。

Max concurrency (最大同時実行)

maxConcurrency

同時に実行するルートの最大数を設定します。

デフォルトでは、すべてのルートが並列実行されます。この値を ​1​ に設定すると、このコンポーネントはルートを 1 本ずつ順次処理します。

Collect list (収集リスト)​

なし

なし

Target Variable (対象変数)

target

メッセージデータを格納する変数の名前。数字、文字、アンダースコアのみを使用できます。たとえば、名前にハイフンは使用できません。 Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

Target Value (対象値)

targetValue

対象変数に格納するデータの値。このデフォルト値はメッセージペイロード (payload) です。この項目は、変数が受け入れるすべての値を受け入れます。サポートされているデータ型、DataWeave の式、​payload​、​attributes​、​message​ キーワードが該当しますが、​vars​ キーワードは対象外です。 デフォルト値は ​#[payload]​ です。

Mule ドキュメントの Enrich Data with Target Variablesを参照してください。

``​ は Scatter Gather の子要素です。
子要素 説明

<route/>

Mule イベントを処理するための 1 つ以上のコンポーネントを子要素として受け入れます。複数の ​<route/>​ 設定が許可されます。

## [](#error-handling)エラー処理 このコンポーネントは、次のエラーをスローします。 - `MULE:ROUTING` - `MULE:COMPOSITE_ROUTING` このコンポーネントでタイムアウトを設定してある場合、そのタイムアウト時間内にルートが処理を完了しないと、そのルートは ​`MULE:TIMEOUT`​ エラーを返します。Mule は、ルートで発生する他のエラーと同じようにこのエラーを処理します。各ルートが (処理を正常に完了するか、または ​`MULE:TIMEOUT`​ エラーをスローして) 完了すると、成功した結果とエラーが ​`MULE:COMPOSITE_ROUTING`​ エラー内に収集され、設定されているエラーハンドラーコンポーネント内で処理されます。 ## [](#see-also)関連情報 - [Core Components](https://docs.mulesoft.com/mule-runtime/latest/about-components) - [トランザクションによるスコープとルーターへの影響](https://docs.mulesoft.com/mule-runtime/latest/transaction-management#tx_scopes_routers) - [Error Handlers](https://docs.mulesoft.com/mule-runtime/latest/error-handling) - [Try Scope](https://docs.mulesoft.com/mule-runtime/latest/try-scope-concept) - [Mule Event Structure](https://docs.mulesoft.com/mule-runtime/latest/about-mule-event) # Set Payload () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE メッセージのペイロードを設定または更新します。 ペイロードは、文字列リテラルまたは DataWeave 式です。​`set-payload`​ コンポーネントは、シンプルな式または変換にのみ使用してください。 複雑なシナリオの場合は、​[Transform Message コンポーネント](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-transform)​を使用します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Set Payload (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Set payload (ペイロードを設定)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Value (値)

value

リテラル文字列またはペイロードの設定方法を定義した DataWeave 式。例: "some string"​ または ​#[now()]​。この属性は必須です。

なし

resource

DataWeave 変換スクリプトが格納された ​.dwl​ ファイル。これらの値は (動的ではなく) 静的に解決されます。たとえば、​<ee:set-payload resource="myscript-$site.dwl"/>​ を使用するとエラーが発生します。詳細は、​dwl ファイル​を参照してください。

​Encoding (エンコード)

​encoding

このコンポーネントで出力されるペイロードのエンコード。

​Mime type (MIME タイプ)

​mimeType

このコンポーネントで出力されるペイロードの MIME タイプ。詳細は、​「リーダーとライターのプロパティの使用」​を参照してください。

​パラメーター

なし

リーダープロパティのキーと値のペアを ​outputMimeType​ 属性の値に追加します。複数のキーと値のペアが許可されます。リーダープロパティは MIME タイプに固有です。例として、​application/json​ の​「JSON リーダープロパティ」​を参照してください。他のリーダープロパティを見つけるには、​DataWeave 形式のドキュメント​の「サポートされる形式」に移動し、​「リーダーとライターのプロパティの使用」​を参照してください。

mimeType​ 属性と ​encoding​ 属性は、​value​ に指定された DataWeave 式には影響しません。これらの属性は、​出力​される Mule メッセージにのみ影響します。変換が必要な場合には、DataWeave 式に明示的な​出力​ディレクティブを指定する必要があります。

## [](#例)例 次の例は、静的な値または DataWeave 式を使用してペイロードを設定する方法を示しています。 ### [](#example1)例: 静的値を使用したペイロードの設定 次の例では、静的値でペイロードを設定しています。 ```xml ``` ### [](#example2)例: DataWeave 式を使用したペイロードの設定 次の例では、メッセージのペイロードを​`「Hello, World」`​という文字列リテラルと、​`#['Hello World!' ++ ' Today is ' ++ now()]`​ という DataWeave 式を使用した今日の日付に設定しています。 ```xml ``` ## [](#see-also)関連情報 - [Mule メッセージ構造](https://docs.mulesoft.com/mule-runtime/latest/about-mule-message) - [DataWeave 言語](https://docs.mulesoft.com/dataweave/latest/) # Set Variable () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE Mule アプリケーションのフロー内で使用する値を格納するための ​[Mule 変数](https://docs.mulesoft.com/mule-runtime/latest/about-mule-variables)​を作成または更新します。 Mule 変数は ​[Mule イベント](https://docs.mulesoft.com/mule-runtime/latest/about-mule-event)​の一部です。文字列やメッセージといったシンプルなリテラル値、メッセージペイロード、または属性オブジェクトを格納できます。たとえば、メッセージの元の (処理前の) ペイロードを格納しておくことで、後でフローやエラーハンドラーで使用できるようにします。 複雑な式や変換には Set Variable を使用しないでください。代わりに、このコンポーネントは選択などのシンプルな操作に使用し、複雑なシナリオでは Transform コンポーネントを使用します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Set Variable (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Set variable (変数を設定)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Value (値)

value

変数の値で、文字列または DataWeave 式を指定できます。式を使用する例については、動的ライタープロパティの使用を参照してください。この属性は必須です。

Variable name (変数名)

variableName

変数の名前で、文字列または DataWeave 式を指定できます。変数名には、数字、文字、およびアンダースコアのみを含める必要があります。この属性は必須です。

​Encoding (エンコード)

​encoding

このコンポーネントで出力されるペイロードのエンコード。

​Mime type (MIME タイプ)

​mimeType

このコンポーネントで出力されるペイロードの MIME タイプ。詳細は、​「リーダーとライターのプロパティの使用」​を参照してください。

​パラメーター

なし

リーダープロパティのキーと値のペアを ​outputMimeType​ 属性の値に追加します。複数のキーと値のペアが許可されます。リーダープロパティは MIME タイプに固有です。例として、​application/json​ の​「JSON リーダープロパティ」​を参照してください。他のリーダープロパティを見つけるには、​DataWeave 形式のドキュメント​の「サポートされる形式」に移動し、​「リーダーとライターのプロパティの使用」​を参照してください。

## [](#他のイベントプロセッサーの変数へのアクセス)他のイベントプロセッサーの変数へのアクセス Set Variable は、現在の Mule イベントで変数を設定し、設定された変数は Mule イベントと一緒に下流のイベントプロセッサーに伝播されます。DataWeave では、​`vars`​ を使用することで任意の変数にアクセスできます。たとえば、​`vars.lastMessage`​ を使用して、​_lastMessage_​ という名前の変数にアクセスできます。Transform コンポーネントでは変数を設定でき、多くのコネクタやイベントプロセッサーには設定できる対象変数あります。 ## [](#例)例 ### [](#example1)例: 文字列値を使用した変数の設定 次の例では、文字列値を変数に割り当てます。 ```xml ``` ### [](#example2)例: DataWeave 式の結果を変数として設定 次の例では、DataWeave 式の結果を変数に割り当てます。 ```xml ``` ### [](#example3)例: 変数をメッセージペイロードに設定 次の例では、メッセージペイロードを変数に割り当てます。 ```xml ``` ### [](#example4)例: 変数をメッセージ属性に設定 次の例では、メッセージ属性を変数に割り当てます。 ```xml ``` ### [](#example5)例: マップ値を使用した変数の設定 次の例では、マップ値を変数に割り当てます。 ```xml ``` ### [](#example6)例: 変数を Java オブジェクトに設定 次の例では、DataWeave スクリプトを使用して Java オブジェクトを変数に割り当てます。 ```xml ``` ## [](#see-also)関連情報 - [Transform コンポーネント](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-transform) - [Mule イベントの変数](https://docs.mulesoft.com/mule-runtime/latest/about-mule-variables) - [対象変数を使用したデータの強化](https://docs.mulesoft.com/mule-runtime/latest/target-variables) # Slack インテグレーションの設定 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 メールと Salesforce インテグレーションが完了したら、エスカレーションされていない新規ケースの Slack メッセージを送信するように Slack インテグレーションを設定できます。 ## [](#始める前に)始める前に 次の手順を実行します。 1. [Slack およびメール通知への Salesforce データの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-create-escalation-api)。 2. [Slack と Salesforce の設定ファイルの作成](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-create-config-files-sfdc)と Salesforce インテグレーションの設定。 3. [変数へのペイロード情報の抽出](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-extract-payload-information)。 4. [フローロジックへの条件の追加](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-add-condition-to-your-flow)。 ## [](#slack-アクションを追加する)Slack アクションを追加する 1. Anypoint Code Builder で、​`new-case-salesforce.xml`​ ファイルを開き、Choice ルーターの ​**\[Not Escalated (エスカレーションされていない)\]**​ ルートから ​**\[Temporary Logger\]**​ を削除します。 ![フローキャンバス UI とコードビューの両方で \[Temporary Logger\] コンポーネントが強調表示されているワークフロー](_images/delete-temporary-logger-slack.png) ```XML ``` 2. **\[Not Escalated (エスカレーションされていない)\]**​ ルートの後の ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 ![\[Add component (コンポーネントを追加)\] ボタンが強調表示されているキャンバス UI のフロー](_images/add-slack-action-example-canvas.png) 3. Click the ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-search-exchange.png)​ (​**\[Search in Exchange (Exchange 内を検索)\]**​) アイコンをクリックし、​`「Slack」`​と入力して ​**\[Slack Connector\]**​ を選択します。 ![\[Slack Connector\] が強調表示されている検索結果のリスト](_images/add-slack-connector-canvas-exchange.png) 4. \[Slack\] セクションから ​**\[Chat: Post Message\]**​ 操作を選択します。 ![\[Slack Connector\] コンポーネントを含む検索結果のリスト](_images/select-post-message-operation.png) 5. 次のコードサンプルを使用して、Slack 操作を設定します。 ```XML (1) ```
1channel​ 項目を、チュートリアルで以前に設定したチャネル名に設定します。
## [](#slack-接続を設定する)Slack 接続を設定する 1. Anypoint Code Builder で、​`new-case-salesforce.xml`​ ファイルを開き、​``​ 要素の下に新しい行を追加します。 2. `「slack:」`​と入力して ​**slack:config**​ を選択します。 3. ``​ 要素に次の設定を追加します。 ```XML ``` ## [](#mule-アプリケーションをテストする)Mule アプリケーションをテストする 1. テストを効率化するには、Logger コンポーネントの横にあるブレークポイントを削除します。 2. **\[Run (実行)\]**​ > ​**\[Start Debugging (F5) (デバッグを開始 (F5))\]**​ を選択します。 3. アプリケーションが正常にデプロイされたら、Salesforce アカウントにログインします。 4. **アプリケーションランチャー**​から、​**\[サービス\]**​ を選択します。 ![アプリランチャーボタンアイコンが強調表示されている \[設定\] メニュー](_images/salesforce-select-service.png) 5. **\[ケース\]**​ > ​**\[新規ケース\]**​ を選択します。 ![\[ケース\] セクションで \[新規ケース\] ボタンが強調表示されている \[サービス\] ナビゲーションバー](_images/salesfroce-create-new-case.png) 6. 新規ケースの ​**\[状況\]**​ が ​**\[新規\]**​ であることを確認します。 7. 数秒後、設定された Slack チャンネルで、ケースで設定された情報が含まれるメッセージを受信していることを確認します。 ```none Please handle this case. Case Number: 00001030, Origin: Phone, Case Type: , Priority: Medium, Status: New ``` # Slack およびメール通知への Salesforce データの統合 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Salesforce で新規ケースが作成されたときにメールまたは Slack で通知するインテグレーションを作成します。 作成したインテグレーションには、次のロジックのフローが含まれます。 - Salesforce で新規ケースを作成すると、フローがトリガーされます。 - ケースがエスカレーションされると、アプリケーションから地域リーダーにケース番号、理由、優先度、状況が含まれるメールが送信されます。 - ケースがエスカレーションされていないと、アプリケーションから Slack チャンネルに同じ情報が含まれるメッセージが送信されます。 ## [](#始める前に)始める前に 開始する前に、以下を確認します。 - MuleSoft 環境をセットアップします。 詳細は、[Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)を参照してください。 - Salesforce デモ環境をセットアップしている。 - [開発者組織にサインアップしている](https://developer.salesforce.com/signup) ​。 - [開発者セキュリティトークンを作成している](https://help.salesforce.com/s/articleView?id=sf.user_security_token.htm&type=5) ​。 - 個人またはビジネス用の Gmail アカウントがある。 - 個人またはビジネス用の Slack アカウントがある。 ### [](#slack-ワークスペースをセットアップする)Slack ワークスペースをセットアップする 1. [Slack](https://slack.com/)​ に移動し、組織のログイン情報を使用してログインします。 作業組織でユーザーによる新規ワークスペースの作成が制限されている場合、個人用のメールアカウントを使用してログインします。 2. **「Integration Test」 (インテグレーションテスト)**​ という新規ワークスペースを作成します。 3. 新規ユーザーを招待するステップはスキップして、​**「This is a test Workspace」 (これはテストワークスペースです)**​ などのワークスペースの簡単な説明を入力します。 4. [\[Your Apps (あなたのアプリ)](https://api.slack.com/apps) ^\]​ に移動し、​**\[Create an App (アプリを作成)\]**​ をクリックします。 ![Slack でのアプリケーションの作成](/mulesoft/current/ja-jp/anypoint-code-builder/_images/slack-create-app.png) 5. **\[From scratch (最初から)\]**​ を選択します。 6. アプリケーションに​**「OAuth for Anypoint Code Builder」**​という名前を付けて、​**\[Integration Test (インテグレーションテスト)\]**​ ワークスペースを選択します。 7. **\[Generate (生成)\]**​ をクリックします。 ![Slack での設定トークンの生成](/mulesoft/current/ja-jp/anypoint-code-builder/_images/generate-token.png) 8. **\[Create App (アプリを作成)\]**​ をクリックします。 ![Slack でのアプリケーションの名前付けとワークスペースの選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/slack-create-app-workspace.png) 9. **\[Install App (アプリをインストール)\]**​ をクリックします。 ![Slack でのアプリケーションのインストール](/mulesoft/current/ja-jp/anypoint-code-builder/_images/slack-install-app.png) 10. **\[Permission scope (権限スコープ)\]**​ をクリックします。 ![Slack での権限スコープのクリック](/mulesoft/current/ja-jp/anypoint-code-builder/_images/slack-install-permission-scope.png) 11. **\[Scopes (スコープ)\]**​ セクションまでスクロールダウンし、​**\[Bot Token Scopes (ボットトークンスコープ)\]**​ で、​**\[Add an OAuth Scope (OAuth スコープを追加)\]**​ を選択して ​**\[chat:write.public\]**​ を選択します。 ![Slack での OAuth スコープの追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/slack-bot-permissions-chat-write.png) 12. `chat:write.public`​ の他の必要なスコープを追加するように促されたら、​**\[Add scopes (スコープを追加)\]**​ を選択します。 13. **\[OAuth Tokens for Your Workspace (ワークスペースの OAuth トークン)\]**​ までスクロールアップして、​**\[Install to Workspace (ワークスペースにインストール)\]**​ を選択します。 14. **\[Allow (許可)\]**​ をクリックします。 ![ワークスペースへの OAuth アクセスの許可](/mulesoft/current/ja-jp/anypoint-code-builder/_images/slack-allow-install-app-workspace.png) 15. **\[Bot User OAuth Token (ボットユーザーの OAuth トークン)\]**​ で、​**\[Copy (コピー)\]**​ をクリックして安全な場所に保存します。 ![ボットユーザーの OAuth トークンのコピー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/slack-copy-oauth-token.png) Anypoint Code Builder から、このトークンを使用して Slack ワークスペースに接続します。 16. **\[Integration Test (インテグレーションテスト)\]**​ ワークスペースに「this-is-a-test」という新しい公開チャネルを作成します。 17. OAuth for Anypoint Code Builder アプリケーションを ​`this-is-a-test`​ チャネルに追加します。 ### [](#メールのアプリケーションパスワードのセットアップ)メールのアプリケーションパスワードのセットアップ このチュートリアルの後で、設定されたメールアカウントにメールを送信するように Email Connector を設定します。メールパスワードを使用しないようにするには、 [Google の指示](https://support.google.com/accounts/answer/185833?visit_id=637917932546436561-2352829986&p=InvalidSecondFactor&rd=1) ​ に従って、アプリケーションパスワードを設定します。
アプリケーションパスワードを設定するには、Gmail アカウントで 2 要素認証が有効になっている必要があります。
## [](#インテグレーションを作成する)インテグレーションを作成する 1. Anypoint Code Builder に移動します。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. 次のコマンドを入力します。 ```command MuleSoft: Develop an Integration ``` 4. **\[Develop an Integration (インテグレーションを開発)\]**​ フォームにインテグレーションプロジェクトプロパティを入力します。 ![インテグレーションフォームの開発](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-create-integration-scratch.png) 1. **\[Project Name (プロジェクト名)\]**​ で、​**「New Case Salesforce」**​ (新規ケース Salesforce) と入力します。 2. **\[Project Location (プロジェクトの場所)\]**​ で ​**\[Browse (参照)\]**​ をクリックしてホームディレクトリを選択します。 3. **\[Create (作成)\]**​ で、​**\[Empty Project (空のプロジェクト)\]**​ を選択します。 4. **Mule Runtime**​ と ​**Java**​ のバージョンを選択します。 サポートされている Mule Runtime と Java バージョンのいずれかを選択できます。IDE は、バージョン設定をプロジェクトの ​`mule-artifact.json`​ ファイルに保存します。 バージョンサポートと Mule パッチ自動更新については、​[「Mule と Java バージョンのサポート」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#versions-mule-jdk)​を参照してください。 作成するプロジェクトのデフォルトの Mule Runtime バージョンと Java バージョンを設定するには、[Mule、Java、コネクタのバージョン設定](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions)を参照してください。 5. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 IDE では、プロジェクト用に選択した Mule Runtime バージョンまたは Java バージョンをダウンロードする必要がある場合に通知が表示されます。Mule Runtime は ​`${user.home}/AnypointCodeBuilder/runtimes`​ にダウンロードされ、選択した Java バージョンは ​`${user.home}/AnypointCodeBuilder/java`​ にダウンロードされます。 6. [Slack と Salesforce の設定ファイルの作成](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-create-config-files-sfdc)に進み、コネクタの設定ファイルを作成します。 # Slack と Salesforce の設定ファイルの作成 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 設定ファイルは、別の設定を参照したり、コネクタプロパティの別の値を指定したりできる YAML ファイルです。設定ファイルを使用すると、アプリケーションのデプロイ先の環境に応じて特定のプロパティを定義できます。 エスカレーション API で Slack Connector と Salesforce Connector の設定を開始するには、設定ファイルを作成します。 ## [](#始める前に)始める前に [Slack およびメール通知への Salesforce データの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-create-escalation-api)を行います。 ## [](#設定ファイルを作成する)設定ファイルを作成する 1. \[Explorer\] ビューで ​**resources**​ フォルダー (​`src/main/resources`​) を右クリックして ​**\[New File (新規ファイル)\]**​ を選択します。 ![Explorer でリソースディレクトリが強調表示され、\[New File (新規ファイル)\] メニューオプションが選択されています](_images/contact-sync-integration-new-file.png) 2. ファイルに ​`config.yaml`​ という名前を付けます。 3. ファイルに Salesforce、Gmail、Slack 設定を入力します。 ```YAML salesforce: username: "yourUserName" password: "yourPassword" token: "yourToken" email: host: "smtp.gmail.com" username: "yourGmailEmail" password: "yourEmailAppPassword" slack: token: "yourSlackToken" ``` 4. `new-case-salesforce.xml`​ ファイルに移動し、​`
`​ タグの前に新しい行を追加し、​`「configuration」`​と入力して ​**mule:configurationProperties**​ を選択します。 ![検索結果で \[mule:configurationProperties\] が強調表示されているコードスニペット](_images/select-mule-config-properties-contacts-sync.png) 5. 属性をスクロールして、​`file`​ の値を ​`config.yaml`​ に設定します。 ```XML ``` ## [](#salesforce-connector-を設定)Salesforce Connector を設定 `config.yaml`​ ファイルの値を使用して、Salesforce Connector を Salesforce 環境に接続します。 1. `new-case-salesforce.xml`​ ファイルで、​``​ 要素の後に新しい行を作成し、​`「salesforce」`​と入力して ​**salesforce:sfdc-config**​ を選択します。 ![検索結果で \[Salesforce:sfdc-config\] が強調表示されているコードスニペット](_images/sync-api-select-sfdc-config.png) 2. **\[name (名前)\]**​ 項目を ​`[Salesforce-Config]`​ に設定します。 3. 新しい行を作成し、​`「basic」`​と入力して ​**Salesforce:Basic**​ を選択します。 ![検索結果で \[Salesforce:basic\] が強調表示されているコードスニペット](_images/basic-auth-sfdc-connector.png) 4. 設定ファイル値を使用するように ​`username`​ および ​`password`​ プロパティを設定します。 ```XML ```

${salesforce.username}​ および ​${salesforce.password}​ 要素の上にカーソルを置くと、Anypoint Code Builder に設定ファイルの値が表示されます。

5. ``​ 要素の ​**\[Test Connection (接続をテスト)\]**​ をクリックして、Salesforce への接続を検証します。 ![\[Test Connection (接続をテスト)\] ボタンが強調表示されているコードスニペット](_images/sync-api-sfdc-test-connection.png) Anypoint Code Builder で ​**\[Connection is valid (接続は有効)\]**​ メッセージが返されます。 エラーを取得した場合、エラーメッセージを検証してさらにトラブルシューティングします。 ## [](#salesforce-トリガーを追加する)Salesforce トリガーを追加する 1. キャンバスに新しいフローを追加します。 2. コードエディターで、フローに ​`NewSalesforceCaseFlow`​ という名前を付けます。 ```XML ``` 3. キャンバスで、​**\[Flow (フロー)\]**​ の後の ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックし、​`「new object」`​と入力して ​**\[Salesforce\]**​ の後の ​**\[On new object\]**​ を選択します。 4. コードエディターで、​``​ 要素の次の値を設定します。 - `objectType`​: **Case** - `config-ref`​: **Salesforce-Config** - `name`​: **On New Case** 5. ``​ 要素の ​``​ を次のスニペットに置き換えます。 ```XML ``` ## [](#salesforce-インテグレーションをテストする)Salesforce インテグレーションをテストする 1. フローの最後にロガーを追加します。 ![\[Add Flow (フローを追加)\] プラス記号ボタンが強調表示されているフローキャンバス](_images/add-logger-end-flow-canvas.png) ![\[Logger\] コンポーネントが追加されたワークフロー](_images/drag-logger-canvas.png) `logger`​ コンポーネントは、コードエディターの ​`flow`​ スニペットに追加されます。 2. コードエディターの ​`logger`​ コンポーネントを以下に置き換えます。 ```XML ``` 3. 行番号の赤いドットをクリックして、この行にブレークポイントを追加します。 ![ブレークポイントが強調表示されているコード行](/mulesoft/current/ja-jp/anypoint-code-builder/_images/logger-breakpoint-sfdc.png) または、キャンバス UI でコンポーネントを右クリックし、​**\[Add Breakpoint (ブレークポイントを追加)\]**​ を選択して、​`logger`​ コンポーネントにブレークポイントを追加します。 4. **\[Run (実行)\]**​ > ​**\[Start Debugging (F5) (デバッグを開始 (F5))\]**​ を選択します。 5. アプリケーションが正常にデプロイされたら、Salesforce アカウントにログインします。 6. **アプリケーションランチャー**​から、​**\[サービス\]**​ を選択します。 ![\[アプリケーションランチャー\] ボタンアイコンが強調表示されている \[設定\] メニュー](_images/salesforce-select-service.png) 7. **\[ケース\]**​ > ​**\[新規ケース\]**​ を選択します。 ![\[ケース\] セクションで \[新規ケース\] ボタンが強調表示されている \[サービス\] ナビゲーションバー](_images/salesfroce-create-new-case.png) 8. 新規ケースの ​**\[状況\]**​ が ​**\[新規\]**​ であることを確認します。 9. 新規ケースを作成して保存します。 10. Anypoint Code Builder で、アプリケーションはロガーで停止します。​**変数**​のペイロードを調べます。 ![\[Payload\] 変数が強調表示されている \[変数\] パネル](_images/slack-app-debugger-logger-breakpoint.png) ペイロードには、新規作成したケースに関する情報が含まれます。 11. Logger コンポーネントをステップオーバーします。 12. [変数へのペイロード情報の抽出](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-extract-payload-information)に進み、変数にケース情報を抽出してフローの後で使用する方法を確認します。 # Subflow () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE Mule アプリケーションの Flow Reference から呼び出すスコープ内で、一連のコアコンポーネントと操作 (コネクタとモジュールによって提供される) をグループ化します。 Subflow コンポーネントは ​[Flow](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-flow)​ コンポーネントと同様に動作しますが、次の点が異なります。 - サブフローには Mule イベントソースがありません。 - サブフローには組み込みエラー処理スコープがありません。 - 設計中には、サブフローはそれをコールする Flow Reference コンポーネントを置き換えるマクロとして機能します。 アプリケーションをビルドすると、サブフローをコールするすべての Flow Reference コンポーネントは、参照されるサブフローのコンテンツに置き換えられます。 - フローを参照するよりもサブフローを参照する方がパフォーマンスは高くなります。 Mule アプリケーションでは複数のサブフローを作成できます。 フローとサブフローの仕様、機能、制限についての詳細は、​[「フローおよびサブフロー」](https://docs.mulesoft.com/mule-runtime/latest/about-flows)​を参照してください。 ## [](#制限事項)制限事項 サブフローを参照する Flow Reference コンポーネントがサブフローのコンテンツに置き換えられるため、実行時には、そのサブフロー内のイベントプロセッサーの複数のインスタンスがアプリケーション内に存在します。一意の ID またはインスタンスを使用して実行するイベントプロセッサーでは、この動作が問題になる可能性があります。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Subflow (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

name1​ (デフォルト)

name

サブフローの編集可能な名前。

## [](#例-フローとサブフロー)例: フローとサブフロー 次の例は、10 秒ごとにフローの実行をトリガーするスケジューラーを取得元として使用し、Flow Ref (​``​) コンポーネントを介してサブフロー (​``​) に接続します。そのサブフローも、Flow Ref コンポーネントを使用して別のサブフローに接続します。 ```xml 9.99 53 398.99 ', 'application/xml') output application/xml --- myXml ]]> { (key) : { dollars: value, localCurrency: value * conversionRate, index_plus_1: index + 1, timer : currentMilliseconds() } }]]> ``` この例の出力は次のようになります。 ```json { "priceList": { "basic": { "dollars": "9.99", "localCurrency": 129.87, "index_plus_1": 1, "timer": 1533024312658 }, "premium": { "dollars": "53", "localCurrency": 689, "index_plus_1": 2, "timer": 1533024312659 }, "vip": { "dollars": "398.99", "localCurrency": 5186.87, "index_plus_1": 3, "timer": 1533024312659 } } } ``` ## [](#see-also)関連情報 - [Flow](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-flow) # Transaction () すべての追跡対象イベントの識別子を設定します。 Anypoint Runtime Manager または CloudHub のどちらを使用しているかにかかわらず、実行時に追跡対象イベントを分析するときにトランザクションの有用な情報 (注文番号など) が表示されるようにするには、トランザクション ID を使用します。 トランザクション ID は DataWeave 式をサポートするため、ID を動的に作成し、イベントに関連する情報を ID に含めることができます。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Transaction (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Transaction (トランザクション)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Id

id

識別子の値を定義します。この値は式またはリテラルにすることができます。デフォルトでは、コンポーネントには数値が割り当てられます。

## [](#例)例 次の例では、​`payload.orderId`​ 値を使用してトランザクション ID を設定します。 ```xml ... ... ``` ## [](#see-also)関連情報 - [ビジネスイベント](https://docs.mulesoft.com/mule-runtime/latest/business-events) - [デフォルトイベント追跡の設定](https://docs.mulesoft.com/mule-runtime/latest/business-events-in-components) # Try スコープ () ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE スコープ内のコンポーネントの実行中に発生する可能性のあるエラーを処理します。 Try スコープは、スコープに追加したコンポーネントによってスローされた例外をキャッチして処理します。スコープ内のエラー処理は、Flow コンポーネント内のエラー処理と似ています。個別のフローを設定する代わりに、Flow コンポーネント内で Try を使用できます。 ペイロードを変更したり、変数を追加、変更、または削除したりすると、実行の残りの部分に伝播されます。エラーハンドラー内での変更も伝播されます。 Try スコープではトランザクションがサポートされています。トランザクションとは、正常に実行される必要がある一連のアクションです。エラーが伝播されてトランザクションがロールバックされるか、またはエラーが処理されてトランザクションがコミットされるかによって、成功または失敗する 1 つの単位として Try スコープ内のコンポーネントを設定します。どちらの場合でも、Try スコープを含むフローは処理を続行します。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Try スコープ (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Try (試行)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Transaction type (トランザクション種別)

transactionType

トランザクションの種別を指定します。可能な値:

  • LOCAL​

    デフォルト。単一またはローカルトランザクション。

  • XA​

    複数のリソースからの操作をグループ化し、拡張アーキテクチャ (XA) 標準に準拠するトランザクション。

Transactional action (トランザクションアクション)

transactionalAction

トランザクションの処理方法を定義します。可能な値:

  • Ignore (無視) (​INDIFFERENT​)

    デフォルト。トランザクションがアクティブであれば、スコープがトランザクションに結合します。そうでない場合は、スコープはトランザクションを作成しません。

  • Always Begin (常に開始) (​ALWAYS_BEGIN​)

    スコープを実行する度に、新しいトランザクションが開始されます。

  • Begin or Join (開始または結合) (​BEGIN_OR_JOIN​)

    実行順序が (フロー外で発生する非同期アクションなどによって) 変化する場合にのみ適用されます。 フローの現在の処理ですでにトランザクションが開始されている場合は、スコープはそのトランザクションに結合します。そうでない場合は、スコープは新しいトランザクションを開始します。

## [](#例)例 次の例は、異なる状況でトランザクションを処理するために Try スコープを設定する方法を示しています。 ### [](#example1)例: Try スコープでの異なるトランザクションアクション 次の例は、フローレベルでトランザクションを開始するように設定された ​`jms:listener`​ 操作、トランザクションを (設定に従って) 開始または結合しようとする Try スコープ、そしてトランザクションの外部で実行するように設定された ​`jms:publish`​ 操作を示しています。 ```xml ``` Try スコープ内の操作でエラーが発生しなければ、設定されている ​`transactionalAction`​ 値には関係なく、スコープは実行を完了してトランザクションをコミットします。 ``​ コンポーネントが追加されると、Try スコープの ​`transactionalAction`​ によってトランザクションとメッセージの処理方法が変わります。 - Ignore (無視) (​`INDIFFERENT`​) この場合は、Try スコープ内で操作を実行しながらトランザクションが継続します。エラーが発生すると、接続元に伝播されます (​``​ エラーハンドラーでは処理しません)。トランザクションがロールバックされ、メッセージが JMS キューで再び使用できるようになります。このロールバックは、すでに完了している ​`jms:publish`​ 操作には影響しません。​`transactionAction`​ がデフォルトの ​`NOT_SUPPORTED`​ に設定されているため、この操作はトランザクションスコープの外部となります。 `transactionAction`​ が ​`JOIN_IF_POSSIBLE`​ に設定されていれば、​`jms:publish`​ 操作もロールバックされます。 - Always Begin (常に開始) (​`ALWAYS_BEGIN`​) アクティブなトランザクションがすでに存在するため、エラーが発生します。 - Begin or Join (開始または結合) (​`BEGIN_OR_JOIN`​) この場合は、すでにトランザクションが開始されているため、スコープはアクティブなトランザクションに結合します。結果は ​`INDIFFERENT`​ の場合と同じです。 ### [](#example2)例: フローレベルでのエラー処理 次の例には、フローレベルのエラーハンドラーが含まれています。 次の例では、エラーハンドラーをフローレベルで追加しています。 ```xml ``` この例の動作は次のようになります。 - Ignore (無視) (​`INDIFFERENT`​) トランザクションは続行します。エラーは ​`on-error-continue`​ エラーハンドラーで処理されるため、トランザクションはコミットされます。​`jms:listener`​ 接続元から読み出されたメッセージはコンシュームされ、​`jms:publish`​ 操作で処理されたメッセージが実際に送信されます。 - Always Begin (常に開始) (​`ALWAYS_BEGIN`​) アクティブなトランザクションがすでに存在するため、エラーが発生します。 - Begin or Join (開始または結合) (​`BEGIN_OR_JOIN`​) `INDIFFERENT`​ と同じ動作となります。 ### [](#example3)例: Try スコープ内のエラー処理 次の例では、エラーハンドラーが Try スコープ内にあり、スコープの実行後にエラーが発生します。 ```xml ``` 設定されている ​`transactionalAction`​ に従って、Try スコープ内の動作は次のいずれかになります。 - Ignore (無視) (​`INDIFFERENT`​) トランザクションは続行しますが、エラーはフローレベルの ​`on-error-continue`​ では処理されないため、トランザクションがロールバックされ、メッセージは送信されません。 - Always Begin (常に開始) (​`ALWAYS_BEGIN`​) アクティブなトランザクションがすでに存在するため、エラーが発生します。 - Begin or Join (開始または結合) (​`BEGIN_OR_JOIN`​) `INDIFFERENT`​ と同じ動作となります。 ## [](#error-handling)エラー処理 フローを設計するときは、Try スコープの内部でエラーが発生しやすい操作をグループ化します。Try スコープにより、フローで問題を起こす可能性のある操作を隔離して、エラー処理メソッドに割り当てることができます。また、Try スコープ内の操作をトランザクションとして処理するように設定することもできます。 Try スコープはエラー処理戦略を持ち、フローのエラー処理を設定するのと同じように設定できます。 Try スコープは、さまざまなエラー種別の条件を見極めて、異なる動作を適用します。Try スコープ内のコンポーネントでエラーが発生すると、Try スコープのエラーハンドラーが実行されます。この時点で、エラーを調査することができ、ハンドラーは状況に応じて実行および動作できます。 - On Error Continue 実行後に結果をコンテナ Try スコープに送信します。コンテナ Try スコープは、渡された結果を使用して実行を正常に完了します。この時点でのトランザクションはすべてコミットされます。 - On Error Propagate すべてのトランザクションをロールバックし、実行後に結果を使用して既存のエラーを再びスローします。これにより、コンテナ Try スコープの実行は失敗します。 ## [](#see-also)関連情報 - [Single Resource Transactions](https://docs.mulesoft.com/mule-runtime/latest/single-resource-transaction) - [XA Transactions](https://docs.mulesoft.com/mule-runtime/latest/xa-transactions) # UI の確認 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 API とインテグレーションの設計、開発、デプロイを行うには、Anypoint Code Builder の UI と要素を理解します。 ![Anypoint Code Builder IDE の歓迎メッセージ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/welcome-mat-reference.png)
1 アクティビティバー​: プロジェクトの作業を行っているときに VS Code アクティビティバーの項目を使用します。項目の上にマウスを置くと、その名前が表示されます。

アクティビティバーのボタン

Anypoint Code Builder (MuleSoft アイコン) に加えて、アクティビティバーでよく使用する項目を次に示します。

  • Explorer​: プロジェクトのファイルとフォルダーを開きます。

  • Source Control (ソース制御)​: プロジェクトファイルを保存します。

  • Run and Debug (実行およびデバッグ)​: インテグレーションと実装を実行してデバッグします。

  • Extensions (拡張機能)​: デスクトップ IDE でのインストールおよび更新用に開きます。

    アクティビティバーの項目の順序は変更できます。

2 Anypoint Code Builder​ (MuleSoft アイコン): プロジェクトを開始するための ​[Anypoint Code Builder]​ パネルを開きます。チュートリアルに従って、Anypoint Code Builder で API 仕様の設計、実装、インテグレーションの開発を行います。
3 Quick Actions (クイックアクション)​: API 仕様、実装、またはインテグレーションプロジェクトを開始します。
4 設定​: IDE の ​US クラウドまたは EU クラウド​を含め、Anypoint Code Builder 設定を定義します。自分の Anypoint Platform ユーザーアカウントが存在するクラウドを選択します。
## [](#ide-のプロジェクト-ui-の比較)IDE のプロジェクト UI の比較 Web IDE とデスクトップ IDE の UI は同じ構造を共有します。 インテグレーションおよび実装プロジェクトは同様の UI を持つ Mule アプリケーションです。 ![インテグレーションプロジェクトを含む Anypoint Code Builder UI](/mulesoft/current/ja-jp/anypoint-code-builder/_images/ui-elements.png)
1 Explorer​: プロジェクトのワークスペースを開きます。
2 エディター​: キャンバスと設定 XML ファイルでプロジェクトを開発します。設定 XML ファイルでは、​オートコンプリート​がサポートされます。
3 ステータスバー​: ユーザー名を参照して、Anypoint Platform にログインしているかどうかを確認します。
4 出力パネル​: プロジェクトが Anypoint Code Builder で実行されているときに、​Mule DX サーバー​または ​Mule DX サーバー: スキャフォールディング​からの出力とログを表示します。組み込みコマンドターミナルを開きます。問題とポートを表示します。

詳細は、​インテグレーションの開発 and API の実装​を参照してください。

API 設計プロジェクトには、API Console でエンドポイントをモックするためのサービスが含まれます。 ![インテグレーションプロジェクトを含む Anypoint Code Builder UI](/mulesoft/current/ja-jp/anypoint-code-builder/_images/ui-elements-api.png)
1 エディター​: API 仕様プロジェクトファイルを設定します。このエディターでは、​オートコンプリート​がサポートされます。
2 API Console​: 例でエンドポイントをテストします。

詳細は、API 仕様とフラグメントの設計を参照してください。

## [](#use-autocomplete)オートコンプリートメニューを使用する IDE は、Anypoint Code Builder 拡張機能、および VS Code の組み込みコード補完機能である IntelliSense を使用して、エディタービューのオートコンプリートを提供します。 1. 次のいずれかのオプションを使用して、エディタービューからオートコンプリートオプションを開きます。 - IntelliSense の使用: Ctrl+Space を押して使用可能なオプションのリストを表示し、検索語を入力して結果を絞り込みます。次に例を示します。 ![「get」のオートコンプリートオプション](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-autocomplete.png) IntelliSense では、コンテキストに応じてさまざまなオプションが表示されます。次に例を示します。 ![「responses」のオートコンプリートオプション](/mulesoft/current/ja-jp/anypoint-code-builder/_images/des-autocomplete-context.png) - 拡張機能の使用: 自動提案メニューを使用する場所にカーソルを置き、必要に応じて、入力を開始して返される提案オプションのリストを絞り込みます。行にコンテンツがある場合は、Tab キーを押すか、スペースを入力するか、行のコンテンツの後で入力を開始します。自動提案メニューを閉じるには、Esc キーを押します。 API 設計では、オートコンプリートを有効または無効にできます。 手順を表示 1. ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-extensions.png)​ (拡張機能) アイコンをクリックして、アクティビティバーから ​**\[Extensions (拡張機能)\]**​ パネルを開きます。 2. 拡張機能 ​**\[Anypoint Code Builder - API Extension (Anypoint Code Builder - API 拡張機能)\]**​ を右クリックし、​**\[Extensions Settings (拡張機能設定)\]**​ を選択します。 このアクションにより、​**\[Settings (設定)\]**​ タブが開き、拡張機能 ​**@ext:salesforce.mule-dx-api-component**​ の設定が表示されます。 3. **\[Settings (設定)\]**​ タブで、オートコンプリートオプションを提案する API デザインエディターを有効にします。 [「\[Mule](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-mule-settings#setting-auto-complete) > \[Editor (エディター)\] > \[Auto-completion: Enablement (オートコンプリート: 有効化)\]」\]​を参照してください。 4. 必要に応じて、オートコンプリートオプションがリストされるまでの待機時間をミリ秒単位で設定します。 [「\[Mule](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-mule-settings#setting-auto-complete) > \[Editor (エディター)\] > \[Auto-completion: Trigger Delay (オートコンプリート: トリガー遅延)\]」\]​を参照してください。 2. 矢印キーを使用してリストを操作します。 3. Enter または Tab キーを使用して、選択した要素を挿入します。 オートコンプリートにより、要素がコードに追加され、値を挿入できるようにカーソルが配置されます。 詳細は、VS Code ドキュメントの [「IntelliSense」](https://code.visualstudio.com/docs/editor/intellisense)​を参照してください。 ## [](#ide-の外観を変更する)IDE の外観を変更する テーマを選択して、デスクトップ IDE またはクラウド IDE の外観を変更します。 1. アクティビティバーから ​**\[Manage (管理)\]**​ (歯車) アイコンを選択します。 2. **\[Themes (テーマ)\]**​ > ​**\[Color Themes (カラーテーマ)\]**​ を選択して、​**\[Dark Modern (ダークモダン)\]**​ などのテーマを選択します。 ![ダークテーマを使用する IDE](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-ui-dark-theme.png) ## [](#キャンバスビューを探索する)キャンバスビューを探索する デフォルトでは、Anypoint Code Builder でプロジェクトを開くと、最初にキャンバスビューが開きます。これにより、XML エディターに切り替えることなく、フローを視覚的に作成および編集できます。 ### [](#ビューを切り替える)ビューを切り替える ツールバーを使用して、キャンバスとコードエディターを切り替えることができます。 . ツールバーの ​****​ アイコンをクリックして、キャンバスとコードを切り替えることができます。 . 両方のビューを並べて開くには、キャンバスタブを右クリックし、​**\[Open in Canvas and Code Editor (キャンバスとコードエディターで開く)\]**​ を選択します。
キャンバスタブ上のドット (•) は、ファイルに保存されていない変更が含まれていることを示します。
### [](#エラーのあるコンポーネントを特定する)エラーのあるコンポーネントを特定する エラーを含むコンポーネントは、キャンバスに赤いドットでマークされています。 コンポーネントにマウスポインターを置くと、関連する項目名を含むエラーと警告がツールチップに表示されます。 # Until Successful () そのスコープ内のプロセッサーがすべて成功するか、またはスコープが最大再試行回数に達するまで、プロセッサーを順番に処理します。 Until Successful は同期的に実行されます。スコープ内のプロセッサーが接続に失敗したり、正常に結果を生成できなかったりした場合、Until Successful では設定されている最大再試行回数まで、失敗したプロセッサーを含めて内部のすべてのプロセッサーをやり直します。再試行が成功すると、スコープは次のコンポーネントに進みます。最後の再試行に失敗すると、Until Successful はエラーをスローします。 例外が発生しない場合、または応答が式に一致する場合、ルーティングは成功です。 Until Successful を使用する一般的な処理は次の通りです。 - アウトバウンドエンドポイントへのディスパッチ (可用性に問題があるかも知れないリモート Web サービスを呼び出す場合など)。 - コンポーネントメソッドの実行 (信頼性の低いリソースに依存する Spring bean を実行する場合など)。 - Subflow コンポーネント (​``​) を使用した、いくつかのアクションが成功するまでの再試行。 ## [](#component-xml)コンポーネント XML このコンポーネントは、次の XML 構造をサポートします。 ```xml ``` Until Successful (​``​) 属性は UI および XML で設定できます。
属性名 属性 XML 説明

Until successful (成功するまで)​ (デフォルト)

doc:name

キャンバスに表示されるコンポーネントの編集可能な名前。

なし

doc:id

コンポーネントの自動生成された識別子。

Max retries (最大再試行回数)

maxRetries

許可される再試行の最大数。この属性は、数値、または数値に解決される式にできます。最大回数に達すると、​Message: 'until-successful' retries exhausted.​ のようなエラーメッセージが出力されます。Mule エラー種別は ​MULE:RETRY_EXHAUSTED​ です。

Millis between retries (再試行間のミリ秒数)

millisBetweenRetries

再試行から次の再試行を実行するまでの最小間隔をミリ秒で指定します。間隔の長さは前回の実行の影響を受けますが、通常は最小値の 2 倍を超えることはありません。この属性は、数値、または数値に解決される式にできます。デフォルトは ​60000​ ミリ秒 (1 分) です。

## [](#変数の伝播)変数の伝播 最大再試行回数に達する前にスコープ内でエラーが発生した場合でも、Until Successful スコープは毎回必ず、ブロックの実行前に存在していた変数と値を使用して実行が開始されます。1 つの要素の処理中の新しい変数や既存の変数への修正は、スコープの実行時には表示されません。実行が正常に完了すると、変数 (およびペイロード) はフローの残り部分に伝播されます。 ## [](#until-successful-スコープの設定例)Until Successful スコープの設定例 次の XML の例では、Scheduler コンポーネントによりトリガーされるフローと、FTP Write 操作を実行する Until Successful スコープを設定します。 ```xml ``` サンプルアプリケーションの動作: - FTP Write 操作が失敗した場合、Until Successful スコープでは、操作が成功するまで ​`3000`​ ミリ秒ごとに操作を再試行します。ただし、​`5`​ 回の再試行回数の制限があります。 最後の実行が失敗すると ​`MULE:RETRY_EXHAUSTED`​ エラーがスローされます。次に、​``​ でエラーが処理され、Logger が実行されて、​`File upload failed`​ というメッセージが表示されます。 `MULE:RETRY_EXHAUSTED`​ をスローする前に、Mule では、たとえば次のように、Mule イベントでプロセッサーの実行をやり直すために失敗した各試行をログにも記録します。 ```logs ERROR 2022-12-09 17:41:44,910 ... event: cdad31c0-782b-11ed-af21-147ddaaf4f97] ...UntilSuccessfulRouter: Retrying execution of event, attempt 1 of 5. ... ERROR 2022-12-09 17:41:55,079 ... event: cdad31c0-782b-11ed-af21-147ddaaf4f97] ...UntilSuccessfulRouter: Retrying execution of event, attempt 5 of 5. ``` - いずれかの試行で FTP Write 操作の実行が成功した場合、Until Successful スコープの後の次のプロセッサーが実行されます。この例では、Logger が実行され、​`File upload success`​ というメッセージが表示されます。 ## [](#see-also)関連情報 - [トランザクションによるスコープとルーターへの影響](https://docs.mulesoft.com/mule-runtime/latest/transaction-management#tx_scopes_routers) Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-scheduler.adoc - include::partial$mule-components/4.4/component-スケジューラー.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] Unresolved include directive in modules/ROOT/pages/acb-component-transform.adoc - include::partial$mule-components/4.4/component-変換.adoc\[\] # XML エディターのキャンバスでコンポーネントを開く **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 XML エディターからキャンバス内のコンポーネントとその設定パネルを開くことができます。この機能は、たとえば UI からコンポーネントを設定する場合、コンポーネントが現在キャンバスに表示されているフローとは別のフローにある場合、またはキャンバスが開いていない場合に役立ちます。 1. 設定 XML から、コンポーネントの XML 内にカーソルを置きます。 2. 右クリックして、​**\[Configure Component in UI (UI でコンポーネントを設定)\]**​ を選択します。 このアクションにより、キャンバスにコンポーネントが表示され、その設定パネルが開きます。次に例を示します。 ![XML からキャンバス内のコンポーネントを開く](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-open-component-ui-from-xml.png) # アプリケーションからデータベースへの接続 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 データベース用 Anypoint Connector (Database Connector) を使用して、Mule フローから外部データベースに接続します。 ## [](#始める前に)始める前に [American Flights プロセスの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-am-flights)を完了します。 ## [](#american-flights-アプリケーションを開く)American Flights アプリケーションを開く 1. Anypoint Code Builder で ​`american-ws-anypoint-code-builder.xml`​ を開きます。 2. 設定 XML から ​``​ コンポーネントを削除します。 ```xml ``` ## [](#データベースドライバー連動関係を追加する)データベースドライバー連動関係を追加する Database Connector ではさまざまな Java Database Connectivity (JDBC) データベースがサポートされます。 `mySQL`​ ドライバーの連動関係を指定します。 1. Cmd+Shift+e (Mac) または Ctrl+Shift+e (Windows) を押して、​**\[Explorer\]**​ メニューを開きます。 2. `pom.xml`​ ファイルを開きます。 3. ``​ 要素内で新しい連動関係を追加します。 ```xml mysql mysql-connector-java 8.0.29 ``` ![新しい連動関係が強調表示されている pom.xml](/mulesoft/current/ja-jp/anypoint-code-builder/_images/add-mysql-driver-dependency.png) 4. ポップアップに「​`A build file was modified. Do you want to synchronize the Java classpath/configuration? (ビルドファイルが変更されました。Java クラスパス/設定を同期しますか?)`​」というメッセージが表示されたら、​**\[Yes (はい)\]**​ を選択します。 5. `pom.xml`​ で、​`mule-maven-plugin`​ 内の既存の ​``​ 要素を新しい共有ライブラリに置き換えます。 ```xml org.mule.tools.maven mule-maven-plugin ${mule.maven.plugin.version} true mysql mysql-connector-java ``` 6. 要求された場合、​**\[Yes (はい)\]**​ を受け入れて Java クラスパスを同期します。 7. [Database Connector 設定を追加](#add-db-config)​に進みます。 ## [](#add-db-config)Database Connector 設定を追加 1. Anypoint Code Builder で ​`american-ws-anypoint-code-builder.xml`​ を開きます。 2. 設定 XML でグローバル ​``​ スニペットを追加します。 1. 開始タグの前にカーソルを置きます。 2. Ctrl+Spacebar (Mac) または Cmd+Spacebar (Windows) を押します。 3. `「mysql」`​と入力して、スニペットを検索します。 4. スニペット ​`[db:mysql-config]`​ を選択します。 開始タグの前のスニペット XML: ```xml ... ``` 5. 次の XML 設定を生成するように ​``​ 内の属性を編集します。 ```xml ``` 3. 完成した設定 XML を確認します。 ```XML ```
getFlights​ フローには、予期されるエラー​「The content of element 'flow' is not complete. (要素「flow」のコンテンツが不完全です。)」​が含まれています。このエラーは、この手順の後半でコネクタを追加するまで存在します。
4. [すべてのフライトを返すクエリを記述する](#write)​に進みます。 ## [](#write)すべてのフライトを返すクエリを記述する 1. キャンバスで HTTP Listener コンポーネントの後の ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 2. データベース用 Anypoint Connector (Database Connector) の ​**Select**​ 操作を追加します。 **Select**​ を検索するか、​**\[Connectors (コネクタ)\]**​ > ​**\[Database (データベース)\]**​ > ​**\[Select\]**​ から操作に移動します。 3. スニペットで次の設定を指定します。 - キャンバスから - 設定 XML から **\[Select\]**​ 操作をクリックして、その設定パネルを開き、Select の属性を次の値に設定します。 ![設定パネルを使用した Select コネクタの設定。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/tut-int-db-connector-ui.png)
1コネクタ名を ​[Query Flights (フライトを照会)]​ に変更します。
2コネクタ設定ドロップダウンメニューから ​[Database_Config]​ を選択します。
3[Query (クエリ)]​ 属性を ​[Select * FROM american]​ に設定します。
``​ で、属性を例で指定された値に設定します。 ```XML ``` `config-ref`​ 属性では ​``​ のデータベース接続設定をその​`名前`​で参照します。 4. 完成した設定 XML を確認します。 ```XML ``` 5. [DataWeave を使用したフライトデータの変換](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-integrate-use-dataweave)に進み、DataWeave を使用して American Flight API 仕様でデータベース応答の一致の例を作成する方法を確認します。 # インテグレーションの作成 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 ビジネスロジックを使用してデータを処理するには、Mule アプリケーションのコネクタや他のコンポーネントを使用してインテグレーションを作成します。 通常のワークフローには次の 1 つ以上のタスクが含まれます。 1. インテグレーションプロジェクトを作成またはインポートします。 - [インテグレーションプロジェクトを作成します](#create-integration-project)​ インテグレーションを最初から作成するか、Anypoint Exchange からインポートしたプロジェクトテンプレートまたはインテグレーション例から開始します。Exchange のテンプレートおよび例についての詳細は、[アセットタイプ](https://docs.mulesoft.com/jp/exchange/asset-types)を参照してください。 - [プロジェクトをインポートします](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project)​。 2. [プロジェクトにコンポーネントを追加します](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components)​。 プロジェクトには複数の設定 XML ファイルを作成できます。​[追加の設定 XML ファイルを作成する](#create-new-config)​を参照してください。 ## [](#prereqs)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 ## [](#create-integration-project)インテグレーションプロジェクトを作成する インテグレーションプロジェクトを作成する手順は、次のとおりです。 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Develop an Integration (インテグレーションを開発)\]**​ をクリックします。 ![\[Getting started (使用開始)\] セクション内で強調表示されている \[Develop an Integration (インテグレーションを開発)\] リンク](_images/develop-integration-option-mat.png) 3. **\[Develop an Integration (インテグレーションを開発)\]**​ フォームでプロジェクト名と場所を指定します。
項目名 Field Value (項目値)

Project Name (プロジェクト名)

プロジェクトの一意の名前。

この名前はタイトルおよびインテグレーションプロジェクトファイルの名前として使用されます。 たとえば、プロジェクト名が「OAS Integration」 (OAS インテグレーション) の場合、プロジェクトファイル名は ​oas-integration​ になります。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ。インテグレーション用の別のディレクトリを選択するには、​[Browse (参照)]​ をクリックします。

別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。

4. プロジェクトを最初から作成するか、Anypoint Exchange のアセットから開始します。 - **空のプロジェクトから開始** - **プロジェクトテンプレートまたは例から開始** **\[Empty Project (空のプロジェクト)\]**​ をクリックして、インテグレーションプロジェクトを最初から開始します。このプロジェクトに事前設定済みのコンポーネントはありません。 ![インテグレーションプロジェクトを最初から作成します。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-create-integration-scratch.png) Anypoint Exchange から既存のインテグレーションテンプレートまたは例をインポートする手順は、次のとおりです。 1. **\[Template or Example Project (テンプレートまたはプロジェクト例)\]**​ をクリックして、Anypoint Exchange から既存のインテグレーションテンプレートまたは例をインポートします。 ![Exchange アセットからインテグレーションプロジェクトを作成します。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-create-integration.png) 2. ビジネス組織に関連付けられた非公開アセットをインポートする場合は、​[IDE から Anypoint Platform にログイン](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#login-ide)​して、検索結果にテンプレートまたは例のリストを表示します。 公開アセットの検索ではログインは不要です。 3. IDE からテンプレートまたは例を検索します。 部分検索を使用できます。 4. 追加するアセットにマウスポインターを置きます。 5. **\[Add Asset (アセットを追加)\]**​ をクリックします。 5. **Mule Runtime**​ と ​**Java**​ のバージョンを選択します。 サポートされている Mule Runtime と Java バージョンのいずれかを選択できます。IDE は、バージョン設定をプロジェクトの ​`mule-artifact.json`​ ファイルに保存します。 バージョンサポートと Mule パッチ自動更新については、​[「Mule と Java バージョンのサポート」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#versions-mule-jdk)​を参照してください。 作成するプロジェクトのデフォルトの Mule Runtime バージョンと Java バージョンを設定するには、[Mule、Java、コネクタのバージョン設定](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions)を参照してください。 6. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 IDE では、プロジェクト用に選択した Mule Runtime バージョンまたは Java バージョンをダウンロードする必要がある場合に通知が表示されます。Mule Runtime は ​`${user.home}/AnypointCodeBuilder/runtimes`​ にダウンロードされ、選択した Java バージョンは ​`${user.home}/AnypointCodeBuilder/java`​ にダウンロードされます。 インテグレーションプロジェクトを最初から作成する場合、または Exchange からのプロジェクトにフロー構造 (フロー、サブフロー、エラー処理コンポーネント) が含まれない場合、フロー構造を作成するオプションがキャンバスに表示されます。それ以外の場合、キャンバスではインポートしたアセットのコンポーネントのグラフィック表現が生成されます。これを使用して設定を開始できます。 ## [](#create-new-config)追加の設定 XML ファイルを作成する Anypoint Code Builder により、Mule プロジェクト内の ​`src/main/mule`​ に初期 Mule 設定 XML ファイルが作成されます。 追加の設定ファイルを作成できます。たとえば、スキャフォールディング済みインターフェースの実装ファイル用や、XML ファイルから参照できるグローバル設定用の設定ファイルを追加できます。 新しい設定 XML ファイルを作成する手順は、次のとおりです。 1. \[Explorer\] ビューで ​**mule**​ フォルダー (​`src/main/mule`​) を右クリックして ​**\[New Mule Configuration File…​ (新規 Mule 設定ファイル…​)\]**​ を選択します。 2. 開いた ​**\[New Mule Configuration File…​ (新規 Mule 設定ファイル…​)\]**​ 項目で新しいファイルの名前を拡張子なしで指定します。 ![Mule 設定 XML ファイルの名前の指定](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-add-config-xml.png) 名前はプロジェクト内で一意である必要があります。使用できる特殊文字は、​`_`​ (アンダースコア)、​`-`​ (ハイフン)、​`.`​、​`@`​、​`(`​、​`)`​ です。 このプロセスにより ​`xml`​ 拡張子がファイル名に自動的に追加され、新しい設定 XML ファイルとそのキャンバスが IDE 内で開きます。新しい設定 XML ファイルには、デフォルトの名前空間を含む ​``​ 要素が含まれます。 ```xml ``` ファイルのキャンバスには、インテグレーションプロジェクトの作成時に表示される、プロジェクトファイルをビルドするためのオプションと同じものが表示されます。例を参照するか、設定を開始するには、​[「プロジェクトにコンポーネントを追加する」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-components#add-a-component-to-your-project)​を参照してください。 ## [](#関連情報)関連情報 - [参照](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference) - [コードスニペットの操作](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets) - [debugging-mule-apps.adoc](#debugging-mule-apps.adoc) # インテグレーションの開発 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder を使用して、Mule アプリケーション内でインテグレーションを構築します。 Anypoint Code Builder とのインテグレーションでは、ソースがプロトコルとルーティング要件から切り離されている、サービスベースのフレームワークが使用されます。 システムまたはビジネスニーズが変更された場合、アプリケーションで操作とプロセッサーを再利用または変更できます。 インテグレーションを使用すると、複数のサービスを 1 つにまとめて機能させることができます。 一般的なユースケースのいくつかを次に挙げます。 - データ処理のスケジューリング - クラウドアプリケーションとオンプレミスアプリケーションの接続 - 必須の構造または形式へのメッセージデータの変換 - 複数のサービスを構成して同時に動作させるイベント処理 [インテグレーションプロジェクトを作成](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)​したら、必要に応じて次を行うことができます。 - [コードスニペットを操作する](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets)​。 - [Mule アプリケーションのプロパティを定義して保護する](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-secure-configs)​。 - [開発環境でフローをトリガーする](https://docs.mulesoft.com/jp/anypoint-code-builder/int-trigger-flows)​。 - [DataWeave 言語を使用する](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions)​。 - [Mule アプリケーションをデバッグする](https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps)​。 インテグレーションアプリケーションで次のタスクを実行することもできます。 - [共有可能またはデプロイ可能な JAR ファイルに Mule プロジェクトをエクスポートする](https://docs.mulesoft.com/jp/anypoint-code-builder/int-export-mule-project)​。 - [プロジェクトの JAR ファイルを IDE のワークスペースにインポートする](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project)​。 - [CloudHub に Mule アプリケーションをデプロイする](https://docs.mulesoft.com/jp/anypoint-code-builder/int-deploy-mule-apps)​。 ## [](#インテグレーションプロジェクトのソース制御)インテグレーションプロジェクトのソース制御 ソース制御管理 (SCM) を使用して、設計、インテグレーション、実装プロジェクトを保存および共有します。 ソース制御オプションについては、[ソースファイルの制御](https://docs.mulesoft.com/jp/anypoint-code-builder/start-scm)を参照してください。 # ガバナンスルールセットに対する API 仕様の検証 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 ガバナンスルールセットのルールに対して Anypoint Code Builder 設計プロジェクトの API 仕様をテストし、結果として生じた準拠の問題を修正します。 ルールセットとガバナンスについての詳細は、​[Anypoint API Governance の概念](https://docs.mulesoft.com/api-governance/#anypoint-api-governance-concepts)​を参照してください。 ## [](#prereqs)始める前に サポートされる仕様を含む API 設計プロジェクトが Anypoint Code Builder にある必要があります。 - [API 仕様の作成およびインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs) - [AsyncAPI 仕様の作成およびインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-asyncapi-api-specs) ## [](#workflows-tasks)ワークフローとタスク 通常のワークフローは次の 1 つ以上のタスクで構成されます。 1. 1 つ以上のルールセットを API 設計プロジェクトに追加します。 [プロジェクトへのルールセットの追加](#add-rulesets) 2. ルールセットのルールを実行して、API 仕様がルールに準拠するかどうかを確認します。 [API 仕様に対するルールの実行](#run-rules) 3. 仕様内の準拠の問題を修正します。 [準拠の問題の修正](#fix-issues) ## [](#add-rulesets)プロジェクトへのルールセットの追加 ガバナンスルールセットを連動関係として Anypoint Code Builder の API 設計プロジェクトに追加します。 ルールセットは Exchange でホストされています。MuleSoft は多くの公開ルールセットを提供しています。これらのルールセットは Anypoint Code Builder で見つけることができます。また、 [Exchange](https://anypoint.mulesoft.com/exchange/?type=ruleset&show=mulesoft&sort=last&view=grid)​ で直接確認することもできます。たとえば、ルールセット [Anypoint Best Practices (Anypoint ベストプラクティス)](https://anypoint.mulesoft.com/exchange/68ef9520-24e9-4cf2-b2f5-620025690913/anypoint-best-practices/minor/1.6/)​ では、ドキュメントと例が提供されています。チームは組織のルールセットを作成して Exchange にパブリッシュすることもできます ([Creating Custom Governance Rulesets](https://docs.mulesoft.com/api-governance/create-custom-rulesets)を参照)。 1. Anypoint Code Builder で API 設計プロジェクトを開きます。 2. **Explorer**​ からプロジェクトの ​**\[Governance Rulesets (ガバナンスルールセット)\]**​ パネルを開きます。 このパネルが ​**Explorer**​ にない場合、​**Explorer**​ の ​**\[Views and More Actions…​ (ビューおよびその他のアクション…​)\]**​ (​**…​**​) メニューでパネルをアクティブ化します。 3. ルールセットを追加します。 - パネルにルールセットが含まれない場合、​**\[Add Rulesets (ルールセットを追加)\]**​ をクリックします。 次に例を示します。 !["\[Governance Rulesets (ガバナンスルールセット)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-add-panel.png) パネル",width=600\] - パネルにルールセットが含まれる場合、パネルにマウスポインターを置いて ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-gov-ruleset-add.png)​ (​**\[Add Governance Rulesets (ガバナンスルールセットを追加)\]**​) をクリックすると、別のルールセットを追加できます。次に例を示します。 !["\[Add ruleset (ルールセットを追加)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-add-panel-not-empty.png) アイコン",width=600\] 4. Anypoint Platform にサインインするように促されたら、サインインします。 5. ルールセットを検索して ​**\[Add Rulesets (ルールセットを追加)\]**​ をクリックします。次に例を示します。 !["\[All Available Rulesets (すべての使用可能なルールセット)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-search-add.png)",width=600\] また、​**\[Any organization (任意の組織)\]**​ メニューから検索を特定の組織に絞り込んだり、複数のバージョンを使用できる場合はルールセットの別のバージョンを選択したりできます。 6. [API 仕様に対するルールの実行](#run-rules)​に進みます。 ## [](#トピックとエージェントの中央管理ルールセット)トピックとエージェントの中央管理ルールセット トピックとエージェントに対して API プロジェクトを有効にすると、​**\[SF API Topic and Action Enablement (SF API トピックとアクションの有効化)\]**​ 中央管理ルールセットがトピック対応 API プロジェクトに自動的に追加されます。 詳細は、​[「トピックとエージェントのガバナンスルールセット」](https://docs.mulesoft.com/jp/anypoint-code-builder/ai-enabling-api-project-topic-center#governance-rulesets)​を参照してください。 ## [](#run-rules)API 仕様に対するルールの実行 API 仕様がガバナンスルールセットのルールに準拠するかどうかを確認します。 1. Anypoint Code Builder で API 設計プロジェクトを開きます。 2. **Explorer**​ から ​**\[Governance Rulesets (ガバナンスルールセット)\]**​ パネルを開き、プロジェクトにルールセットがあるかどうかを確認します。 - ルールセットが存在し、他のルールセットを追加しない場合は、次のステップに進みます。 !["\[Add ruleset (ルールセットを追加)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-add-panel-not-empty.png) アイコン",width=500\] - ルールセットが存在しない場合、または他のルールセットを追加する場合は、​[プロジェクトへのルールセットの追加](#add-rulesets)​に進みます。 !["\[Governance Rulesets (ガバナンスルールセット)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-add-panel.png) パネル",width=500\] 3. **\[Governance Rulesets (ガバナンスルールセット)\]**​ パネルからルールを実行します。 ルールセットは複数のレベルで実行できます。 - すべてのルールセットのすべてのルール ![すべてのルールセットを実行するアイコンのクリック](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-run-all.png) - 1 つのルールセットのすべてのルール ![1 つのルールセットを実行するアイコンのクリック](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-run-ruleset.png) - 1 つのルールセットの 1 つのルール ![1 つのルールを実行するアイコンのクリック](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-run-rule.png) ルールが実行されているときにルールを監視できます。次に例を示します。 ![パネルに表示されている実行中のルール](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-running.png) 4. いずれかのルールでエラー (​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-gov-rule-error.png)​) または警告 (​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-gov-rule-warning.png)​) が返された場合、​[準拠の問題の修正](#fix-issues)​に進みます。 たとえば、次のルールセットでは、いくつかのルールで警告が返されています。 ![API ガバナンスパネルに表示されている警告を含むルールセット](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-warning.png) ルールセットに表示されている実行時間 (19.25 秒など) は各ルールの実行に要した時間の合計を表します。ルールは複数コアのマシンで並列実行されるため、ルールセットに表示されている実行時間は、実行完了までの実際の時間よりも長くなっている可能性があります。 **\[Governance Results (ガバナンス結果)\]**​ パネルでも警告またはエラーが特定されます。次に例を示します。 !["\[Governance Results (ガバナンス結果)](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-rulesets-warning-output.png) パネルに表示されている警告を含むルールセット",width=700\] ## [](#fix-issues)準拠の問題の修正 エラーや警告を返すルールに対処するには、ルールに準拠するように仕様を修正します。その後、ルールを再実行して修正が有効であることを確認します。 ### [](#example)例 問題に対処するプロセスを説明するために、この手順の例は RAML 仕様の一部といくつかのルールセットから始まっています。 ![HTTPs ルールの再実行](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-example-prefix.png) 完全な例 - 仕様には次のマークアップが含まれます。 ```yaml #%RAML 1.0 title: my-des-with-governance protocols: - HTTP ``` - 仕様の設計プロジェクトでは次のルールセットが適用されます。 - HTTPS 適用 - Anypoint ベストプラクティス ### [](#fix-conformance-issues)準拠の問題の修正 エラー (​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-gov-rule-error.png)​) および警告 (​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-gov-rule-warning.png)​) を修正する手順は、次のとおりです。 1. プロジェクトでルールセットを実行します。 案内については、​[API 仕様に対するルールの実行](#run-rules)​を参照してください。 2. 発生したエラーおよび警告を ​**\[Governance Results (ガバナンス結果)\]**​ パネルで確認します。次に例を示します。 ![ガバナンスルールセット内のエラーおよび警告](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-example-postrun-issues.png) **\[Governance Results (ガバナンス結果)\]**​ に、対応する問題がリストされています。次に例を示します。 ![ガバナンス結果内のエラーおよび警告](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-example-postrun-issues-output.png) - `Error: [HTTPS Enforcement] Only use https protocol scheme (エラー: [HTTPS 適用] HTTPS プロトコルスキームのみを使用してください)。` - `Warning: [Anypoint Best Practices] Provide the documentation for the API (警告: [Anypoint ベストプラクティス] API のドキュメントを指定してください)。` - `Warning: [Anypoint Best Practices] Provide the description for the API (警告: [Anypoint ベストプラクティス] API の説明を指定してください)。` 3. 仕様内のエラーに対処します。 たとえば、​`HTTP`​ を ​`HTTPS`​ に変更することで​[仕様例](#example)​の ​**HTTPS 適用**​エラーを修正します。 ```yaml #%RAML 1.0 title: my-des-with-governance protocols: - HTTPS ``` 4. 失敗したルールを再実行してエラーが修正されたことを確認します。 たとえば、​[仕様例](#example)​の ​`protocols`​ エラーを修正したら、​**\[Governance Rulesets (ガバナンスルールセット)\]**​ パネルから ​**use-https-for-scheme-protocol**​ を実行します。次に例を示します。 ![HTTPs ルールの再実行](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-example-run-fixed-error-https.png) **\[Governance Rulesets (ガバナンスルールセット)\]**​ にエラーが表示されなくなったことを確認します。次に例を示します。 ![修正された HTTPs ルール](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-example-error-fixed-https.png) また、​**\[Governance Results (ガバナンス結果)\]**​ パネルに問題がリストされなくなります。 5. 必要に応じて、警告に対処します。 次に例を示します。 1. [仕様例](#example)​に ​`description`​ を追加することで、警告​`「Provide the description for the API (API の説明を指定してください)」`​に対処します。次に例を示します。 ```yaml #%RAML 1.0 title: my-des-with-governance description: my description protocols: - HTTPS ``` description は ​`title`​ と ​`protocols`​ の間にあります。 2. ルール ​**api-must-have-description**​ を再実行して、仕様がルールに準拠するようになったことを確認します。 ![修正された説明](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-example-warning-fixed-description.png) ルールセットの別のルールに警告があるため、ルールセットでは引き続き警告が特定されています。 6. 修正する必要がある残りの問題に対処します。 たとえば、​[例](#example)​の警告​`「Provide the documentation for the API (API のドキュメントを指定してください)」`​の場合、​`documentation`​ マークアップを仕様に追加して保存します。 ```yaml #%RAML 1.0 title: my-des-with-governance description: my description documentation: - title: My Title content: | Welcome to my API documentation. - title: Legal content: | This is my legal documentation. protocols: - HTTPS ``` 7. **\[Governance Rulesets (ガバナンスルールセット)\]**​ パネルで対応するルールを再実行します。 たとえば、​**api-must-have-documentation**​ を再実行して、仕様がルールに準拠するようになったことを確認します。 ![修正されたドキュメント](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-example-warning-fixed-all.png) 仕様のエラーまたは警告がなくなりました。次に例を示します。 ![ルールセット検証を表示しているパネル](/mulesoft/current/ja-jp/anypoint-code-builder/_images/gov-example-error-fixed-all.png) ## [](#ruleset-remove)プロジェクトからのルールセットの削除 1. **\[Governance Ruleset (ガバナンスルールセット)\]**​ パネルでルールセットにマウスポインターを置くと、​**\[More actions (その他のアクション)\]**​ (​**…​**​) メニューが表示されます。 2. **\[More actions (その他のアクション)\]**​ メニューで ​**\[Remove Ruleset…​ (ルールセットを削除…​)\]**​ をクリックします。 また、この目的ではコマンドパレットからコマンド ​**MuleSoft: Remove Governance Ruleset…​**​ を使用することもできます。 ## [](#ruleset-yaml)ルールセット YAML ファイルを開く ルールセットの YAML ファイルの設定を調べる手順は、次のとおりです。 1. **\[Governance Ruleset (ガバナンスルールセット)\]**​ パネルでルールセットにマウスポインターを置くと、​**\[More actions (その他のアクション)\]**​ (​**…​**​) メニューが表示されます。 2. **\[Show in Files (ファイルで表示)\]**​ をクリックすると、YAML ファイルが IDE の ​**\[ruleset.yaml\]**​ タブで開きます。 次の例は、HTTPS 適用 YAML ファイルのバージョン 1.6.1 を示しています。 ```YAML #%Validation Profile 1.0 profile: HTTPS enforcement description: This ruleset helps ensure the use of HTTPS across URLs in API definitions, both in the base server URL and in any callbacks optionally defined. violation: - use-https-for-callbacks - use-https-for-scheme-protocol - use-https-for-urls tags: - security validations: use-https-for-callbacks: message: "{{apiContract.expression}} must use https as it is a callback url" targetClass: apiContract.Callback propertyConstraints: apiContract.expression: pattern: ^https:// examples: valid: | openapi: "3.0.0" info: title: example API version: "1.0.0" paths: /subscribe: post: responses: '201': description: Webhook created callbacks: myEvent: 'https://{$request.body#/callbackUrl}' invalid: | openapi: "3.0.0" info: title: example API version: "1.0.0" paths: /subscribe: post: responses: '201': description: Webhook created callbacks: myEvent: 'http://{$request.body#/callbackUrl}' use-https-for-scheme-protocol: message: Only use https protocol scheme targetClass: apiContract.WebAPI not: propertyConstraints: apiContract.scheme: containsSome: - HTTP - http examples: valid: | #%RAML 1.0 protocols: - HTTPS invalid: | #%RAML 1.0 protocols: - HTTP use-https-for-urls: message: "{{core.urlTemplate}} should use https" targetClass: apiContract.Server propertyConstraints: core.urlTemplate: pattern: ^https:// examples: valid: | openapi: "3.0.0" servers: - url: "https://mySecureEndpoint" description: "My endpoint that uses HTTPS" invalid: | openapi: "3.0.0" servers: - url: "http://myNotSoSecureEndpoint" description: "My endpoint that uses HTTP" ``` ## [](#ruleset-exchange)Exchange でルールセットを開く Exchange ではルールセットにすべてのルールがリストされます。また、例を含むドキュメントが提供されている場合があります。 Exchange でルールセットを開く手順は、次のとおりです。 1. **\[Governance Ruleset (ガバナンスルールセット)\]**​ パネルでルールセットにマウスポインターを置くと、​**\[More actions (その他のアクション)\]**​ (​**…​**​) メニューが表示されます。 2. **\[Open in Exchange (Exchange で開く)\]**​ をクリックします。 ## [](#ruleset-version)ルールセットバージョンの変更 ルールセットの別のバージョンを選択する手順は、次のとおりです。 1. **\[Governance Ruleset (ガバナンスルールセット)\]**​ パネルでルールセットにマウスポインターを置くと、​**\[More actions (その他のアクション)\]**​ (​**…​**​) メニューが表示されます。 2. **\[Change Version…​ (バージョンを変更…​)\]**​ をクリックします。 3. 開いた ​**\[Change Version (バージョンを変更)\]**​ メニューから別のバージョンを選択します。 # クラウド IDE の起動 ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Platform からクラウド IDE を起動します。Anypoint Platform ユーザーアカウントとビジネス組織は US クラウドまたは EU クラウドでホストされ、これらのホスト間で共有されません。 ## [](#before-you-begin)クラウド IDE を開始する前に クラウド IDE を起動する前に前提条件を満たします。 - Anypoint Platform 組織アカウントを持つシステム管理者から必要な権限を付与してもらう必要があります。[権限の設定](https://docs.mulesoft.com/jp/anypoint-code-builder/start-configure-permissions)を参照してください。 - クラウド IDE には、Mule Runtime Engine のトライアルでない Enterprise ライセンスが必要です。​[「アカウントをアップグレードする」](https://docs.mulesoft.com/jp/access-management/managing-your-account#upgrade-account)​および[Install an Enterprise License on On-Premises Mule Runtime Engine](https://docs.mulesoft.com/on-premises/latest/installing-an-enterprise-license)を参照してください。 - Anypoint Platform にはユーザーアカウントが必要です。既存のアカウントを使用することも、Anypoint Platform からアカウントを作成することもできます (サポートされる​[「クラウドホスト」](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds)​を参照)。 - 組織のシステム管理者は、Anypoint Platform クラウドホスト ( [US](https://anypoint.mulesoft.com/codebuilder/)​ または [EU](https://eu1.anypoint.mulesoft.com/codebuilder/)​) の Anypoint Code Builder ランディングページからクラウド IDE のベータプログラムの契約条件に同意する必要があります。サインインが必要です。​**\[Terms & Conditions (契約条件)\]**​ ボタンは、組織のシステム管理者のみが使用できます。 ![組織のシステム管理者向け契約条件バナー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-acb-terms-admin.png) - 重要な進行中のベータ情報を確認します。

クラウド IDE は進行中のベータ期間中です。

進行中のベータの間、クラウド IDE インスタンスが削除される場合があります。これにより、インテグレーション、自動化、API が失われます。

詳細を表示するには、クリックしてください。

作業内容を保存するには、プロジェクトファイルをソース制御管理 (SCM) システムにコミットします。ソースファイルの制御を参照してください。

本番環境の API、インテグレーション、または自動化の開発に Anypoint Code Builder のクラウド IDE ベータバージョンを使用しないでください。

## [](#login-cloud)Anypoint Platform からクラウド IDE を開く クラウド IDE を起動する手順は、次のとおりです。 1. [クラウド IDE を開始する前に](#before-you-begin)​の前提条件を確認して、Anypoint Code Builder を使用できるようにします。 2. Anypoint Platform にログインします。 - U.S. ホスト (すべての非 EU リージョンをサポート) の場合は [anypoint.mulesoft.com](https://anypoint.mulesoft.com/login/) - EU 準拠のホストの場合は [eu1.anypoint.mulesoft.com](https://eu1.anypoint.mulesoft.com/login)​ 1 つのクラウドにアカウントがあり、別のクラウドで作業する場合、別のクラウドでアカウントを作成してプロジェクトを作成し、プロジェクトの作業を行う必要があります。 3. Anypoint Platform から、Anypoint Code Builder ランディングページを開きます。 4. Anypoint Code Builder ランディングページで、​**\[Launch Cloud IDE (クラウド IDE を起動)\]**​ をクリックします。 ![Anypoint Platform のクラウド IDE の起動ボタン](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-launch-cloud-ide.png) クラウド IDE のプロビジョニングが完了したら、IDE が開きます。プロビジョニングプロセスには数分かかることがあります。 クラウド IDE 環境はユーザーアカウントに関連付けられています。クラウド環境には、自分のみがアクセスできる、Anypoint Platform UI 内に埋め込まれて​_いない_​一意の URL もあります。クラウド IDE をこの URL から直接再開したり、Anypoint Platform の Anypoint Code Builder から間接的に再起動したりできます。 5. アクティビティバーの \[MuleSoft\] アイコンをクリックして、Anypoint Code Builder 機能を表示して使用します。 # コードスニペットの操作 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 _コードスニペット_​は、IDE から Mule アプリケーションフローまたはサブフローの設定 XML ファイルに挿入するコードパターンです。 再利用可能なコードパターンのコードスニペットを使用すると、より効率的に作業でき、設定エラーの可能性を減らすことができます。 スニペットを使用して、一般的に使用されるコネクタ操作、コアコンポーネントでサポートされるメッセージ処理パターン、設定 XML 内の複数要素の設定など、Mule DSL でサポートされる任意の要素の設定を提供します。 コネクタ操作、コアプロセッサー、およびその他のプロセッサーのスニペットを Mule アプリケーションの XML 設定ファイルで設定できます。​[Mule アプリケーションへのスニペットの追加](#adding-snippets)​を参照してください。 Anypoint Code Builder では組み込みスニペットが提供されるほか、独自のユーザースニペットを JSON 形式で設定できます。​[ユーザースニペットの作成](#creating-user-snippets)​を参照してください。 スニペットを Mule アプリケーションの設定 XML に追加すると、スニペットは Anypoint Code Builder により XML に変換されます。 スニペットは JSON 形式で作成されたテンプレートです。 スニペットを Mule アプリケーションフローまたはサブフローの設定 XML に挿入すると、スニペットの JSON は XML に自動的に変換されます。 ユーザースニペットを ​`mule-xml.json`​ ファイルに作成します。 コードスニペットは VS Code 機能です。詳細は、 [「Snippets in Visual Studio Code (Visual Studio Code のスニペット)」](https://code.visualstudio.com/docs/editor/userdefinedsnippets)​を参照してください。 ## [](#組み込みスニペットを使用する利点)組み込みスニペットを使用する利点 スニペットから生成された XML を使用すると、設定 XML で使用できる基本 XML 要素を使用するよりも迅速かつ一貫した方法でアプリケーションを設定できます。次に例を示します。 - 組み込み Logger スニペット: ```XML ``` Mule アプリケーションのスニペット XML を設定するには、Logger の ​`message`​ など、属性の値を指定します。 - 基本 Logger XML: ```XML ``` 基本 Logger XML を設定するには、属性と値を指定する必要があります。 ## [](#始める前に)始める前に - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - [インテグレーションプロジェクトを作成します](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)​。 ## [](#adding-snippets)Mule アプリケーションへのスニペットの追加 キャンバスまたは設定 XML のいずれかからスニペットを追加します。 - キャンバスからは、Anypoint Code Builder により、作業している ​``​ または ​``​ 要素にすべてのユーザースニペットが挿入されます。 - 設定 XML からは、​[オートコンプリート](#autocomplete)​を使用してユーザースニペットを見つけて挿入します。 たとえば、​``​ または ​``​ と同じレベルに存在する必要があり、このどちらの要素にも存在しないグローバル設定では、オートコンプリートを使用します。 オートコンプリートメニューでは、スニペットはその名前と 2 次元ボックスアイコンで識別されます。 組み込みスニペットまたはユーザースニペットをインテグレーションまたは実装に追加します。 - [フローまたはサブフローに組み込みスニペットを追加する](#add-builtin-snippet) - [フローまたはサブフローにユーザースニペットを追加する](#add-user-snippet) ### [](#add-builtin-snippet)フローまたはサブフローに組み込みスニペットを追加する 組み込みスニペットを追加する手順は、次のとおりです。 1. キャンバスで、スニペットを追加する場所で ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 ![Mule アプリケーションキャンバス](/mulesoft/current/ja-jp/anypoint-code-builder/_images/main-tutorial-add-first-http-listener.png) 2. **\[Snippets (スニペット)\]**​ > ​**\[Built-in Snippets (組み込みスニペット)\]**​ を選択します。 3. フローまたはサブフローに追加する組み込みスニペットをクリックします。 キャンバスで選択した場所にあるアプリケーションの ​``​ または ​``​ 要素内にスニペットの XML が挿入されます。 オートコンプリート機能を使用して組み込みスニペットを XML 設定ファイルに直接挿入することもできます。 [オートコンプリートを使用してスニペットを設定 XML に挿入する](#autocomplete)​を参照してください。 ### [](#add-user-snippet)フローまたはサブフローにユーザースニペットを追加する 作成するユーザースニペットをインテグレーションまたは実装に追加します。スニペットを作成するには、​[ユーザースニペットの作成](#creating-user-snippets)​を参照してください。 フローまたはサブフローにユーザースニペットを追加する手順は、次のとおりです。 1. キャンバスで、スニペットを追加する場所で ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 ![Mule アプリケーションキャンバス](/mulesoft/current/ja-jp/anypoint-code-builder/_images/main-tutorial-add-first-http-listener.png) 2. **\[Snippets (スニペット)\]**​ > ​**\[User Snippets (ユーザースニペット)\]**​ を選択します。 定義されたスニペットがない場合、Anypoint Code Builder により、編集するサンプルスニペットが含まれる新しい ​`mule-xml.json`​ スニペットファイルが作成されます。 [ユーザースニペットの作成](#creating-user-snippets)​を参照してください。 3. フローまたはサブフローに追加するユーザースニペットをクリックします。 キャンバスで選択した場所にあるアプリケーションの ​``​ または ​``​ 要素内にスニペットの XML が挿入されます。 ## [](#creating-user-snippets)ユーザースニペットの作成 キャンバスまたはコマンドパレットのいずれかからユーザースニペットを作成します。 - [キャンバスからユーザースニペットを作成する](#create-snippet-canvas) - [設定ファイルでユーザースニペットを作成する](#create-snippet-file) ### [](#create-snippet-canvas)キャンバスからユーザースニペットを作成する Mule アプリケーション用の再利用可能なユーザースニペットを作成します。 ユーザースニペットは IDE インスタンスに固有です。また、他のユーザーがインポートして使用するためにエクスポートされるアプリケーションのプロジェクトではユーザースニペットは共有されません。 1. キャンバスで、スニペットを追加する場所で ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 ![Mule アプリケーションキャンバス](/mulesoft/current/ja-jp/anypoint-code-builder/_images/main-tutorial-add-first-http-listener.png) 2. **\[Snippets (スニペット)\]**​ > ​**\[User Snippets (ユーザースニペット)\]**​ を選択します。 3. ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-snippet-plus.png)​ (​**\[Create user snippet (ユーザースニペットを作成)\]**​) アイコンをクリックします。 Anypoint Code Builder で ​`mule-xml.json`​ が開きます。ここで、ユーザースニペットを設定します。 定義されたスニペットがない場合、Anypoint Code Builder により、編集するサンプルスニペットが含まれる新しい ​`mule-xml.json`​ スニペットファイルが作成されます。 たとえば、​**Example**​ 以降のすべての項目のコメントを解除して、​**\[Log a message\]**​ (メッセージを記録) ユーザースニペットを作成します。 ```JSON { // Example: "Log a message": { (1) "prefix": "log", (2) "body": [ (3) "$0", ], "description": "Log output to console" } } ```
1スニペットリストに表示される名前
2スニペットのオートコンプリートを実行するトリガーテキスト
3再利用可能なコード
4. スニペットを保存し、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-snippet-refresh.png)​ (​**\[Refresh snippet list (スニペットリストを更新)\]**​) アイコンをクリックします。 5. サンプルスニペットをフローに追加します。 1. **\[User Snippets (ユーザースニペット)\]**​ で ​**\[Log a message (メッセージを記録)\]**​ をクリックします。 Anypoint Code Builder によりスニペットが設定 XML に追加されます。 ```xml ``` スニペットの ​`$RANDOM_HEX`​ 値のため、​`doc:id`​ の値はランダムに生成されます。 6. `level`​ や ​`message`​ の値など、必要な値または設定を XML に追加します。次に例を示します。 ```xml ``` 7. 他のスニペットを ​`mule-xml.json`​ に追加するには、​`}`​ の後にカンマを追加し、新しいスニペットを定義します。次に例を示します。 ```JSON { // Example: "Log a message": { "prefix": "log", "body": [ "$0", ], "description": "Log output to console" }, "Add your snippet title here": { "prefix": "Add your snippet trigger here", "body": [ "Add your code here", ], "description": "Add your description here" } } ``` オートコンプリート機能を使用してユーザースニペットを XML 設定ファイルに直接挿入することもできます。 ### [](#create-snippet-file)設定ファイルでユーザースニペットを作成する ユーザースニペットを設定する手順は、次のとおりです。 1. \[Configure Snippets (スニペットを制御)\] に移動します。 手順を表示 - デスクトップ IDE で、​**\[Code (コード)\]**​ > ​**\[Settings (設定)\]**​ > ​**\[Configure Snippets (スニペットを設定)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Preferences (プリファレンス)\]**​ > ​**\[Configure Snippets (スニペットを設定)\]**​ を選択する。 - いずれかの IDE で次の操作を実行する。 1. キーボードショートカットを使用してコマンドパレットを開く。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p 2. 次のコマンドを選択する。 ```command Snippets: Configure Snippets ``` 2. 開いた ​**\[Select Snippets File or Create Snippets (スニペットファイルを選択またはスニペットを作成)\]**​ 項目で、次を選択します。 ```command mule-xml.json (Mule XML) ``` 3. ファイルに設定が含まれていない場合、​`mule-xml.json`​ では、中括弧内にコメントが提供されます。 ```json { // Place your snippets for mule-xml here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the // same ids are connected. // Example: // "Print to console": { // "prefix": "log", // "body": [ // "console.log('$1');", // "$2" // ], // "description": "Log output to console" // } } ``` 4. ファイルにスニペットコードを追加します。 スニペットコードの例 ```json { "Mule Flow": { "prefix": "muledx:flow", "body": [ "", "", "" ] }, "HTTP Listener Config": { "prefix": "muledx:http-listener-config", "body": [ "", " ", "" ] }, "HTTP Listener": { "prefix": "muledx:http-listener", "body": [ "" ] }, "Set Payload": { "prefix": "muledx:set-payload", "body": [ "" ] }, "Set Variable": { "prefix": "muledx:set-variable", "body": [ "" ] }, "Logger": { "prefix": "muledx:logger", "body": [ "" ] }, "Database Config - MySQL": { "prefix": "muledx:db-config-mysql", "body": [ "", " ", "" ] }, "Database Select": { "prefix": "muledx:db-select", "body": [ "", " ", " ", " ", "" ] }, "Transform Message": { "prefix": "muledx:transform-message", "body": [ "", " ", " ", " ", " ", " ", "" ] } } ``` ## [](#autocomplete)オートコンプリートを使用してスニペットを設定 XML に挿入する スニペットを Mule アプリケーションの設定 XML に直接追加する手順は、次のとおりです。 1. 設定 XML ファイル内をクリックします。 2. \[Auto Complete (オートコンプリート)\] メニューを開きます。 手順を表示 - Mac: Ctrl+Space - Windows: Cmd+Space 3. フローまたはサブフローにスニペットを挿入します。 - 組み込みスニペットの場合、組み込みスニペットの名前を検索して選択します。次に例を示します。 ![Choice ルーターのオートコンプリートオプション](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-auto-complete-options.png) 組み込み Choice スニペット設定をこのコンポーネントの基本 XML 設定と比較します。 ```xml (1) (2) ```
1 組み込み Choice スニペットの XML はオートコンプリートリストの ​flow:choice​ です。このメニュー内のスニペットのアイコンは 1 次元ボックスです。
2 最小設定の Choice コンポーネントの XML。これは、キャンバスから ​[Core Processors (コアプロセッサー)]​ > ​[Flow Control (フロー制御)]​ > ​[Choice]​ に移動しても使用できます。 この XML のアイコンは 3 次元ボックスです。
  • ユーザースニペットの場合、(​mule-xml.json​ で設定されている) ユーザースニペットの名前を検索して選択します。次に例を示します。

    [Log a message (メッセージを記録)] ユーザースニペットのオートコンプリートオプション
# コアプロセッサー インテグレーションアプリケーションまたは API 実装でメッセージおよびイベント処理を設定します。コアプロセッサー (Mule コンポーネントとも呼ばれる) は、Mule Runtime Engine で実行されます。 - [Async ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-async) - [Cache スコープ ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-cache) - [Choice ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-choice) - [Custom Event ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-custom-event) - [Dynamic Evaluate ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-dynamic-evaluate) - [Error Handler ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-error-handler) On-Error Continue (​``​) および On-Error Propagate (​``​) を含む - [First Successful ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-first-successful) - [Flow ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-flow) - [Flow Reference ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-flow-ref) - [For Each ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-for-each) - [Idempotent Message Validator ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-idempotent-message-validator) - [Invalidate Cache ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-invalidate-cache) - [Invalidate Key ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-invalidate-key) - [Logger Component ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-logger) - [Parallel For Each ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-parallel-for-each) - [Parse Template ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-parse-template) - [Raise Error ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-raise-error) - [Remove Variable ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-remove-variable) - [Round Robin ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-round-robin) - [Scatter-Gather ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-scatter-gather) - [acb-component-scheduler.adoc](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-scheduler) - [Set Payload ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-set-payload) - [Set Variable ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-set-variable) - [Subflow ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-subflow) - [Transaction ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-transaction) - [acb-component-transform.adoc](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-transform) - [Try スコープ ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-try) - [Until Successful ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-until-successful) # コマンドパレットの使用 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder のコマンドパレットは、タスクを実行するためのすべてのコマンドのコントロールセンターです。これを開く方法を把握しておくことは生産性の観点で重要です。 1. 次のいずれかの方法でコマンドパレットを開きます。 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウドの IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択します。 ![\[View (表示)\] および \[Command Palette (コマンドパレット)\] オプションがメニュー選択肢のリストに表示されています。](_images/open-command-palette.png) 2. `「MuleSoft:」`​と入力し、使用可能なコマンドを参照します。 ![コマンドを入力するテキストボックス。最近使用したコマンドやその他のコマンドのリストが表示されます。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/all-mulesoft-commands.png) MuleSoft コマンドのリストについては、[コマンドリファレンス](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-acb-commands)を参照してください。 ## [](#関連情報)関連情報 - [Anypoint Code Builder UI についての詳細](#learn-ui-elements.adoc) - [デザインのカスタマイズ](#customize-look-and-feel.adoc) # コマンドリファレンス Anypoint Code Builder では、コマンドパレットを介して一連のコマンドを利用できます。 ## [](#mulesoft-コマンド)MuleSoft コマンド - API 仕様フラグメントを Exchange からプロジェクトディレクトリに追加して、そのフラグメントを仕様に含めることができるようにします。このコマンドを使用する手順については、​[「フラグメントを Exchange からプロジェクトに追加する」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-fragments#add-fragment-to-project)​を参照してください。 ```command MuleSoft: Add Fragment dependency from Exchange ``` - API 設計プロジェクトから API Console を開きます。[API 仕様の作成およびインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)を参照してください。 ```command MuleSoft: API Console ``` - API 設計プロジェクトの API Governance ルールセットのバージョンを変更します。プロジェクトのルールセットの中から選択し、バージョンを変更します。 ルールセットについては、see [ガバナンスルールセットに対する API 仕様の検証](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api)を参照してください。 ```command MuleSoft: Change Ruleset Version ``` - インテグレーションまたは実装を CloudHub にデプロイします。​[「CloudHub にアプリケーションをデプロイする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-deploy-mule-apps#deploy-an-app-to-cloudhub)​を参照してください。 ```command MuleSoft: Deploy to CloudHub ``` - API 設計プロジェクトを開始します。UI からプロジェクトを開始することもできます。[API 仕様の作成およびインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs)を参照してください。 ```command MuleSoft: Design an API ``` - インテグレーションプロジェクトを開始します。UI からインテグレーションプロジェクトを開始することもできます。[インテグレーションの作成](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)を参照してください。 ```command MuleSoft: Develop an Integration ``` - Anypoint Code Builder から、Mule Runtime Engine と Java のサポート対象バージョンをダウンロードします。[Mule、Java、コネクタのバージョン設定](https://docs.mulesoft.com/jp/anypoint-code-builder/int-versions)も参照してください。 ```command MuleSoft: Download Mule Runtime and Java Versions ``` - インテグレーションプロジェクトまたは実装プロジェクトが含まれる共有可能な JAR ファイルをエクスポートします。どちらの種別のプロジェクトも Mule アプリケーションです。​[「共有可能な JAR ファイルにエクスポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-export-mule-project#shareable)​を参照してください。 ```command MuleSoft: Export Mule Application Sources ``` - Mule プロジェクト、そのコンパイル済みコードおよびすべての連動関係をデプロイ可能な JAR ファイルにエクスポートします。​[「デプロイ可能な JAR ファイルにエクスポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-export-mule-project#deployable)​を参照してください。 ```command MuleSoft: Export Project to Mule Deployable Jar ``` - プロジェクトのワークスペースフォルダーおよびログと、環境変数、CPU、オペレーティングシステム、およびシステムプロパティに関する情報が含まれる圧縮ファイルをエクスポートします。​[「トラブルシューティング情報をエクスポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshooting#export-troubleshooting-info)​を参照してください。 ```command MuleSoft: Export Troubleshooting Information ``` - Anypoint Exchange からサポートされる API 仕様をインポートし、IDE の実装プロジェクトにスキャフォールディングします。​[「API をスキャフォールディングしてインテグレーションプロジェクトを作成する」](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-api-specs#scaffold-new-integration)​を参照してください。 ```command MuleSoft: Implement an API Specification ``` - IDE 内にある API 仕様プロジェクトを実装プロジェクトにスキャフォールディングします。​[「API 仕様を新しい実装プロジェクトにスキャフォールディングする」](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-local-apis)​を参照してください。 ```command MuleSoft: Implement this local API ``` - Mule プロジェクトの JAR ファイルをインポートし、展開したプロジェクトを IDE のワークスペースに読み込みます。Mule プロジェクトは、インテグレーションプロジェクトまたは実装プロジェクトになります。​[「共有可能なプロジェクト JAR ファイルをデスクトップ IDE にインポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project#desktop-project-package)​または​[「共有可能なプロジェクト JAR ファイルをクラウド IDE にインポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project#web-project-package)​を参照してください。 ```command MuleSoft: Import a Mule Project ``` - 設計プロジェクト、インテグレーションプロジェクト、または実装プロジェクトをインポートします。Anypoint Exchange の API 仕様またはフラグメント、あるいは IDE ディレクトリの実行可能な Mule アプリケーション (インテグレーションまたは実装) の JAR ファイルをインポートします。[IDE へのプロジェクトのインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project)を参照してください。 ```command MuleSoft: Import a Project ``` - MuleSoft VCS からいずれかのビジネスグループに関連付けられた API 仕様をインポートします。​[「MuleSoft VCS から API 仕様をインポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs#import-spec)​を参照してください。 ```command MuleSoft: Import API Specification from MuleSoft VCS ``` - Anypoint Exchange からコネクタ、REST または GraphQL、あるいは DataWeave ライブラリをインポートします。​[「Exchange からコネクタをインポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations#import-connectors-from-exchange)​、​[「API 仕様を既存の実装プロジェクトにインポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-api-specs#import-spec-into-project)​、および​[「DataWeave ライブラリをインポートする」](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions#import-a-dataweave-library)​を参照してください。 ```command MuleSoft: Import Asset from Exchange ``` - IDE から Anypoint Platform にログインします。​[「コマンドパレットを使用した IDE からのログイン」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#login-ide)​を参照してください。 ```command MuleSoft: Login to Anypoint Platform ``` - Anypoint Platform ホスト (EU または US) の設定が含まれる Anypoint Code Builder 設定の ​**\[Settings (設定)\]**​ ページを開きます。このコマンドを使用する例については、​[「デスクトップ IDE を EU クラウドまたは US クラウドに設定する」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#change-clouds)​を参照してください。 ```command MuleSoft: Open ACB Settings ``` - IDE から Anypoint Exchange に API 仕様またはフラグメントをパブリッシュします。​[「Exchange に API 仕様をパブリッシュする」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange##publish-spec)​を参照してください。 ```command MuleSoft: Publish API Specification to Exchange ``` - API 設計プロジェクトから削除するルールセットを選択します。 ルールセットについては、see [ガバナンスルールセットに対する API 仕様の検証](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api)を参照してください。 ```command MuleSoft: Remove Governance Ruleset... ``` - IDE から実装プロジェクト内のインターフェースに API 設計プロジェクトをスキャフォールディングし、​_設計_​プロジェクトに対して後続の変更を行ったら、設計プロジェクトから次のコマンドを使用して、変更をインターフェースに再スキャフォールディングします。​[「API を再スキャフォールディングする」](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-local-apis#rescaffold-api-spec)​を参照してください。 ```command MuleSoft: Re-scaffold this local API ``` - 設計プロジェクトに追加されるすべてのルールセットのルールに対して API 仕様を検証します。 ルールセットについては、see [ガバナンスルールセットに対する API 仕様の検証](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api)を参照してください。 ```command MuleSoft: Run Governance Validation with all Rulesets and Rules ``` - Anypoint Exchange でアセットをその名前で検索します。 ```command MuleSoft: Search in exchange ``` - 開いている API 設計プロジェクトから \[Governance Rulesets (ガバナンスルールセット)\] パネルを展開します。 ルールセットについては、see [ガバナンスルールセットに対する API 仕様の検証](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api)を参照してください。 ```command MuleSoft: Show API Governance ``` - Anypoint Code Builder の ​**\[Welcome (ようこそ)\]**​ タブを開きます。タブの例については、[UI の確認](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui)を参照してください。 ```command MuleSoft: Show Welcome ``` ## [](#その他のコマンド)その他のコマンド 他にも次のような役立つコマンドがあります。 - コマンドパレットからプロジェクトフォルダーを開きます。このコマンドを使用する例については、[ホームディレクトリへのフォルダーの追加](https://docs.mulesoft.com/jp/anypoint-code-builder/start-add-folders)を参照してください。 ```command File: Open Folder ``` - IDE から \[Anypoint Code Builder\] パネルを開きます。このパネルには、​**\[Quick Actions (クイックアクション)\]**​、​**\[Documentation (ドキュメント)\]**​、およびその他の項目へのリンクがあります。パネルの例については、[UI の確認](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui)を参照してください。 ```command View: Show Anypoint Code Builder ``` # コンポーネントの設定 ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 キャンバスまたは設定 XML から、実装およびインテグレーションプロジェクト内のコネクタとプロセッサーを設定します。 一般的なタスクとして次のようなものがあります。 - [コードスニペットを操作する](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets) - [プロジェクトにコンポーネントを追加する](#add-components) - [式を設定する](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions) - [接続設定をテストする](#check-connection) - [Exchange からコネクタをインポートする](#import-connectors-from-exchange) - [XML エディターのキャンバスでコンポーネントを開く](#open-component-from-xml) ## [](#始める前に)始める前に - 使用するコネクタ、プロセッサー、スニペットを決定します。 コンポーネントを追加するときに、​[コードスニペット](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets)​、キャンバス、またはアプリケーションの設定 XML から開始できます。 コンポーネントは、キャンバス内の設定パネルまたは XML から設定できます。 特定のコネクタおよびコンポーネント設定に関するリファレンスドキュメントについては、[参照](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference)を参照してください。 - [基本の理解](https://docs.mulesoft.com/jp/anypoint-code-builder/#get-familiar-with-the-basics)​を参照して、重要な概念と機能をよく理解します。 Mule フローの基礎、ペイロードを含む Mule イベント構造、属性、および Mule 変数を理解します。データを変換し、式をコンポーネントに追加するには、DataWeave 言語に精通します。 ## [](#add-components)プロジェクトにコンポーネントを追加する 次の例は、キャンバスからプロジェクトにコンポーネントを追加するための基本設定と設定 XML を示しています。この例は、空のインテグレーションプロジェクトから始めることを前提としています。 1. Explorer でプロジェクトの設定 XML ファイルを開きます。 (​`my-project-name.xml`​ など)。 ![Mule フローと Mule 設定ファイルを視覚的に表現しているキャンバス](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-empty-canvas.png)
1キャンバスでは、Mule フローまたはサブフローを視覚的に表現する領域が提供されます。
2設定 XML エディターには、Mule アプリケーションの設定ファイルが表示されます。
2. キャンバスで ​**\[Build a Flow (フローをビルド)\]**​ を選択して、Mule インテグレーションアプリケーション内で空のフローを作成します。 3. キャンバスまたは設定 XML からフローのデフォルト名を変更します。 - キャンバスから - 設定 XML から **\[Flow name1\]**​ をクリックして Flow コンポーネントの設定パネルを開き、フロー名を変更し、チェックマークをクリックして新しい名前を設定します。 ![キャンバスからフローの名前を変更。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-flow-name-ui.png) フローのデフォルト名 (​`name1`​) を ​`getFlights`​ などのフロー名に置き換えます。次に例を示します。 ```xml ``` 4. キャンバスからプロジェクトにコンポーネントを追加します。 たとえば、HTTP Listener コンポーネントを追加します。 1. キャンバスで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 2. **\[Add Component (コンポーネントを追加)\]**​ パネルで、​**\[HTTP\]**​ の検索結果から ​**\[Listener\]**​ を選択します。 ![\[Add Component (コンポーネントを追加)\] セクション内で強調表示されている Listener コンポーネント](_images/main-tutorial-add-first-listener.png) 設定 XML ファイルで、HTTP Listener の XML が ​``​ 要素内に含まれるようになりました。次に例を示します。 ```XML ``` 5. 別のコンポーネントを追加します。今回は XML 設定メニューを使用します。 たとえば、スニペットから ​``​ コンポーネントを追加します。 スニペットについての詳細は、[コードスニペットの操作](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets)を参照してください。 1. 設定 XML で、​``​ 開始タグの前にカーソルを置いて​`「http」`​と入力します。 カーソルが ​``​ 要素の内側にないことを確認します。 2. `「http」`​と入力し、​`http:listener-config`​ スニペットを選択します。 ![設定 XML メニューで強調表示されている http:listener-config スニペット](/mulesoft/current/ja-jp/anypoint-code-builder/_images/add-http-config-snippet.png) このスニペットでは次のコードが追加されます。 ```xml ``` 3. キャンバス内の Listener コンポーネントにエラーが表示されています。 ![キャンバス内の Listener エラー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-canvas-error.png) 4. エラーの場所を特定するには、キャンバス内でプロセッサーを選択します。 Anypoint Code Builder では、設定 XML 内でその場所が強調表示され、問題にマウスポインターを置くと詳細が表示されます。次に例を示します。 ![設定パネルから設定参照を選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-select-listener-config.png) 5. エラーを修正するには、​`http:listener-config`​ の ​`name`​ 属性の値を、​`http:listener`​ 設定の ​`config-ref`​ 値の名前と一致するように変更します。 ```xml ``` これで、フロー内の HTTP Listener は、フローの外部にあるグローバル接続設定である HTTP Listener 設定を参照するようになります。デバッグについての詳細は、[anypoint-code-builder::debugging-mule-apps.adoc](#anypoint-code-builder::debugging-mule-apps.adoc)を参照してください。 6. 別のコンポーネントをフローに追加します。 たとえば、Set Payload コンポーネントを HTTP Listener 操作に追加します。 1. キャンバスで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 2. **\[Add Component (コンポーネントを追加)\]**​ パネルで、​**\[Transformer\]**​ の検索結果から ​**\[Set payload\]**​ を選択します。 3. キャンバスで、​**\[Set payload\]**​ をクリックして設定パネルを開き、文字列値、DataWeave 式、Mule 変数、または設定プロパティを追加します。 - 文字列を追加するには、​`「my value」`​などの値を入力します。次に例を示します。 ![Set Payload への文字列の追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-set-payload-config-string.png) - DataWeave 式または Mule 変数を ​`payload`​ などの値として追加するには、(項目の前にある) ​**\[fx\]**​ をクリックし、値を指定します。次に例を示します。 ![Set Payload への式の追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-set-payload-config-fx.png) DataWeave 式の設定についての詳細は、[Anypoint Code Builder での DataWeave 式と変換の使用](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions)を参照してください。 - 設定プロパティを値として追加するには、​`${secure::mysensitiveprop}`​ などの値を入力します。次に例を示します。 ![Set Payload への設定プロパティの追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-set-payload-config-property.png) 設定プロパティについての詳細は、[Mule アプリケーションのプロパティの定義および保護](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-secure-configs)を参照してください。 設定 XML ファイルは、次のようになります。 ```xml ``` ## [](#コンポーネントを無効にする)コンポーネントを無効にする キャンバスから直接コンポーネントを無効にすることで、コンポーネントを削除せずにフローから一時的に削除できます。このアクションは、XML エディターでコードをコメントアウトするのと同じです。 コンポーネントを無効化する手順は、次のとおりです。 1. キャンバス内のコンポーネントを右クリックします。 2. **\[Disable Component (コンポーネントを無効化)\]**​ を選択します。 無効なコンポーネントは、破線のアウトラインと無効なアイコンと共に表示されます。XML エディターでは、コンポーネントは XML コメント ( # ソースファイルの制御 ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 ソース制御管理 (SCM) を使用して、設計、インテグレーション、実装プロジェクトを保存および共有します。 便利な SCM では、プロジェクトの品質を確保するための各ファイルの変更履歴と分岐手法、完全なトレーサビリティ、ファイルの以前のバージョンを復元する機能、Anypoint Code Builder 環境が失われたり削除されたりしたときにソースコードを復元する方法が提供されます。 GitHub および Git コマンドラインインターフェース (CLI) は、業界で広く使用されており、デスクトップ IDE やクラウド IDE の VS Code で標準 (最小限の設定) でサポートされています。このページの手順では、ソース制御のための GitHub のセットアップおよび使用方法について説明します。他の SCM システムの VS Code 拡張機能もセットアップおよび使用できます。詳細は、 [「SCM Providers (SCM プロバイダー)」](https://code.visualstudio.com/docs/sourcecontrol/overview#_scm-providers)​を参照してください。 詳細は、VS Code ドキュメントの [「Using Git source control in VS Code (VS Code での Git ソース制御の使用)」](https://code.visualstudio.com/docs/sourcecontrol/overview)​を参照してください。Git についての詳細は、 [Git ドキュメント](https://git-scm.com/book)​を参照してください。 ## [](#prereqs)始める前に 前提条件が準備されていることを確認します。 - GitHub アカウント アカウントがない場合は、GitHub サイトの [\[Join GitHub (GitHub に参加)](https://github.com/join)^\]​ ページから作成します。 - コンピューターへの Git のインストール Git がコンピューターにインストールされていない場合、各自のマシンに対応する [Git インストール手順](https://github.com/git-guides/install-git)​を実行します。 - デスクトップ IDE またはクラウド IDE から Anypoint Code Builder へのアクセス セットアップおよびインストールについては、see [Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)を参照してください。すべての前提条件を満たす必要があります。 - GitHub ユーザー名とメール設定 (​[Git ユーザー名とパスワードを設定する](#config-git)​を参照) ### [](#config-git)Git ユーザー名とパスワードを設定する ユーザー名とメールのプロパティを確認して設定し、GitHub のリモート Git リポジトリからプロジェクトファイルを追加、更新、取得できるようにします。 1. [始める前に](#prereqs)​の前提条件を満たします。 2. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 3. Anypoint Code Builder ターミナルから、次のコマンドを実行して、既存の Git 設定を確認します。 ```command git config --list ``` - GitHub ​`user.name`​ および ​`user.email`​ がリストされていない場合や、データが返されない場合、これらのプロパティを設定します。 1. `YourUserName`​ を各自の GitHub ユーザー名に置き換えて、次のコマンドを実行し、​`user.name`​ を設定します。 ```command git config –-global user.name "YourUserName" ``` 2. `your@email.com`​ を各自の GitHub メールアドレスに置き換えて、次のコマンドを実行し、​`user.email`​ を設定します。 ```command git config –-global user.email "your@email.com" ``` GitHub アカウントで 2 要素認証が有効になっている場合、パスワードを求められたら、GitHub ログインパスワードの代わりに個人アクセストークンを入力します。詳細は、GitHub ドキュメント [「2FA を使用して GitHub にアクセスする」](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication)​を参照してください。 - GitHub ​`user.name`​ および ​`user.email`​ がリストされている場合、Git を使用して IDE からプロジェクトファイルを制御する準備ができています。VS Code の一般的なソース制御タスクに関する指針は、以下を参照してください。 - [IDE からリポジトリをセットアップする](#set-up-repo) - [プロジェクトの変更をリポジトリと同期する](#sync-changes) ## [](#set-up-repo)IDE からリポジトリをセットアップする IDE から設計プロジェクト、インテグレーションプロジェクト、または実装プロジェクトのリポジトリをセットアップします。IDE から、使用する SCM のリポジトリと同期するプロジェクトがすでにセットアップされている場合、追加のセットアップは必要ありません。追加のセットアップなしに変更を同期できます。例については、​[プロジェクトの変更をリポジトリと同期する](#sync-changes)​を参照してください。 IDE からプロジェクトのリモート GitHub リポジトリをセットアップする場合の一般的なシナリオは次のとおりです。 - [GitHub のリポジトリを生成してそのリポジトリにパブリッシュする](#create-repo) Anypoint Code Builder のプロジェクトはあるが、そのプロジェクトのリポジトリがない場合、IDE を使用して GitHub にリポジトリを生成し、プロジェクトファイルをそのリモートリポジトリにパブリッシュできます。このプロセスでは、暗黙的に IDE のローカルリポジトリの初期化も行われます。 - [プロジェクトファイルを初期化して、ローカルリポジトリにコミットする](#initialize-repo) ファイルを GitHub のリモートリポジトリにパブリッシュして同期するには、プロジェクトファイルを初期化して IDE のローカルリポジトリにコミットすることが前提条件となります。 - [プロジェクトファイルを GitHub の空のリポジトリにパブリッシュする](#publish-to-empty) GitHub に空のリポジトリがある場合、IDE からそのリポジトリにプロジェクトファイルをパブリッシュできます。 - [プロジェクトファイルを別のリポジトリにパブリッシュする](#add-extra-repo) リモートリポジトリと同期するようにプロジェクトがすでに設定されている場合、プロジェクトファイルを別のリポジトリにパブリッシュするように IDE を設定できます。 この機能は、MuleSoft VCS からインポートした API 仕様プロジェクト用の独自のリポジトリを使用する場合や、2024 年 2 月リリースの前に IDE から設計プロジェクトを作成した場合などに便利です。どちらのタイプのプロジェクトでも、リモート Git リポジトリへの接続が自動的に MuleSoft VCS に追加されます。 - [プロジェクトリポジトリを IDE にコピーする](#clone-repo) 設計プロジェクト、実装プロジェクト、インテグレーションプロジェクトがすでに GitHub のリポジトリに保存されている場合、それをクラウド IDE またはデスクトップ IDE にコピーできます。 ### [](#create-repo)GitHub のリポジトリを生成してそのリポジトリにパブリッシュする Anypoint Code Builder のプロジェクトはあるが、そのプロジェクトのリポジトリがない場合、IDE を使用して GitHub にリポジトリを生成し、プロジェクトファイルをそのリモートリポジトリにパブリッシュできます。このプロセスでは、暗黙的に IDE のローカルリポジトリの初期化も行われます。 Anypoint Code Builder のプロジェクトで使用する空のリポジトリがすでに GitHub にある場合は、​[プロジェクトファイルを GitHub の空のリポジトリにパブリッシュする](#publish-to-empty)​を参照して、IDE からそのリポジトリを追加およびパブリッシュします。 1. [始める前に](#prereqs)​の前提条件を満たします。 2. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトを開きます。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder... ``` 3. プロジェクトの​_ルート_​フォルダーに移動して選択します。次に例を示します。 - インテグレーションまたは実装例 - 設計プロジェクトの例 Anypoint Code Builder のインテグレーションまたは実装プロジェクトのルートフォルダーとサブディレクトリの例: ![インテグレーションまたは実装プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root.png) VS Code はルートをワークスペースとして扱うため、IDE でキャンバスを適切に読み込めます。 Anypoint Code Builder の API 設計プロジェクトのルートディレクトリの例: ![設計プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root-design.png) プロジェクトのルートは、プロジェクトの作成時に Anypoint Code Builder によって生成される最上位のフォルダーです。プロジェクトルートの親または上位ディレクトリに移動したり、いずれかの子または下位ディレクトリに移動したりしないでください。 3. \[Source Control (ソース制御)\] パネルを開きます。 手順を表示 アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-source-control-no-edits.png)​ (​**Source Control (ソース制御)**​) アイコンをクリックするか、キーボードショートカットを使用する。 - Mac: Ctrl+Shift+g - Windows: Cmd+Shift+g 4. \[Source Control (ソース制御)\] パネルで、​**\[Publish to GitHub (GitHub にパブリッシュ)\]**​ をクリックします。 ![IDE から GitHub へのリポジトリのパブリッシュ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo.png) プロジェクトにリポジトリが関連付けられていない場合、IDE では IDE の​_ローカル_​リポジトリを初期化 (​**\[Initialize Repository (リポジトリを初期化)\]**​) するか、プロジェクトを GitHub の新しいリモートリポジトリに直接パブリッシュ (​**\[Publish to GitHub (GitHub にパブリッシュ)\]**​) できます。GitHub にパブリッシュする場合、暗黙的にプロジェクトのローカルリポジトリの初期化も行われます。 5. 開いた項目でリポジトリの名前を指定するか、表示されるデフォルトの名前を使用します。 ![新しいリポジトリの名前](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-name.png) デフォルトのリポジトリ名はプロジェクト名です。 6. リポジトリ種別 (非公開または公開) を選択します。 リポジトリのデータを保護するには、非公開リポジトリを選択します (​**\[Publish to GitHub private repo (GitHub 非公開リポジトリをパブリッシュ)\]**​)。このプロセスでは、プロジェクトファイルが新しいリポジトリにコミットされてパブリッシュされます。 7. リポジトリにパブリッシュするファイルを選択するように促されたら、選択します。 設計プロジェクトのすべてまたは一部のファイルを選択できます。次に例を示します。 ![新しいリポジトリに追加するファイルの選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-select-files.png) 8. GitHub リポジトリのプロジェクトファイルを表示するには、ポップアップで ​**\[Open on GitHub (GitHub で開く)\]**​ をクリックします。 ![GitHub のリポジトリを開く](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-open-in-github.png) または、ブラウザーから GitHub を開き、新しいリポジトリを見つけます。 プロジェクトファイルへの変更をリポジトリと同期するには、​[プロジェクトの変更をリポジトリと同期する](#sync-changes)​を参照してください。 ### [](#initialize-repo)プロジェクトファイルを初期化して、ローカルリポジトリにコミットする ファイルを GitHub のリモートリポジトリにパブリッシュして同期するには、プロジェクトファイルを初期化して IDE のローカルリポジトリにコミットすることが前提条件となります。 1. [始める前に](#prereqs)​の前提条件を満たします。 2. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトを開きます。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder... ``` 3. プロジェクトの​_ルート_​フォルダーに移動して選択します。次に例を示します。 - インテグレーションまたは実装例 - 設計プロジェクトの例 Anypoint Code Builder のインテグレーションまたは実装プロジェクトのルートフォルダーとサブディレクトリの例: ![インテグレーションまたは実装プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root.png) VS Code はルートをワークスペースとして扱うため、IDE でキャンバスを適切に読み込めます。 Anypoint Code Builder の API 設計プロジェクトのルートディレクトリの例: ![設計プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root-design.png) プロジェクトのルートは、プロジェクトの作成時に Anypoint Code Builder によって生成される最上位のフォルダーです。プロジェクトルートの親または上位ディレクトリに移動したり、いずれかの子または下位ディレクトリに移動したりしないでください。 3. \[Source Control (ソース制御)\] パネルを開きます。 手順を表示 アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-source-control-no-edits.png)​ (​**Source Control (ソース制御)**​) アイコンをクリックするか、キーボードショートカットを使用する。 - Mac: Ctrl+Shift+g - Windows: Cmd+Shift+g 4. プロジェクトの \[Source Control (ソース制御)\] パネルから、プロジェクトファイルを初期化して IDE のプロジェクトのローカルリポジトリにコミットします。 1. \[Source Control (ソース制御)\] パネルで、​**\[Initialize Repository (リポジトリを初期化)\]**​ をクリックして、プロジェクトのローカルリポジトリを生成します。 ![プロジェクトのローカルリポジトリの初期化](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-initialize.png) プロジェクトにリポジトリが関連付けられていない場合、IDE ではプロジェクトの​_ローカル_​リポジトリを初期化 (​**\[Initialize Repository (リポジトリを初期化)\]**​) するか、プロジェクトを GitHub の新しいリモートリポジトリに直接パブリッシュ (​**\[Publish to GitHub (GitHub にパブリッシュ)\]**​) できます。 2. (​**\[Commit (コミット)\]**​ ボタンの後にある) ​**\[Changes (変更)\]**​ 領域の上にマウスポインターを置き、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-scm-add-changes.png)​ (プラス) アイコンをクリックして、ファイルをローカルリポジトリにステージングします。 ![ステージング済みの変更のコミットメッセージの追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-stage-changes.png) または、そのファイルのプラスアイコンをクリックして、1 つのファイルをステージングすることもできます。 ステージングされたファイルは、\[Source Control (ソース制御)\] パネルの ​**\[Changes (変更)\]**​ 領域から ​**\[Staged Changes (ステージング済みの変更)\]**​ 領域に移動します。この UI では、​`git add`​ コマンドを使用して、変更を作業ディレクトリからローカル Git リポジトリのステージング領域に追加します。 3. ファイルのコミットメッセージを入力し、​**\[Commit (コミット)\]**​ をクリックします。次に例を示します。 ![ステージング済みの変更のコミットメッセージ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-commit-staged.png) 5. ファイルをリモートリポジトリにパブリッシュする手順は、次のとおりです。 - [プロジェクトファイルを GitHub の空のリポジトリにパブリッシュする](#publish-to-empty) GitHub に空のリポジトリがある場合、IDE からそのリポジトリにプロジェクトファイルをパブリッシュできます。 - [プロジェクトファイルを別のリポジトリにパブリッシュする](#add-extra-repo) リモートリポジトリと同期するようにプロジェクトがすでに設定されている場合、プロジェクトファイルを別のリポジトリにパブリッシュするように IDE を設定できます。 ### [](#publish-to-empty)プロジェクトファイルを GitHub の空のリポジトリにパブリッシュする GitHub に空のリポジトリがある場合、IDE からそのリポジトリにプロジェクトファイルをパブリッシュできます。 この手順では、プロジェクトファイルをリポジトリにステージングしてパブリッシュする準備ができていることを前提としています。 1. [始める前に](#prereqs)​の前提条件を満たします。 2. IDE のプロジェクトのローカルリポジトリを初期化していない場合は、​[プロジェクトファイルを初期化して、ローカルリポジトリにコミットする](#initialize-repo)​を参照してください。 3. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 4. IDE のプロジェクトから GitHub の空のリモートリポジトリへの接続を設定します。 1. 次のコマンドを入力して、GitHub のリモートリポジトリを追加します。 ```command Git: Add Remote... ``` 2. ポップアップメニューから ​**\[Add Remote from GitHub (GitHub のリモートを追加)\]**​ を選択します。 ![GitHub のリモートリポジトリの追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-oas-add-remote.png) 3. Git リポジトリへの URL を指定します。次に例を示します。 ![GitHub のリモートリポジトリ URL の追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-add-remote-uri.png) 4. IDE のリモートの名前を付けます。次に例を示します。 my-acb-project-repo IDE のリポジトリ名と GitHub のリポジトリ名は一致していても、一致していなくても問題ありません。 5. **\[Publish Branch (分岐をパブリッシュ)\]**​ をクリックします。 ![GitHub のリポジトリの分岐ファイルのパブリッシュ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-publish-branch.png) 6. GitHub のリポジトリを開き、パブリッシュされたファイルを確認します。次に例を示します。 ![GitHub のリポジトリのプロジェクトファイル](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-github.png) プロジェクトファイルへの変更をリポジトリと同期するには、​[プロジェクトの変更をリポジトリと同期する](#sync-changes)​を参照してください。 ### [](#add-extra-repo)プロジェクトファイルを別のリポジトリにパブリッシュする リモートリポジトリと同期するようにプロジェクトがすでに設定されている場合、プロジェクトファイルを別のリポジトリにパブリッシュするように IDE を設定できます。 この機能は、MuleSoft VCS からインポートした API 仕様プロジェクト用の独自のリポジトリを使用する場合や、2024 年 2 月リリースの前に IDE から設計プロジェクトを作成した場合などに便利です。どちらのタイプのプロジェクトでも、リモート Git リポジトリへの接続が自動的に MuleSoft VCS に追加されます。 詳細は、​[「API 設計プロジェクトのソース制御」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-designing-api-specs#anypoint-scm)​を参照してください。 プロジェクトがすでにリモートリポジトリに接続されているかどうかが不明な場合は、​[リモートリポジトリ URL を確認する](#check-remote)​を参照してください。 この例では、GitHub に空のリポジトリがあることを前提としています。空のリポジトリがない場合は、GitHub から作成できます。案内については、GitHub ドキュメントの [「リポジトリのクイックスタート」](https://docs.github.com/en/repositories/creating-and-managing-repositories/quickstart-for-repositories)​を参照してください。 1. [始める前に](#prereqs)​の前提条件を満たします。 2. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトを開きます。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder... ``` 3. プロジェクトの​_ルート_​フォルダーに移動して選択します。次に例を示します。 - インテグレーションまたは実装例 - 設計プロジェクトの例 Anypoint Code Builder のインテグレーションまたは実装プロジェクトのルートフォルダーとサブディレクトリの例: ![インテグレーションまたは実装プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root.png) VS Code はルートをワークスペースとして扱うため、IDE でキャンバスを適切に読み込めます。 Anypoint Code Builder の API 設計プロジェクトのルートディレクトリの例: ![設計プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root-design.png) プロジェクトのルートは、プロジェクトの作成時に Anypoint Code Builder によって生成される最上位のフォルダーです。プロジェクトルートの親または上位ディレクトリに移動したり、いずれかの子または下位ディレクトリに移動したりしないでください。 3. \[Source Control (ソース制御)\] パネルを開きます。 手順を表示 アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-source-control.png)​ (​**Source Control (ソース制御)**​) アイコンをクリックするか、キーボードショートカットを使用する。 - Mac: Ctrl+Shift+g - Windows: Cmd+Shift+g 1. \[Source Control (ソース制御)\] パネルの ​**\[Source Control Repositories (ソース制御リポジトリ)\]**​ 領域にリポジトリがあります。次に例を示します。 ![MuleSoft VCS を使用したプロジェクトソース制御](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-oas-anypoint.png) 4. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 5. IDE のプロジェクトから GitHub のリポジトリへの接続を設定します。 1. 次のコマンドを入力して、GitHub のリモートリポジトリを追加します。 ```command Git: Add Remote... ``` 2. ポップアップメニューから ​**\[Add Remote from GitHub (GitHub のリモートを追加)\]**​ を選択します。 ![GitHub のリモートリポジトリの追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-oas-add-remote.png) 3. Git リポジトリへの URL を指定します。次に例を示します。 https://github.com/me/my-extra-repo.git 4. IDE のリモートの名前を付けます。次に例を示します。 my-extra-repo IDE のこのリポジトリ名と GitHub のリポジトリ名は一致していても、一致していなくても問題ありません。 6. プロジェクトを追加のリモートリポジトリにパブリッシュします。 1. コマンドパレットで、次のコマンドを入力します。 ```command Git: Push to... ``` 2. ポップアップメニューから ​**\[Git: Push to…​ (Git: …​ にプッシュ)\]**​ を選択します。 ![\[Push to…​ from the IDE (IDE から …​ にプッシュ)\] の選択](_images/start-scm-oas-push-to.png) 3. 追加したリモートリポジトリを選択します。次に例を示します。 ![追加のリモートリポジトリの選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-oas-publish-to-private-repo.png) 7. GitHub のリポジトリのプロジェクトソースファイルを確認します。次に例を示します。 ![追加のリモートリポジトリのプロジェクトファイルの表示](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-oas-in-github.png) これで、IDE のこのプロジェクトリポジトリをコピーし、IDE の UI から簡単に変更してその変更を同期できます。​[プロジェクトリポジトリを IDE にコピーする](#clone-repo)​を参照してください。 ## [](#sync-changes)プロジェクトの変更をリポジトリと同期する プロジェクトが GitHub のリモートリポジトリに接続されてパブリッシュされると、IDE を使用して変更をそのリポジトリと同期できます。リポジトリがまだセットアップされていない場合は、​[IDE からリポジトリをセットアップする](#set-up-repo)​を参照してください。 IDE の UI や、その組み込みターミナルを使用して、変更を同期します。 - [\[Source Control (ソース制御)\] パネルから変更を同期する](#sync-from-ui) - [コマンドターミナルから変更を同期する](#sync-from-terminal) ### [](#sync-from-ui)\[Source Control (ソース制御)\] パネルから変更を同期する IDE のプロジェクトの \[Source Control (ソース制御)\] パネルからファイルへの変更を同期する手順は、次のとおりです。 1. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトを開きます。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder... ``` 3. プロジェクトの​_ルート_​フォルダーに移動して選択します。次に例を示します。 - インテグレーションまたは実装例 - 設計プロジェクトの例 Anypoint Code Builder のインテグレーションまたは実装プロジェクトのルートフォルダーとサブディレクトリの例: ![インテグレーションまたは実装プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root.png) VS Code はルートをワークスペースとして扱うため、IDE でキャンバスを適切に読み込めます。 Anypoint Code Builder の API 設計プロジェクトのルートディレクトリの例: ![設計プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root-design.png) プロジェクトのルートは、プロジェクトの作成時に Anypoint Code Builder によって生成される最上位のフォルダーです。プロジェクトルートの親または上位ディレクトリに移動したり、いずれかの子または下位ディレクトリに移動したりしないでください。 2. \[Source Control (ソース制御)\] パネルを開きます。 手順を表示 アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-source-control.png)​ (​**Source Control (ソース制御)**​) アイコンをクリックするか、キーボードショートカットを使用する。 - Mac: Ctrl+Shift+g - Windows: Cmd+Shift+g 3. \[Source Control (ソース制御)\] パネルで、次の操作を行います。 1. (​**\[Commit (コミット)\]**​ ボタンの後にある) ​**\[Changes (変更)\]**​ 領域の上にマウスポインターを置き、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-scm-add-changes.png)​ (プラス) アイコンをクリックして、ファイルをローカルリポジトリにステージングします。 ![ステージング済みの変更のコミットメッセージの追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-stage-changes.png) または、そのファイルのプラスアイコンをクリックして、1 つのファイルをステージングすることもできます。 ステージングされたファイルは、\[Source Control (ソース制御)\] パネルの ​**\[Changes (変更)\]**​ 領域から ​**\[Staged Changes (ステージング済みの変更)\]**​ 領域に移動します。この UI では、​`git add`​ コマンドを使用して、変更を作業ディレクトリからローカル Git リポジトリのステージング領域に追加します。 2. ファイルのコミットメッセージを入力し、​**\[Commit (コミット)\]**​ をクリックします。次に例を示します。 ![ステージング済みの変更のコミットメッセージ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-scm-repo-commit-staged.png) 3. **\[Sync Changes (変更を同期)\]**​ をクリックして、変更を GitHub のリモートリポジトリにプッシュします。 4. GitHub のプロジェクトを開き、同期された変更を確認します。 ### [](#sync-from-terminal)コマンドターミナルから変更を同期する IDE のプロジェクトのコマンドターミナルからファイルへの変更を同期する手順は、次のとおりです。 1. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトを開きます。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder... ``` 3. プロジェクトの​_ルート_​フォルダーに移動して選択します。次に例を示します。 - インテグレーションまたは実装例 - 設計プロジェクトの例 Anypoint Code Builder のインテグレーションまたは実装プロジェクトのルートフォルダーとサブディレクトリの例: ![インテグレーションまたは実装プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root.png) VS Code はルートをワークスペースとして扱うため、IDE でキャンバスを適切に読み込めます。 Anypoint Code Builder の API 設計プロジェクトのルートディレクトリの例: ![設計プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root-design.png) プロジェクトのルートは、プロジェクトの作成時に Anypoint Code Builder によって生成される最上位のフォルダーです。プロジェクトルートの親または上位ディレクトリに移動したり、いずれかの子または下位ディレクトリに移動したりしないでください。 2. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 3. プロンプトで Git コマンドを実行して新しいファイルをリポジトリに追加し、変更を GitHub のリモートリポジトリにステージング、コミット、プッシュします。 次の例では、変更の状況を確認する ​`git status`​、すべての変更されたファイルをコミットしてコミットメッセージを追加する ​`git commit`​、変更をリモートリポジトリのファイルにマージする ​`git push`​ を使用しています。 $ git status On branch main Your branch is up to date with '011124-test-api-remote/main'. Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: 011124-test-api.raml no changes added to commit (use "git add" and/or "git commit -a") $ git commit -am 'my commit message' \[main bccc296\] another commit 1 file changed, 1 deletion(-) $ git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 8 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 944 bytes | 944.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (2/2), completed with 2 local objects. To https://github.com/me/my-repo.git e4156cc..bccc296 main -> main 一般的な Git コマンドについては、GitHub ドキュメントの [「About Git (Git について)」](https://docs.github.com/en/get-started/using-git/about-git)​を参照してください。すべてのコマンドについては、 [「Git command reference (Git コマンドリファレンス)」](https://git-scm.com/docs)​を参照してください。 ## [](#clone-repo)プロジェクトリポジトリを IDE にコピーする 設計プロジェクト、実装プロジェクト、インテグレーションプロジェクトがすでに GitHub のリポジトリに保存されている場合、あなたとあなたのチームメンバーはそれを Anypoint Code Builder のデスクトップ IDE またはクラウド IDE にコピーできます。コピーは、プロジェクトを別の IDE と共有したり、IDE からソースを編集して変更を同期できるようにしたり、削除するプロジェクトのバックアップを取得したりする場合に便利です。たとえば、あなたとあなたのチームがアクセスできるリポジトリにプロジェクトが保存されていると、デスクトップ IDE およびクラウド IDE で同じプロジェクトの作業を行うことができます。 1. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 2. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 3. リポジトリをプロジェクトの \[Source Control (ソース制御)\] パネルにコピーします。 1. 次のコマンドを入力して、GitHub のリモートリポジトリを追加します。 ```command Git: Clone ``` 2. GitHub のリポジトリへの URL を入力します。次に例を示します。 ```command https://github.com/_owner_/_yourrepo_.git ``` この例の URL を GitHub のリポジトリへの URL に置き換えます。オーナーとリポジトリ URL は、GitHub サイトで一意である必要があります。 3. 新しいリポジトリのディレクトリに移動し、​**\[Select as repo Destination (リポジトリの宛先として選択)\]**​ をクリックします。 4. **「Would you like to open the cloned repository? (コピーしたリポジトリを開きますか?)」**​と要求されたら、​**\[Open (開く)\]**​ をクリックしてプロジェクトを開きます。 コピーしたインテグレーションプロジェクトまたは実装プロジェクトの場合、​`[src]`​→ ​`[main (メイン)]`​ → ​`[mule]`​ に移動して設定 XML ファイルを見つけます。 プロジェクトファイルへの変更をリポジトリと同期するには、​[プロジェクトの変更をリポジトリと同期する](#sync-changes)​を参照してください。 ## [](#check-remote)リモートリポジトリ URL を確認する IDE にプロジェクトのリモート GitHub リポジトリが設定されているかどうかを判断するには、リポジトリへの URL を確認します。 1. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトを開きます。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder... ``` 3. プロジェクトの​_ルート_​フォルダーに移動して選択します。次に例を示します。 - インテグレーションまたは実装例 - 設計プロジェクトの例 Anypoint Code Builder のインテグレーションまたは実装プロジェクトのルートフォルダーとサブディレクトリの例: ![インテグレーションまたは実装プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root.png) VS Code はルートをワークスペースとして扱うため、IDE でキャンバスを適切に読み込めます。 Anypoint Code Builder の API 設計プロジェクトのルートディレクトリの例: ![設計プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root-design.png) プロジェクトのルートは、プロジェクトの作成時に Anypoint Code Builder によって生成される最上位のフォルダーです。プロジェクトルートの親または上位ディレクトリに移動したり、いずれかの子または下位ディレクトリに移動したりしないでください。 2. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 3. 次のコマンドを入力します。 ```command git remote -v ``` - プロジェクトに 1 つ以上のリモートリポジトリ設定がある場合、コマンドで各リモートの URL と ​`push`​ および ​`fetch`​ 情報が返されます。次に例を示します。 $ git remote -v origin https://github.com/me/my-project-repo.git (fetch) origin https://github.com/me/my-project-repo.git (push) - 結果が返されない場合、プロジェクトのリモートリポジトリが設定されていません。 - `「fatal: not a git repo (or any of the parent directories): .git (致命的: Git リポジトリ (またはいずれかの親ディレクトリ) ではありません: .Git)」`​というエラーが返された場合、プロジェクトのローカルリポジトリが初期化されていません。 `git remote`​ コマンドオプションについては、GitHub ドキュメントの [git-remote リファレンス](https://git-scm.com/docs/git-remote)​を参照してください。 ## [](#remove-remote)プロジェクトからリモートリポジトリを削除する プロジェクトワークスペースからリモートリポジトリを削除する手順は、次のとおりです。 1. Mule プロジェクトフォルダーが閉じている場合は、プロジェクトの​_ルート_​ディレクトリでプロジェクトを開きます。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder... ``` 3. プロジェクトの​_ルート_​フォルダーに移動して選択します。次に例を示します。 - インテグレーションまたは実装例 - 設計プロジェクトの例 Anypoint Code Builder のインテグレーションまたは実装プロジェクトのルートフォルダーとサブディレクトリの例: ![インテグレーションまたは実装プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root.png) VS Code はルートをワークスペースとして扱うため、IDE でキャンバスを適切に読み込めます。 Anypoint Code Builder の API 設計プロジェクトのルートディレクトリの例: ![設計プロジェクトのプロジェクトフォルダー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-open-root-design.png) プロジェクトのルートは、プロジェクトの作成時に Anypoint Code Builder によって生成される最上位のフォルダーです。プロジェクトルートの親または上位ディレクトリに移動したり、いずれかの子または下位ディレクトリに移動したりしないでください。 2. \[Source Control (ソース制御)\] パネルを開きます。 手順を表示 アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-source-control.png)​ (​**Source Control (ソース制御)**​) アイコンをクリックするか、キーボードショートカットを使用する。 - Mac: Ctrl+Shift+g - Windows: Cmd+Shift+g 3. \[Source Control (ソース制御)\] パネルで、次の操作を行います。 1. 次の Git コマンドを入力して、GitHub のリモートリポジトリを追加します。 ```command Git: Remove Remote... ``` 2. ポップアップで、削除するリモートリポジトリを選択します。 IDE のローカル Git リポジトリは、リモートと同期する前に初期化されているため残ります。 ## [](#関連情報)関連情報 - [Introduction to Git in VS Code (VS Code の Git の概要)](https://code.visualstudio.com/docs/sourcecontrol/intro-to-git) # チュートリアル **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 - [American Flights アプリケーションの開発](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-amflights-overview): Anypoint Code Builder を使用して、MySQL データベースからフライト情報を返す American Flights API という OpenAPI 仕様のサンプルを設計および実装します。 - [API 仕様の反復的な設計と実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-local-api-specification): API 仕様をインターフェースにスキャフォールディングして IDE 内に実装し、最初に Anypoint Exchange にパブリッシュすることなく、仕様への変更をインターフェースと同期します。たとえば、新しいエンドポイントを API 仕様に追加したら、その変更をインターフェースに再スキャフォールディングして、そのエンドポイントのフローをインターフェースの設定 XML ファイルに追加できます。 - [GraphQL API の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-graphql-implement-api): Exchange にパブリッシュする GraphQL API を実装します。 - [Slack およびメール通知への Salesforce データの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-create-escalation-api): Salesforce で新規ケースが作成されたときにメールまたは Slack で通知するインテグレーションを作成します。 # デスクトップ IDE のセットアップ ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Extension Pack のデスクトップベースの IDE 拡張機能は Visual Studio Marketplace で入手できます。 - [Desktop IDE のセットアップを開始する前に](#prereqs) - [Anypoint Extension Pack をインストールする](#install-pack) - [Anypoint Extension Pack の更新](#update-pack) - [Anypoint Extension Pack のアンインストール](#uninstall-pack)​ ## [](#prereqs)Desktop IDE のセットアップを開始する前に デスクトップ拡張機能を VS Code にインストールする前に、git をセットアップし、必要な権限を持つ Anypoint Platform アカウントを用意します。 - [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)​ をインストールして ​`PATH`​ に追加します。適切に機能させるために、一部の Anypoint Extension Pack 拡張機能はこの要件に基づきます。 - Anypoint Platform 組織アカウントを持つシステム管理者から必要な権限を付与してもらう必要があります。[権限の設定](https://docs.mulesoft.com/jp/anypoint-code-builder/start-configure-permissions)を参照してください。 - クラウド IDE には、Mule Runtime Engine のトライアルでない Enterprise ライセンスが必要です。​[「アカウントをアップグレードする」](https://docs.mulesoft.com/jp/access-management/managing-your-account#upgrade-account)​および[Install an Enterprise License on On-Premises Mule Runtime Engine](https://docs.mulesoft.com/on-premises/latest/installing-an-enterprise-license)を参照してください。 - Anypoint Platform にはユーザーアカウントが必要です。既存のアカウントを使用することも、Anypoint Platform からアカウントを作成することもできます (サポートされる​[「クラウドホスト」](https://docs.mulesoft.com/jp/anypoint-code-builder/#us-eu-clouds)​を参照)。 OS およびシステムの互換性についての詳細は、​[「Anypoint Code Builder リリースノート」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#compatibility)​を参照してください。 ## [](#anypoint-extension-pack-をインストール更新またはアンインストールする)Anypoint Extension Pack をインストール、更新、またはアンインストールする コンピューターの VS Code で Anypoint Code Builder を使用するには、Anypoint Extension Pack が必要です。 - [Anypoint Extension Pack をインストールする](#install-pack) - [Anypoint Extension Pack の更新](#update-pack) - [Anypoint Extension Pack のアンインストール](#uninstall-pack) ### [](#install-pack)Anypoint Extension Pack をインストールする Anypoint Extension Pack をデスクトップ IDE にインストールする手順は、次のとおりです。 1. VS Code を開きます。 2. デスクトップ IDE または [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=salesforce.mule-dx-extension-pack)​ から ​**Anypoint Extension Pack**​ を見つけます。
インストールエラーを回避する方法

Visual Studio Marketplace の Anypoint Extension Pack から個別に入手することもできる個々の Anypoint Code Builder 拡張機能をインストールしないでください。

- デスクトップ IDE からインストールするには、アクティビティバーから \[Extensions (拡張機能)\] アイコンをクリックするか Cmd+Shift+x (Mac) または Ctrl+Shift+x (Windows) を押して \[Extensions (拡張機能)\] メニューを起動し、拡張機能パックを検索します。 **\[Install Release Version (リリースバージョンをインストール)\]**​ を選択します。 - Visual Studio Marketplace Web サイトからインストールするには、拡張機能パックを見つけてインストールします。 **\[Install Release Version (リリースバージョンをインストール)\]**​ を選択します。 追加の指針については、 [Visual Studio Code Web サイト](https://code.visualstudio.com/learn/get-started/extensions)​を参照してください。 3. \[Extensions (拡張機能)\] メニューを開き、Anypoint Extension Pack の拡張機能を確認します。 Anypoint Extension Pack には次の拡張機能が含まれます。 - Anypoint Code Builder - API 拡張機能 - Anypoint Code Builder - APIkit 拡張機能 - Anypoint Code Builder - DataWeave 拡張機能 - Anypoint Code Builder - 連動関係拡張機能 - Anypoint Code Builder - インテグレーション拡張機能 - Anypoint Code Builder - MUnit 拡張機能 - Anypoint Code Builder - プラットフォーム拡張機能 Anypoint Extension Pack の拡張機能に関するバージョン設定情報は、 [「Change Log (変更ログ)」](https://marketplace.visualstudio.com/items/salesforce.mule-dx-extension-pack/changelog)​を参照してください。 4. 推奨: 各拡張機能を右クリックして、​**\[Auto Update All (From Publisher) (すべて自動更新 (パブリッシャーから))\]**​ がオンになっているかどうかを確認し、Anypoint 拡張機能が自動的に更新されることを確認します。オンになっていない場合は、各拡張機能で ​**\[Auto Update (自動更新)\]**​ を選択します。次に例を示します。 ![拡張機能を自動更新に設定](/mulesoft/current/ja-jp/anypoint-code-builder/_images/start-extensions-auto-update.png) このオプションがチェックされていることを確認します。 5. アクティビティバーの \[MuleSoft\] アイコンをクリックして、Anypoint Code Builder 機能にアクセスして使用します。 ![アクティビティバーの \[Anypoint Code Builder\] の \[MuleSoft\] アイコン](_images/anypoint-code-builder-view.png) 6. **\[Quick Actions (クイックアクション)\]**​ と ​**\[Documentation (ドキュメント)\]**​ リンクを含む ​[Anypoint Code Builder メニュー](#acb-menu)​が IDE に読み込まれることを確認します。 7. Anypoint Platform アカウントを EU クラウドで実行している場合、​**\[Mule: Control Plane (Mule: コントロールプレーン)\]**​ 設定を ​**\[EU cloud (EU クラウド)\]**​ に変更します。 詳細は、​[「デスクトップ IDE を EU クラウドまたは US クラウドに設定する」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#change-clouds)​を参照してください。 8. [「IDE から Anypoint Platform へのログイン」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#login-ide)​の手順を実行します。 NOTE Anypoint Extension Pack をインストールするときにいずれかのブラウザーで Anypoint Platform セッションがアクティブな場合、そのセッションを使用して IDE から Anypoint Platform へのサインインが行われます。IDE のステータスバーから​[ログアウト](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#logout-status-bar)​または​[サインイン](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#logout-status-bar)​できます。 ### [](#update-pack)Anypoint Extension Pack の更新 デスクトップ IDE に Anypoint Extension Pack がインストールされている場合、 [「Update an extension manually (拡張機能の手動更新)」](https://code.visualstudio.com/docs/editor/extension-marketplace#_update-an-extension-manually)​の VS Code 手順に従って拡張機能パックの最新バージョンに更新します。 ### [](#uninstall-pack)Anypoint Extension Pack のアンインストール 通常、拡張機能パックや個々の Anypoint Code Builder 拡張機能を VS Code からアンインストールする必要はありません。たとえば、最初にアンインストールしなくても新しいバージョンに更新できます。 Anypoint Extension Pack をアンインストールするように決定した場合は、他の VS Code 拡張機能で使用する手順と同じ手順に従います。拡張機能パックをアンインストールすると、DataWeave 拡張機能や APIkit 拡張機能など、拡張機能パック内でバンドルされている個々の Anypoint Code Builder 拡張機能もアンインストールされます。 アンインストールする手順は、次のとおりです。 1. VS Code を開きます。 2. アクティビティバーから、\[Extensions (拡張機能)\] パネルを開きます。 3. \[Anypoint Extension Pack\] を見つけて選択します。 4. 開いた \[Anypoint Extension Pack\] タブで ​**\[Uninstall (アンインストール)\]**​ をクリックします。 5. Anypoint Code Builder 拡張機能を \[Extensions (拡張機能)\] パネルから削除するには、いずれかの拡張機能で ​**\[Reload (再読み込み)\]**​ をクリックします。 追加の指針については、VS Code ドキュメント [「Manage extensions (拡張機能の管理)」](https://code.visualstudio.com/docs/editor/extension-marketplace#_manage-extensions)​を参照してください。 再インストールはいつでも行うことができます。 # デプロイメントエラー ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder では、CloudHub に Mule アプリケーションをデプロイするときにデプロイ先のルート組織またはビジネスグループに十分な vCore 割り当てがない場合、エラー​`「Failed to deploy to CloudHub: 400 (CloudHub へのデプロイに失敗しました: 400)」`​が発生します。 この問題に対処するには、​**Sandbox**​ 環境でルート組織またはビジネスグループへの vCore 割り当てを増やします。 - リソースを再割り当てするには、​[「既存のビジネスグループ間のリソースの再配信」](https://docs.mulesoft.com/jp/access-management/business-groups#redistribute-resources)​を参照してください。 - 環境を管理するには、[環境](https://docs.mulesoft.com/jp/access-management/environments)を参照してください。追加のサポートが必要な場合は、Anypoint Platform の組織のシステム管理者にお問い合わせください。 # トピックとエージェントアクションの API プロジェクトを有効化 MuleSoft for Agentforce: Topic Center (Topic Center とも呼ばれる) を使用してトピックとエージェントの API 仕様を有効にし、Salesforce の API カタログに同期できるようにします。その後、エージェントビルダーで Agentforce エージェントにトピックを割り当てることで、エージェントの機能を拡張できます。 Topic Center ビジュアルエディターを使用して、次の操作を実行できます。 - トピックとエージェントの API 仕様を有効にする。 - ガバナンスルールを適用して、API が Salesforce でエージェントアクションとトピックを生成する準備ができていることを検証する。 - メタデータを追加して、Salesforce API カタログを使用してトピックとアクション対応 API を Salesforce で利用できるようにする。 トピックは、Agentforce エージェントがタスクを完了するために使用するアクションと手順セットのバンドルです。アクションはエージェントが実行できるタスクであり、手順はエージェントがアクションの使用方法を理解するのに役立ちます。 Topic Center では、API 操作をエージェントアクションとトピックとして使用できます。エージェントは、レコードの更新、データの検索と要約、さまざまなシステムでの安全なアクションの実行など、一般的なタスクを独立して実行します。エージェントは任意のトピックセットで再利用可能で、複数のトピックを含めることができます。 ## [](#始める前に)始める前に - Anypoint Platform 組織と、エージェントエンタイトルメントのある信頼済み Salesforce 組織との間に​[テナントリレーション](#access-management::trusted-salesforce-org.adoc)​を確立します。 - 接続された Salesforce 組織に対して ​[API カタログが有効化](#access-management::enabling-api-catalog.adoc)​されていることを確認します。 - [必要な権限](https://docs.mulesoft.com/jp/anypoint-code-builder/start-configure-permissions)​があることを確認します。 - ユーザーがアセットのダウンロードとパブリッシュをできるようにするための ​[Anypoint Exchange 権限](https://docs.mulesoft.com/jp/access-management/permissions-by-product#exchange) - **Viewer (閲覧者)** - **Creator (作成者)** - アプリケーションのデプロイなど、CloudHub および CloudHub 2.0 に関連するサービスを有効にするための ​[Runtime Manager 権限](https://docs.mulesoft.com/jp/access-management/permissions-by-product#runtime-manager) - **Read applications (アプリケーションの参照)** - **Create applications (アプリケーションの作成)** - **Delete applications (アプリケーションの削除)** - ユーザーが API の作成と表示をできるようにするための​ [「Design Center Developer (Design Center 開発者)」](https://docs.mulesoft.com/jp/access-management/permissions-by-product#design-center)​権限。 - **Anypoint Platform → API Governance**​ で、​[バージョン別の API の管理にオプトイン](https://docs.mulesoft.com/api-governance/get-started)​します。 - [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。 - API 仕様の設計の基礎を理解します。 詳細は、[チュートリアル](https://docs.mulesoft.com/jp/anypoint-code-builder/tutorials)を参照してください。 - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups)​に精通します。 ## [](#create-api-spec-agent-topic)エージェントアクションとトピックの API 仕様プロジェクトを作成する 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 ![アクティビティバー内で強調表示されている \[Anypoint Code Builder\] アイコン](_images/anypoint-code-builder-view.png) 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Design an API (API を設計)\]**​ をクリックします。 ![\[\*Quick Actions (クイックアクション)\]\* セクション内の強調表示された \*\[Design an API (API を設計)\]\* リンク](_images/design-api-1.png) 3. **\[Enable this API for Agent Topics and Actions (エージェントトピックとアクションに対してこの API を有効化)\]**​ を選択します。 4. **\[API Specification (API 仕様)\]**​ フォームに入力します。
項目名 項目値

Project Name (プロジェクト名)

プロジェクトの一意の名前。

この名前は Exchange での API 仕様のタイトル、仕様ファイルの名前、プロジェクトのルートディレクトリの名前として使用されます。 たとえば、プロジェクト名が​「Agent Example」​ (エージェントの例) の場合、仕様ファイル名は ​agent-example​ になります。

既存のプロジェクト名を再利用するには、その名前をすでに使用しているプロジェクトを最初に削除する必要があります。API 仕様とフラグメントの削除を参照してください。

Project Location (プロジェクトの場所)

ホームディレクトリまたは作成する別のディレクトリ。

別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。

API Type (API 種別)

[REST API]​ を選択します。

API Specification Language (API 仕様言語)

[OAS 3.0 (YAML)]​ または ​[OAS 3.0 (JSON)]​ を選択します。

トピックとアクションでは OAS 3.0 のみがサポートされます。

Business Group (ビジネスグループ)

API が属するビジネスグループを選択します。API Governance および中央管理ルールセットの同期にはビジネスグループが必要です。API 仕様を Anypoint Code Builder から Exchange にパブリッシュすると、IDE でビジネスグループの名前が要求されます。

5. **\[Create Project (プロジェクトを作成)\]**​ をクリックします。 確認を促されたら、フォルダー内のファイルの作成者を信頼します。 \[Agent Topics (エージェントトピック)\] 設定パネルが開きます。 6. \[Agent Topics (エージェントトピック)\] 設定パネルで、エージェントトピックのメタデータと手順を設定し、​**\[Apply (適用)\]**​ をクリックします。 7. 引き続き API 仕様を設計します。 要素を入力するときに、​[オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#auto-complete)​ (または Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。 ## [](#add-metadata)API プロジェクトにメタデータを追加する 1. **\[Explorer\]**​ で、API 仕様を右クリックし、​**\[Open API Project Properties (API プロジェクトプロパティを開く)\]**​ を選択します。 **\[API Project Properties (API プロジェクトプロパティ)\]**​ タブが開き、次の項目が自動的に入力されます。 - **Asset version (アセットバージョン)** API プロジェクトのアセットバージョンは、セマンティックバージョン設定モデルに従う必要があります。詳細は、​[「アセットバージョン」](https://docs.mulesoft.com/jp/exchange/asset-versions)​を参照してください。 - **API Version (API バージョン)** API のメジャーバージョン。 - **Business Group (ビジネスグループ)** この API が使用可能になる Anypoint Platform ビジネスグループを選択します。 - **Asset ID (アセット ID)** - **Asset Name (アセット名)** - **Tags (タグ)** - **Categories (カテゴリ)** これらのプロパティは、API 仕様を Exchange にパブリッシュするときに使用されます。 タグとカテゴリは、ユーザーが Anypoint Exchange を検索するときに検索結果を絞り込むのに役立ちます。 エージェントアクションとトピックの API を有効にすると、​`sf-api-catalog`​ タグと ​`sf-api-topic`​ タグが自動的に適用されます。 ![sf-api-catalog タグと sf-api-topic タグが適用された\[API Project Properties (API プロジェクトプロパティ)\] タブ](_images/ai-topic-center-api-project-properties.png) どの項目も編集できます。 2. API プロジェクトプロパティに変更を加えた場合は、​**\[Apply (適用)\]**​ をクリックします。 ## [](#configure-topics)トピックを設定する **\[Agent Topics (エージェントトピック)\]**​ 設定パネルでトピックを設定します。 1. **\[Agent Topics (エージェントトピック)\]**​ 設定パネルがまだ開いていない場合は、​**\[#\]**​ アイコンをクリックして開きます。 2. トピックの次の項目を設定します。
項目名 説明 例

Topic Label (トピックの表示ラベル)

トピックの一意の名前を入力します。

営業エージェント

Classification Description (分類の説明)

1 ~ 3 個のプレーンテキスト文を入力します。エージェントはこの説明を使用して、会話でトピックをいつ使用するかを決定します。ユーザーがメッセージを入力すると、エージェントはユーザーのインテントを識別し、トピック名および分類の説明を比較して、最も一致するトピックを使用します。

分類の説明のいくつかの例を次に示します。

ビジネスポリシー、手順、または商品に関する質問に答えます。

ユーザーとやり取りしてコンテンツのドラフト作成や修正を行います。

ユーザーの注文状況、返品状況、返品に関する質問に答えます。

Scope (スコープ)

スコープは、特定のトピックに対してエージェントができることとできないことを正確に定義します。スコープは、トピックに含める必要があるジョブやスコープの範囲外でエージェントが応答しないように制限できるため、特定のトピックに対してエージェントのジョブを詳細に定義する場合に最も効果的です。

スコープの説明のいくつかの例を次に示します。

あなたの役割は、商談を成立させるための商談成立戦略の設定に関連するタスクのみを処理することです。これには、商品関連の価格設定に関する質問への回答、会話に基づく顧客のセンチメントに関するユーザーへのブリーフィング、ユーザーが商談を成立させるために役立つ商談成立プランの提案、ビデオ通話や音声通話に基づくアドバイスの提供などが含まれます。

あなたの役割は、ユーザーの予約に関する質問に対して情報を提供すること、および予約確認メールを再送信して今後の予約や既存の予約の変更を処理することのみです。新規予約を行うことはできません。

Instructions (手順)

プレーンテキストの手順は、エージェントがさまざまなユースケースでトピック内のアクションをどのように使用するか決定するのに役立ちます。各手順は 1 つのトピック固有のガイドラインであり、通常は「常に…」、「決して…」、「x の場合は y…」、「最初のステップとして、…」などで表されます。

手順は非確定的であるため、機密性が高いか、確定的なビジネスルールは含めないでください。

手順のいくつかの例を次に示します。

[ナレッジを使用して質問に回答] 機能を使用してトラブルシューティング情報を取得する前に、常にモバイルデバイスの種別 (iOS または Android) を明確にします。

決してユーザーに ID を尋ねないでください。代わりに、レコードの名前を使用するか、レコードの名前を尋ねて、IdentifyRecordByName を使用して ID を取得し、他のアクションをコールします。

ユーザーから注文の状況や注文確認について質問があった場合は、注文番号またはメールアドレスを持っているかどうかを尋ねます。ユーザーがメールアドレスまたは注文番号を持っていない場合は、エージェントにエスカレーションするかケースを作成するかを尋ねます。

## [](#configure-actions)アクションを設定する 必要なメタデータを定義するスキーマを使用して、エージェントアクションを作成します。要素を入力するときに、​[オートコンプリート](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#auto-complete)​ (または Ctrl+Space) を使用すると、コンテキスト内で使用可能なオプションが表示されます。 エージェントトピックとアクションの API を有効にするには、エージェントとして使用する操作の少なくとも 1 つに ​`x-sfdc/agent/action/publishAsAgentAction`​ の アノテーションを追加し、値を ​`true`​ に設定する必要があります。
エクステンション 説明 デフォルト値

x-sfdc/agent/action/publishAsAgentAction

必須。操作をアクションとして有効にするには、この属性を ​true​ に設定します。

false

x-sfdc/privacy/isPii

省略可能。この属性を ​true​ に設定すると、その操作で送信されたクエリの PII サービスが有効になります。

false

x-sfdc/agent/action/isUserInput

必須。この属性を ​true​ に設定すると、ユーザーがさらに入力できる項目が表示されます。

false

x-sfdc/agent/action/isDisplayable

必須。項目をユーザーに表示できるようにするには、この属性を ​true​ に設定します。

false

`$ref`​ を使用して定義されたスキーマでのエージェントメタデータの追加はサポートされていません。メタデータはスキーマ内で定義する必要があります。次に例を示します。 ```openai ... (Inside response, request body, etc..) schema: $ref: '#/components/schemas/Pet' ... components: schemas: Pet: x-sfdc: agent: action: isDisplayable: true required: - name - photoUrls properties: id: type: integer format: int64 example: 10 name: type: string example: doggie status: type: string description: pet status in the store enum: - available - pending - sold ``` ## [](#governance-rulesets)トピックとエージェントのガバナンスルールセット API が Salesforce でエージェントアクションとトピックを生成する準備ができていることを確認するために、​**\[SF API Topic and Action Enablement (SF API トピックとアクションの有効化)\]**​ 中央管理ルールセットがトピック対応 API プロジェクトに自動的に追加されます。 1. 必要に応じて、プロジェクトに必要な​[その他のルールセットを追加](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api#add-rulesets)​します。 2. [ガバナンスルールセットを検証](https://docs.mulesoft.com/jp/anypoint-code-builder/des-govern-api)​します。 API プロジェクトから ​`sf-api-catalog`​ タグと ​`sf-api-topic`​ タグを削除すると、トピックとアクションのルールセットも自動的に削除されます。 ## [](#publish-to-exchange)API 仕様を Exchange にパブリッシュする API 仕様ルールセットを検証したら、​[API 仕様を Exchange にパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange)​します。 API を Exchange にパブリッシュし、API Manager でアクティブな API インスタンスを作成したら、API カタログで使用できるようになります。詳細は、 [「API Catalog (API カタログ)」](https://help.salesforce.com/s/articleView?id=platform.api_catalog.htm)​を参照してください。 ## [](#disable-api-spec-for-topics)トピックの API 仕様を無効にする 1. **\[Explorer\]**​ で、API 仕様を右クリックし、​**\[Open API Project Properties (API プロジェクトプロパティを開く)\]**​ を選択します。 2. **\[Enable this API for Agent Topic and Actions (エージェントトピックとアクションに対してこの API を有効化)\]**​ を選択解除し、​**\[Apply (適用)\]**​ をクリックします。 `sf-api-catalog`​ タグと ​`sf-api-topic`​ タグおよび ​**\[SF API Topic and Action Enablement (SF API トピックとアクションの有効化)\]**​ ルールセットが API プロジェクトから削除されます。 ## [](#関連情報)関連情報 - [エージェントとは](https://help.salesforce.com/s/articleView?id=sf.copilot_overview.htm&type=5) - [エージェントの構成要素](https://help.salesforce.com/s/articleView?id=sf.copilot_building_blocks.htm&type=5) - [エージェントのトピック](https://help.salesforce.com/s/articleView?id=sf.copilot_topics.htm&type=5) - [API 仕様の作成およびインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs) - [Exchange への API プロジェクトのパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange) # トラブルシューティング **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder を使用しているときに受け取るエラーおよび警告のトラブルシューティングを行います。 - [機能の非表示または無効化](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-missing-features) - [認証エラー](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-authentication-errors) - [デプロイメントエラー](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-deploy-errors) - [実装エラー](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-implementation-errors) - [Mule Runtime の問題とエラー](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-mule-runtime-errors) - [プロジェクトの読み込みエラー](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-loading-errors) その他の問題と回避策は、Anypoint Code Builder リリースノートの​[「Known Issues (既知の問題)」](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-release-notes#known-issues)​を参照してください。 トラブルシューティングプロセスをサポートするタスクについては、次を参照してください。 - [問題点を確認する](#check-logs) - [トラブルシューティング情報をエクスポートする](#export-troubleshooting-info) - [クラウド IDE インスタンスの管理](#manage-cloud) ## [](#check-logs)問題点を確認する 問題の解決方法がわからない場合は、最初のステップとして、問題、コンソール出力、ログを確認します。 **\[Output (出力)\]**​ パネルには、ビルドの詳細とログへのアクセスが表示されます。​**\[Problems (問題)\]**​ タブには、警告とエラーメッセージがリストされます。エラーメッセージとログには、発生した問題と注意点を理解するのに役立つ根本的な問題がリストされます。 - **\[Output (出力)\]**​ パネルからプロジェクトログを表示するには、​[「IDE のプロジェクト UI の比較」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui#compare-project-uis-in-the-ide)​を参照してください。 - 問題を表示するには、Cmd+Shift+m (Mac) または Ctrl+Shift+m (Windows) を押して ​**\[Problems (問題)\]**​ タブを開きます。 ## [](#export-troubleshooting-info)トラブルシューティング情報をエクスポートする MuleSoft サポートチームからプロジェクトに関するトラブルシューティング情報を要求された場合、プロジェクトのワークスペースフォルダーおよびログと、環境変数、CPU、オペレーティングシステム、およびシステムプロパティに関する情報が含まれる圧縮ファイルをエクスポートします。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command MuleSoft: Export Troubleshooting Information ``` 3. コマンドで抽出される情報に関する通知を受け取ったら、​**\[Continue (続行)\]**​ をクリックします。 プロセスが完了したら、IDE に次のメッセージが表示されます。 Collecting information...: Generating compressed file 4. **\[Open folder (フォルダーを開く)\]**​ をクリックして、ファイルを見つけます。 このコマンドによりホームディレクトリにファイルが配置されます。ファイル名にはプレフィックス ​`acb-troubleshooting`​ が付きます (例: `/Users/me/acb-troubleshooting-w9ffppmq.tar.gz`​)。 5. ファイルのコピーをサポートチームに提供します。 ## [](#manage-cloud)クラウド IDE インスタンスの管理 クラウド IDE インスタンスを Anypoint Platform の Anypoint Code Builder から直接管理します。 ![クラウド IDE 管理ページ](/mulesoft/current/ja-jp/anypoint-code-builder/_images/web-ide-management-central-page.png)
1 バージョンおよび IDE の詳細​:

Anypoint Code Builder のクラウド IDE インスタンスのバージョンを表示します。​[View IDE Details (IDE の詳細を表示)]​ の上にマウスポインターを置くと、クラウド IDE インスタンスに関する一部の内部的な詳細を表示できます。

  • 画像​: クラウド IDE インスタンスの画像の ID。

  • URL​: クラウド IDE インスタンスに直接アクセスするための URL。
    デバッグ時に、ローカルにデプロイされた Mule アプリケーションを ping するには、この URL が必要です。

  • 作成日時​: クラウド IDE インスタンスの作成日時。

2 Reboot (再起動)​: クラウド IDE インスタンスを再起動するためのボタン。
3 Delete (削除)​: クラウド IDE インスタンスを削除するためのボタン。

削除は永続的であり、元に戻すことはできません。このプロセスにより、IDE インスタンスでホストされているすべてのプロジェクトが削除されます。

## [](#check-extension-pack)Anypoint Extension Pack のインストールを確認する Anypoint Code Builder 拡張機能がデスクトップ IDE にインストールされているかどうかを判断するには、IDE の ​**\[Extensions: Marketplace (拡張機能: マーケットプレイス)\]**​ パネルで ​**Anypoint Extension Pack**​ を確認します。 1. アクティビティバーで、\[Extensions (拡張機能)\] アイコンをクリックして ​**\[Extensions: Marketplace (拡張機能: マーケットプレイス)\]**​ パネルを開きます。 このアイコンを見つけるには、[UI の確認](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui)を参照してください。 2. パネルの検索項目に​_「Anypoint」_​と入力して、インストールされている拡張機能のリストから ​**Anypoint Extension Pack**​ を見つけます。 - 拡張機能パックがインストール​_されていない_​場合、​[「デスクトップ IDE のセットアップ」](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb#set-up-desktop)​のインストール手順を実行します。 - 拡張機能パックはインストールされているが、MuleSoft アイコンがアクティビティバーに表示されていない場合は、​[「MuleSoft アイコンがアクティビティバーに表示されていない」](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshoot-missing-features#missing-mulesoft-icon)​を参照してアイコンを表示します。 ## [](#folder-permission)フォルダー権限エラー クラウド IDE の一部の上位フォルダーは保護されており、プロジェクトでは使用できません。例としては、​`/home`​、​`/`​、​`.config`​ があります。保護されたフォルダーにインテグレーション、実装、または設計プロジェクトを作成しようとすると、次のエラーが発生します。 EACCES: permission denied, mkdir '/home/XXXX/.vscode' このエラーを回避するには、​`/home/​_your-user-name_​/`​ フォルダー内、またはこのフォルダーの下位に作成したサブディレクトリ内にプロジェクトを作成してインポートします。クラウド IDE は、フォルダーにユーザー名を自動的に提供します。 `/home/AnypointCodeBuilder`​ の下位にはプロジェクトを作成しないでください。これは、Mule および Java バージョンと ​[acb\_settings.xml](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-acb-maven#anypoint-code-builder-settings-file)​ のダウンロードを目的としています。 ## [](#コンポーネントを無効にして問題を分離する)コンポーネントを無効にして問題を分離する フローをデバッグするときに、キャンバス内で個々のコンポーネントを直接無効化 (コメントアウト) できます。これにより、何も削除したり書き換えたりすることなく、ロジックの一部を分離してテストできます。 次に例を示します。 - Transform または Logger を一時的に無効にして、別のパスをテストする。 - フローまたはエラーハンドラー全体をコメントアウトして、実行ロジックを簡略化する。 - MUnit テストプロセッサーを無効にして特定のアサーションのトラブルシューティングを行う。 コンポーネントを無効化する手順は、次のとおりです。 1. キャンバス内で右クリックします。 2. **\[Disable Component (コンポーネントを無効化)\]**​ を選択します。 無効なコンポーネントはキャンバスでは使用できず、実行時に無視されます。XML エディターでは、ブロックは XML コメントでラップされます。 問題が解決したら、コンポーネントを再度有効にするか、\[Delete (削除)\] を使用して無効な項目を削除できます。 # フローロジックへの条件の追加 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 チュートリアルのこのセクションでは、Salesforce ケースがエスカレーションされた場合は地域リーダーにメールを送信し、それ以外の場合は Mule アプリケーションから Slack にメッセージを送信するための条件をフローに追加する方法について説明します。 ## [](#始める前に)始める前に 次の手順を実行します。 1. [Slack およびメール通知への Salesforce データの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-create-escalation-api)。 2. [Slack と Salesforce の設定ファイルの作成](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-create-config-files-sfdc)と Salesforce インテグレーションの設定。 3. [変数へのペイロード情報の抽出](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-extract-payload-information)。 ## [](#ケースがエスカレーションされた場合の動作を定義する)ケースがエスカレーションされた場合の動作を定義する Choice ルーターを使用して、特定の条件に基づいて動作を定義します。この場合、ケースがエスカレーションされた場合にメールを送信するように選択します。 1. Anypoint Code Builder で、​`new-case-salesforce.xml`​ ファイルを開きます。 2. Logger コンポーネントの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 ![\[Add component (コンポーネントを追加)\] ボタンのアイコンが強調表示されているフロー図](_images/add-choice-router-slack-escalation-canvas.png) 3. `「choice」`​と入力して ​**\[Flow Control (フローコントロール)\]**​ の下の ​**\[Choice\]**​ を選択します。 4. ``​ および ​``​ 要素を追加します。 ![テキスト「mule:when」が強調表示されている「when」の検索結果](/mulesoft/current/ja-jp/anypoint-code-builder/_images/sync-api-choice-when.png) ```XML ``` Mule フローを読みやすくするために、​``​、​``​、​``​ 要素の名前を更新します。 ```XML ``` 5. 変数 ​`casestatus`​ が ​`[Escalated (エスカレーション済み)]`​ の場合に実行されるように ​`when`​ 分岐を定義します。 ```XML ``` ## [](#email-connector-を追加する)Email Connector を追加する ``​ 要素を設定するには、まずメール用 Anypoint Connector (Email Connector) の操作を設定する必要があります。 1. Anypoint Code Builder で、​`new-case-salesforce.xml`​ ファイルを開き、​``​ 要素の下に新しい行を追加します。 2. `「smtp」`​と入力して ​**email:smtp-config**​ を選択します。 ```XML ``` 3. **\[Escalated (エスカレーション済み)\]**​ セクションの後の ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 ![\[Escalated (エスカレーション済み)\]、\[Add component (コンポーネントを追加)\] ボタンのアイコンが強調表示されている Choice フロー](_images/add-email-operation-slack-integration-canvas.png) 4. `「send」`​と入力して ​**\[Email (メール)\]**​ セクションから ​**\[Send\]**​ を選択します。 ![\[Send\] が強調表示されている検索結果セクションのコンポーネントのリスト](_images/send-email-slack-integration-canvas.png) 5. 次のコードサンプルを使用して、​`send`​ を設定します。 ```XML ``` 6. アプリケーションをテストできるようにするには、一時的に ​``​ 要素内に ​``​ 要素を追加します。 ```XML ``` 7. Choice ルーターのすべての設定を調べます。 ```XML ``` ## [](#mule-アプリケーションをテストする)Mule アプリケーションをテストする 1. テストを効率化するには、Logger コンポーネントのブレークポイントを削除します。 2. **\[Run (実行)\]**​ > ​**\[Start Debugging (F5) (デバッグを開始 (F5))\]**​ を選択します。 3. アプリケーションが正常にデプロイされたら、Salesforce アカウントにログインします。 4. **アプリケーションランチャー**​から、​**\[サービス\]**​ を選択します。 ![\[ホーム\] および \[サービス\] オプションが強調表示されている \[設定\] メニュー](_images/salesforce-select-service.png) 5. **\[ケース\]**​ > ​**\[新規ケース\]**​ を選択します。 ![\[ケース\] セクションで \[新規ケース\] ボタンが強調表示されている \[サービス\] ナビゲーションバー](_images/salesfroce-create-new-case.png) 6. 新規ケースの ​**\[状況\]**​ が ​**\[エスカレーション済み\]**​ であることを確認します。 7. 数秒後、設定されたメールアカウントで、ケースで設定された情報が含まれるメールを受信していることを確認します。 ```none Please handle this case. Case Number: 00001030, Origin: Phone, Case Type: , Priority: Medium, Status: Escalated ``` 8. [「Slack インテグレーションの設定」](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-configure-integration)​に進み、エスカレーションされなかったケースの Slack メッセージの設定方法を確認します。 # プロジェクトの読み込みエラー **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder でプロジェクトを開くか開始するときにエラーが発生することがあります。 ## [](#キャンバスの読み込みエラー)キャンバスの読み込みエラー 多くの場合、グラフィカル UI (キャンバス) の ​**\[Loading…​ (読み込み中…​)\]**​ エラーは次の条件で発生します。 - 欠落している連動関係のためにプロジェクトをインポートする場合 欠落している連動関係を確認する手順は、次のとおりです。 1. 出力パネルを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+u - Windows: Ctrl+Shift+u - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 2. ドロップダウンリストから \[Mule DX Server (Mule DX サーバー)\] を選択します。 3. 欠落している連動関係が原因で発生した次のようなエラーを検索します。 Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Failure to find org.mule.examples:accelerator-common-config-module:jar:mule-plugin:1.1.0 in https://repo.maven.apache.org/maven2/ was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced 4. 欠落している連動関係が見つかった場合は、Anypoint Platform にログインします。 キャンバスは、すべての連動関係が読み込まれた後に読み込まれます。 ブラウザー拡張機能が UI 読み込みプロセスに干渉している場合、次のように表示されます。 ![UI の読み込みエラー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/troubleshoot-loading-error.png) この問題に対処するには、次の操作を実行します。 - ブラウザー拡張機能を無効にしてアプリケーションを再読み込みする - 拡張機能を使用していない別のブラウザーを使用する ## [](#設定されたフローまたはサブフローなしで-ui-キャンバスが表示される)設定されたフローまたはサブフローなしで UI キャンバスが表示される フローまたはサブフローを使用してすでに設定されているアプリケーションの UI でアプリケーションが新しいプロジェクトとして処理されている場合に、質問 ​**\[How do you want to start building your project? (プロジェクトのビルドを開始する方法は?)\]**​ と作成オプション ​**\[Build a flow (フローをビルド)\]**​ および ​**\[Build a sub flow (サブフローをビルド)\]**​ の回答と選択を促されたら、アプリケーションが​_ルート_​ディレクトリまたはマルチルートワークスペースから開いていることを確認します。 ![Mule アプリケーションのビルドの開始画面](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-start-flow-subflow-ui.png) Visual Studio Code では開いているディレクトリはワークスペースとして処理されます。プロジェクトをワークスペースに読み込むには、プロジェクトのルートディレクトリが \[Explorer\] ビューの最上位ディレクトリにあるか、プロジェクトが [マルチルートワークスペース](https://code.visualstudio.com/docs/editor/multi-root-workspaces)​に属している必要があります。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力します。 ```command File: Open Folder... ``` 3. プロジェクトの​_ルート_​ディレクトリに移動します。 ルートは、Anypoint Code Builder でプロジェクトを作成するときに生成される最上位フォルダーです。プロジェクトの親または上位ディレクトリに移動したり、いずれかの子または下位ディレクトリに移動したりしないでください。 [IDE へのプロジェクトのインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/int-import-mule-project)も参照してください。 ## [](#mule-dx)Mule DX API Component Was Not Installed (Mule DX API コンポーネントがインストールされていません) このエラーは、一部の Anypoint Code Builder 連動関係の読み込みが終了していないことを示します。通常、この問題は、​**\[Design an API (API を設計)\]**​ をクリックしたときに発生し、多くの場合、​**\[Extracting Mule runtime: This operation may take a while…​ (Mule Runtime の抽出: この操作にはしばらく時間がかかることがあります…​)\]**​ という通知も表示されます。特にデスクトップ IDE で Anypoint Extension Pack をインストールまたは更新した後は、抽出プロセスに数分かかる可能性があります。 1. エラー ​**\[Mule DX API Component was not installed (Mule DX API コンポーネントがインストールされていません)\]**​ が表示されなくなるまで待ちます。 2. アクションを再試行します。 バックエンドプロセスの進行状況を監視する手順は、次のとおりです。 1. 出力パネルを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+u - Windows: Ctrl+Shift+u - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 2. パネルのドロップダウンリストから ​**\[Mule DX Server (Mule DX サーバー)\]**​ を選択します。スキャフォールディングエラーのみを表示するには、リストから ​**\[Mule DX Server: Scaffolding (Mule DX サーバー: スキャフォールディング)\]**​ を選択します。 ## [](#連動関係の解決エラー)連動関係の解決エラー 連動関係が欠落している場合、エラー ​`[There was an issue solving the dependencies for the asset (アセットの連動関係の解決中に問題が発生しました)]`​ が発生します。通常、このエラーは、コネクタ操作の連動関係が 1 つ以上欠落しているインテグレーションまたは実装プロジェクトをインポートまたは開いた後に表示されます。 この問題に対処して他のエラーを回避するには、IDE から Anypoint Platform にログインし、プロジェクトの読み込みが終了するまで待ってから、欠落している連動関係がまだある場合は解決します。 # プロジェクトへのコンポーネントの追加 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 次の例は、キャンバスからプロジェクトにコンポーネントを追加するための基本設定と設定 XML を示しています。この例は、空のインテグレーションプロジェクトから始めることを前提としています。 1. {open-config-xml} (​`my-project-name.xml`​ など)。 ![Mule フローと Mule 設定ファイルを視覚的に表現しているキャンバス](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-empty-canvas.png)
1キャンバスでは、Mule フローまたはサブフローを視覚的に表現する領域が提供されます。
2設定 XML エディターには、Mule アプリケーションの設定ファイルが表示されます。
2. キャンバスで ​**\[Build a Flow (フローをビルド)\]**​ を選択して、Mule インテグレーションアプリケーション内で空のフローを作成します。 3. キャンバスまたは設定 XML からフローのデフォルト名を変更します。 - キャンバスから - 設定 XML から **\[Flow name1\]**​ をクリックして Flow コンポーネントの設定パネルを開き、フロー名を変更し、チェックマークをクリックして新しい名前を設定します。 ![キャンバスからフローの名前を変更。](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-flow-name-ui.png) フローのデフォルト名 (​`name1`​) を ​`getFlights`​ などのフロー名に置き換えます。次に例を示します。 ```xml ``` 4. キャンバスからプロジェクトにコンポーネントを追加します。 たとえば、HTTP Listener コンポーネントを追加します。 1. キャンバスで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 2. **\[Add Component (コンポーネントを追加)\]**​ パネルで、​**\[HTTP\]**​ の検索結果から ​**\[Listener\]**​ を選択します。 ![\[Add Component (コンポーネントを追加)\] セクション内で強調表示されている Listener コンポーネント](_images/main-tutorial-add-first-listener.png) 設定 XML ファイルで、HTTP Listener の XML が ​``​ 要素内に含まれるようになりました。次に例を示します。 ```XML ``` 5. 別のコンポーネントを追加します。今回は XML 設定メニューを使用します。 たとえば、スニペットから ​``​ コンポーネントを追加します。 スニペットについての詳細は、[コードスニペットの操作](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets)を参照してください。 1. 設定 XML で、​``​ 開始タグの前にカーソルを置いて​`「http」`​と入力します。 カーソルが ​``​ 要素の内側にないことを確認します。 2. `「http」`​と入力し、​`http:listener-config`​ スニペットを選択します。 ![設定 XML メニューで強調表示されている http:listener-config スニペット](/mulesoft/current/ja-jp/anypoint-code-builder/_images/add-http-config-snippet.png) このスニペットでは次のコードが追加されます。 ```xml ``` 3. キャンバス内の Listener コンポーネントにエラーが表示されています。 ![キャンバス内の Listener エラー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-canvas-error.png) 4. エラーの場所を特定するには、キャンバス内でプロセッサーを選択します。 Anypoint Code Builder では、設定 XML 内でその場所が強調表示され、問題にマウスポインターを置くと詳細が表示されます。次に例を示します。 ![設定パネルから設定参照を選択](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-select-listener-config.png) 5. エラーを修正するには、​`http:listener-config`​ の ​`name`​ 属性の値を、​`http:listener`​ 設定の ​`config-ref`​ 値の名前と一致するように変更します。 ```xml ``` これで、フロー内の HTTP Listener は、フローの外部にあるグローバル接続設定である HTTP Listener 設定を参照するようになります。デバッグについての詳細は、[anypoint-code-builder::debugging-mule-apps.adoc](#anypoint-code-builder::debugging-mule-apps.adoc)を参照してください。 6. 別のコンポーネントをフローに追加します。 たとえば、Set Payload コンポーネントを HTTP Listener 操作に追加します。 1. キャンバスで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 2. **\[Add Component (コンポーネントを追加)\]**​ パネルで、​**\[Transformer\]**​ の検索結果から ​**\[Set payload\]**​ を選択します。 3. キャンバスで、​**\[Set payload\]**​ をクリックして設定パネルを開き、文字列値、DataWeave 式、Mule 変数、または設定プロパティを追加します。 - 文字列を追加するには、​`「my value」`​などの値を入力します。次に例を示します。 ![Set Payload への文字列の追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-set-payload-config-string.png) - DataWeave 式または Mule 変数を ​`payload`​ などの値として追加するには、(項目の前にある) ​**\[fx\]**​ をクリックし、値を指定します。次に例を示します。 ![Set Payload への式の追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-set-payload-config-fx.png) DataWeave 式の設定についての詳細は、[Anypoint Code Builder での DataWeave 式と変換の使用](https://docs.mulesoft.com/jp/anypoint-code-builder/int-configure-dw-expressions)を参照してください。 - 設定プロパティを値として追加するには、​`${secure::mysensitiveprop}`​ などの値を入力します。次に例を示します。 ![Set Payload への設定プロパティの追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/int-set-payload-config-property.png) 設定プロパティについての詳細は、[Mule アプリケーションのプロパティの定義および保護](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-secure-configs)を参照してください。 設定 XML ファイルは、次のようになります。 ```xml ``` # ホームディレクトリへのフォルダーの追加 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 プロジェクトを作成すると、Anypoint Code Builder によりプロジェクトはデフォルトでホームディレクトリに保存されます。プロジェクトの他のフォルダーを IDE に作成できます。 別のプロジェクトディレクトリ内にプロジェクトを作成しないでください。 ## [](#クラウド-ide-にプロジェクトフォルダーを作成する)クラウド IDE にプロジェクトフォルダーを作成する Mule プロジェクトを保存するフォルダーをホームディレクトリの下に作成する手順は、次のとおりです。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを選択します。 ```command File: Open Folder... ``` ![コマンドパレットでのコマンドの検索](/mulesoft/current/ja-jp/anypoint-code-builder/_images/file-open-folder-command.png) 3. Anypoint Code Builder ホームディレクトリを選択します。 ![\[Open Folder (フォルダーを開く)\] 項目へのホームディレクトリの追加](_images/select-home-directory.png) 確認を促されたら、ディレクトリ内のファイルの作成者を信頼します。 ![フォルダー内のファイルの作成者の信頼](/mulesoft/current/ja-jp/anypoint-code-builder/_images/trust-home-directory.png) 4. Anypoint Code Builder にホームディレクトリが読み込まれたら、\[Explorer\] ビューを右クリックして、​**\[New Folder (新規フォルダー)\]**​ を選択します。 ![\[Explorer\] からの \[New Folder (新規フォルダー) の選択\]](_images/new-folder-home-directory.png) 5. 新しいディレクトリに名前を付けて、Enter キーを押す。 6. ![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[File (ファイル)\]**​ > ​**\[Close Folder (フォルダーを閉じる)\]**​ を選択して、ホームディレクトリを閉じます。 ![\[File (ファイル)\] メニューからのフォルダーの選択](_images/close-working-directory.png) ## [](#デスクトップ-ide-にプロジェクトフォルダーを作成する)デスクトップ IDE にプロジェクトフォルダーを作成する デスクトップ IDE からプロジェクトのローカルフォルダーを作成する手順は、次のとおりです。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを選択します。 ```command File: Open Folder... ``` ![コマンドパレットからフォルダーを開く](/mulesoft/current/ja-jp/anypoint-code-builder/_images/file-open-folder-command.png) 3. ローカルディレクトリを使用して新しいフォルダーを作成します。 ## [](#デスクトップ-ide-またはクラウド-ide-からプロジェクトフォルダーを作成する)デスクトップ IDE またはクラウド IDE からプロジェクトフォルダーを作成する IDE のターミナルを使用してフォルダーを作成します。 1. 開いているプロジェクトがないことを確認します。 2. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 3. 次のコマンドを入力してフォルダーを作成します。 ```none mkdir ``` ``​ をディレクトリの任意の名前に置き換えます。 # モッキングサービスを使用した API 仕様のテスト **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 API Console でモッキングサービスを使用して、[API 仕様へのサンプルの追加](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-add-request-response-details)で American Flights API 用に設定した GET 要求と応答を確認します。 ## [](#始める前に)始める前に American Flight API 仕様を開始していない場合は、テストする前にこの手順を完了します。 1. [American Flights API 仕様の設計](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-am-flights-api) 2. [API 仕様へのサンプルの追加](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-add-request-response-details) ## [](#api-仕様をテストする)API 仕様をテストする 1. Anypoint Code Builder で American Flights API 仕様の RAML ファイル (​`american-flights-api.raml`​) を開きます。 2. エディターのツールバーの ​**\[API Console\]**​ アイコンをクリックします。 ![エディターのツールバー内で強調表示されている API Console](/mulesoft/current/ja-jp/anypoint-code-builder/_images/api-console-button.png) 3. API Console で ​`flights/`​ リソースの ​`get`​ メソッドを選択します。 ![API Console 内で強調表示されている flights/ リソースの get メソッド](/mulesoft/current/ja-jp/anypoint-code-builder/_images/select-get-method.png) 4. **\[Try It (試す)\]**​ をクリックします。 ![API Console 内で強調表示されている \[Try it (試す)\] ボタン](_images/select-try-it-button.png) 5. **\[Query Parameters (クエリパラメーター)\]**​ 内の ​**\[destination (目的地)\]**​ テキストボックスを選択し、API 仕様で定義した 3 つの値が表示されていることを確認します。 ![API Console 内で強調表示されている値](/mulesoft/current/ja-jp/anypoint-code-builder/_images/select-query-params.png) 6. **\[Send (送信)\]**​ をクリックします。 7. インポートしたフラグメント (​`AmericanFlightsExample.raml`​) を使用して定義した応答が API Console に返されることを検証します。 ![API Console 内で強調表示されている 200 OK 応答](/mulesoft/current/ja-jp/anypoint-code-builder/_images/api-console-reponse.png) 特定の目的地を選択するロジックはまだ実装されていません。 必要に応じて、モックされた API エンドポイントを照会するときに、設定済みの応答例を確認します。 8. [Anypoint Exchange への API 仕様のパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-design-api-publish-api-spec-to-exchange)に進みます。 # 出力パネルを開く **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder 拡張機能のログを表示するように出力パネルを設定すると、IDE でアクティビティの状況を表示できます。 ## [](#始める前に)始める前に - 必須権限のある Anypoint Platform アカウントが必要です。 - Anypoint 組織のシステム管理者は、Anypoint Code Builder ベータの契約条件に同意する必要があります。 案内については、[Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)を参照してください。 ## [](#デフォルトの出力パネルを設定する)デフォルトの出力パネルを設定する Anypoint Code Builder 拡張機能からの情報を表示するように出力パネルを設定する必要があります。 1. 出力パネルを開きます。 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+u - Windows: Ctrl+Shift+u - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Output (出力)\]**​ を選択する。 ![\[View (表示)\] および \[Output (出力)\] オプションがメニュー選択肢のリストに表示されています。](_images/select-specific-output-view.png) 2. 出力パネルで、ドロップダウンリストから ​**\[Mule DX Server (Mule DX サーバー)\]**​ を選択します。 ![\[Mule DX Server (Mule DX サーバー)\] タブが開いているメニューバー](_images/select-mule-dx-server.png) これで、拡張機能によって生成されたログに関連する情報が Anypoint Code Builder に表示されます。スキャフォールディングエラーのみを表示するには、リストから ​**\[Mule DX Server: Scaffolding (Mule DX サーバー: スキャフォールディング)\]**​ を選択します。 # 参照 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder で、コンポーネントを使用してインテグレーションと実装を構築します。 - [組み込みコネクタ](#builtin-connectors) - [コアプロセッサー](#core-processors) コマンドパレットから MuleSoft コマンドを使用します。 - [コマンドリファレンス](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-acb-commands) EU または US クラウドなどの MuleSoft (​**Mule**​) 設定とデフォルトの Mule Runtime および Java バージョンを設定します。 - [MuleSoft 設定](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-mule-settings) ネットワーク設定と連携するように、Visual Studio Code (VS Code) で Anypoint Code Builder プロキシ設定を定義します。 - [Anypoint Code Builder のプロキシの使用](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-proxy-settings) Maven 設定ファイルを特定して更新する方法を理解します。 - [Maven 設定ファイル](https://docs.mulesoft.com/jp/anypoint-code-builder/ref-acb-maven) ## [](#builtin-connectors)組み込みコネクタ Anypoint Code Builder では、インテグレーションと実装の両方が Mule アプリケーションです。 Anypoint Connector とモジュールは、Mule ランタイムでイベントデータを処理する Mule Runtime Engine の拡張機能です。モジュールとは異なり、コネクタは外部のシステムやサービスに接続するための手段も提供します。 組み込み Anypoint Connector は、インテグレーションおよび実装プロジェクトのキャンバスおよび設定 XML から使用できます。これらのコネクタは次のとおりです。 - [Agent2Agent (A2A) 用 Anypoint Connector (ベータ) ()](https://docs.mulesoft.com/a2a-connector/latest/)​ (A2A Connector) - [Agentforce 用 Anypoint Connector ()](https://docs.mulesoft.com/agentforce-connector/latest/)​ (Agentforce Connector) - [データベース用 Anypoint Connector ()](https://docs.mulesoft.com/db-connector/latest/)​ (Database Connector) - [Einstein AI 用 Anypoint Connector ()](https://docs.mulesoft.com/einstein-ai-connector/latest/)​ (Einstein AI Connector) - [メール用 Anypoint Connector ()](https://docs.mulesoft.com/email-connector/latest/)​ (Email Connector) - [ファイル用 Anypoint Connector ()](https://docs.mulesoft.com/jp/file-connector/latest/)​ (File Connector) - [HTTP 用 Anypoint Connector ()](https://docs.mulesoft.com/http-connector/latest/)​ (HTTP Connector) - [Java Module ()](https://docs.mulesoft.com/jp/java-module/latest/) - [MCP 用 Anypoint Connector (MCP Connector) ()](https://docs.mulesoft.com/mcp-connector/latest/) - [Salesforce 用 Anypoint Connector ()](https://docs.mulesoft.com/salesforce-connector/latest/)​ (Salesforce Connector) - [Salesforce Data Cloud 用 Anypoint Connector ()](https://docs.mulesoft.com/salesforce-data-cloud-connector/latest/)​ (Salesforce Data Cloud Connector) - [ソケット用 Anypoint Connector ()](https://docs.mulesoft.com/jp/sockets-connector/latest/)​ (Sockets Connector) - [Workday 用 Anypoint Connector ()](https://docs.mulesoft.com/workday-connector/latest/)​ (Workday Connector) コネクタ XML タグは、名前空間で始まり操作が続く、構文 ​`namespace:operation`​ に従います。たとえば、データベース用 Anypoint Connector (Database Connector) の Select 操作の場合、​``​ となります。 詳細は、[Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb)を参照してください。 その他多くのコネクタは、Anypoint Exchange を介して Anypoint Code Builder IDE から使用できます。 - US クラウド (非 EU ホスト): [Exchange (US)](https://anypoint.mulesoft.com/exchange/) - EU クラウド (EU ホスト): [Exchange (EU)](https://eu1.anypoint.mulesoft.com/exchange/) その他のコネクタに関する情報は、​[Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors), and find documentation on all [Anypoint connectors and modules](https://docs.mulesoft.com/connectors/)​を参照してください。 ## [](#core-processors)コアプロセッサー インテグレーションアプリケーションまたは API 実装でメッセージおよびイベント処理を設定します。コアプロセッサー (Mule コンポーネントとも呼ばれる) は、Mule Runtime Engine で実行されます。 - [Async ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-async) - [Cache スコープ ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-cache) - [Choice ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-choice) - [Custom Event ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-custom-event) - [Dynamic Evaluate ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-dynamic-evaluate) - [Error Handler ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-error-handler) On-Error Continue (​``​) および On-Error Propagate (​``​) を含む - [First Successful ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-first-successful) - [Flow ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-flow) - [Flow Reference ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-flow-ref) - [For Each ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-for-each) - [Idempotent Message Validator ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-idempotent-message-validator) - [Invalidate Cache ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-invalidate-cache) - [Invalidate Key ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-invalidate-key) - [Logger Component ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-logger) - [Parallel For Each ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-parallel-for-each) - [Parse Template ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-parse-template) - [Raise Error ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-raise-error) - [Remove Variable ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-remove-variable) - [Round Robin ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-round-robin) - [Scatter-Gather ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-scatter-gather) - [acb-component-scheduler.adoc](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-scheduler) - [Set Payload ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-set-payload) - [Set Variable ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-set-variable) - [Subflow ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-subflow) - [Transaction ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-transaction) - [acb-component-transform.adoc](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-transform) - [Try スコープ ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-try) - [Until Successful ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-until-successful) ## [](#関連情報)関連情報 - [チュートリアル](https://docs.mulesoft.com/jp/anypoint-code-builder/tutorials) # 変数へのペイロード情報の抽出 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 チュートリアルのこのセクションでは、ペイロードの情報をさまざまな変数に抽出して、フローの後でそれらの値を参照する方法について説明します。 ## [](#始める前に)始める前に 次の手順を実行します。 - [Slack およびメール通知への Salesforce データの統合](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-create-escalation-api). - [Slack と Salesforce の設定ファイルの作成](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-create-config-files-sfdc). - Salesforce インテグレーションの設定。 ## [](#ペイロードから値を抽出する)ペイロードから値を抽出する 1. Anypoint Code Builder で、​`new-case-salesforce.xml`​ ファイルを開きます。 2. **On New Case**​ Salesforce コンポーネントの後の ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 ![\[Add component (コンポーネントを追加)\] ボタンが強調表示されているキャンバス UI のフロー](_images/add-transform-from-canvas-slack.png) 3. `「Transform」`​と入力して ​**\[Transform\]**​ を選択します。 4. ペイロードのデータを変数に抽出するように Transform Message コンポーネントを設定します。 ```XML (1) (2) (3) ```
1casestatus​ は、Salesforce のケース状況 (​[新規]​、​[処理中]​、​[エスカレーション済み]​) を取得します。
2casenumber​ は、Salesforce によって作成されたケース番号を取得します。
3slackchannel​ を、チュートリアルで以前に設定したチャネル名に設定します。
## [](#ペイロードの値を連結する)ペイロードの値を連結する アプリケーションの結果のペイロードの変数の値を連結する Set Payload コンポーネントを追加します。 1. Transform Message コンポーネントの後の ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-plus.png)​ (​**\[Add component (コンポーネントを追加)\]**​) アイコンをクリックします。 ![\[Add component (コンポーネントを追加)\] ボタンが強調表示されているキャンバス UI のフロー](_images/add-set-payload-slack-case-canvas.png) 2. `「set」`​と入力て ​**\[Set Payload\]**​ を選択します。 3. 次のコードを使用して Set Payload コンポーネントを設定します。 ```XML ``` 4. 「[フローロジックへの条件の追加](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-slack-add-condition-to-your-flow)」に進み、ケースがエスカレーションされた場合はメールを送信し、それ以外の場合は Slack チャンネルでケースについて通知するための条件を作成します。 # 実装エラー **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 API を実装するときに問題が発生する場合があります。 ## [](#imp-scaffold-fails)Something Failed While Scaffolding an API (API のスキャフォールディング中に問題が発生しました) Anypoint Code Builder では、API 仕様から参照される場合、次のスキーマフラグメントファイルのスキャフォールディングがサポートされています。
Avro JSON RAML

AsyncAPI

はい

はい

いいえ

GraphQL

いいえ

いいえ

はい

OData

いいえ

いいえ

はい

REST

いいえ

いいえ

はい

SOAP

いいえ

いいえ

はい

サポートされていないフラグメントを追加した場合、スキャフォールダーは Exchange から仕様をインポートするときに、これらのフラグメントをプロジェクトの連動関係として追加しません。ただし、仕様内でインラインで指定されたスキーマをスキャフォールディングすることはできます。 この種類のフラグメントを参照する API をスキャフォールディングしようとすると、次のようなメッセージが表示されます。 **Something failed while scaffolding API (API のスキャフォールディング中に問題が発生しました)** スキャフォールディングは失敗し、フローおよび他の要素は作成されません。スキャフォールディングエラーを表示するには、出力パネルのリストから ​**\[Mule DX Server: Scaffolding (Mule DX サーバー: スキャフォールディング)\]**​ を選択します。 (​[マルチルートワークスペース](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-local-apis#scaffold-spec-into-project)​を使用する) 反復的な方法を使用して API をスキャフォールディングする場合、実装プロジェクトフォルダー構造は作成されません。 この問題を回避するには、API をスキャフォールディングする前に次の手順を実行します。 1. フラグメントを ​`fragments`​ などの API 仕様プロジェクトのフォルダーに直接追加します。 ![\[Explorer\] ビューでのフラグメントフォルダー](_images/troubleshoot-imp-scaff.png) 2. フラグメントへのパスを Exchange からローカルフォルダーに変更します。次に例を示します。 - ローカルの OAS フラグメントを参照 - Exchange の OAS フラグメントを参照 ```YAML $ref: fragments/frag-defs.yaml#/components/examples/flightsList ``` ```YAML $ref: exchange_modules/e91cab06-650b-4634-9c6f-5bc4f4fc4d17/frag-defs/1.0.0/frag-defs.yaml#/components/examples/flightsList ``` 3. API を再スキャフォールディングします。 [「フラグメントを作成して仕様に直接追加」](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-fragments#create-add-fragment-directly)​を参照してください。 ## [](#関連情報)関連情報 - [OAS、RAML、および GraphQL API の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-api-specs) - [API の反復的な設計および実装](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implement-local-apis) # 接続設定のテスト **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 ほとんどのコネクタは、フローの開始をトリガーする操作 (HTTP Listener 操作など) を提供します。これらの操作には通常、テストできる接続設定が含まれています。 ## [](#設定パネルから接続をテストする)設定パネルから接続をテストする コネクタの ​**\[Configuration (設定)\]**​ パネルから接続をテストできます。たとえば、HTTP リスナー接続をテストします。 ![コネクタの設定パネル](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-configuration-panel-test.png)
1コネクタの ​[+]​ アイコンをクリックして、設定パネルを開きます。
2必須項目に入力したら、​[Test Connection (接続をテスト)]​ をクリックします。
ステータスバーに進行状況が表示されます。 - **Verifying connection (接続を検証中)**​: テストが進行中であることを示します。 - **Connection is valid (接続は有効)**​: 正常に接続されていることを示します。 - **Invalid Connection Got status code: 500 when trying to resolve a Mule Runtime operation (Mule Runtime 操作を解決しようとしているときに無効な接続で状況コード 500 を取得)**​: 接続エラーを示します。 ## [](#設定-xml-からの接続をテストする)設定 XML からの接続をテストする 設定 XML から接続をテストできます。たとえば、HTTP Listener 接続をテストするには、設定 XML で ​**\[Test Connection (接続をテスト)\]**​ をクリックします。 ![設定 XML 内の HTTP リスナーの \[Test Connection (接続をテスト)\] リンク](_images/http-listener-test-connection.png) ステータスバーに進行状況が表示されます。 - **Verifying connection inbound-request (接続のインバウンド要求を検証中)**​: テストが進行中であることを示します。 - **Connection is valid (接続は有効)**​: 正常に接続されていることを示します。 - **Invalid Connection Got status code: 500 when trying to resolve a Mule Runtime operation (Mule Runtime 操作を解決しようとしているときに無効な接続で状況コード 500 を取得)**​: 接続エラーを示します。 一般的なコード ​`500`​ エラーは、​`[port 8081: Address already in use (ポート 8081: アドレスはすでに使用中)]`​ です。ポート競合の場合、別のポート (​`8082`​ など) を設定して設定をリセットします。 パブリッシュする前にアプリケーションをデバッグモードで実行します。 # 検索結果の絞り込み ![logo cloud IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-cloud-ide.png "Cloud IDE") Cloud IDE ![logo desktop IDE](/mulesoft/current/ja-jp/_/img/logos/deployment-desktop-ide.png "Desktop IDE") Desktop IDE **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 API を実装する場合、詳細な検索条件を使用して Exchange 内の API 仕様を見つけます。 検索条件を使用して API を検索する手順は、次のとおりです。 1. IDE のアクティビティバーで、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-ms-logo.png)​ (​**Anypoint Code Builder**​) アイコンをクリックします。 ![アクティビティバー内で強調表示されている \[Anypoint Code Builder\] アイコン](_images/anypoint-code-builder-view.png) 2. **\[Quick Actions (クイックアクション)\]**​ から ​**\[Implement an API (API を実装)\]**​ をクリックします。 ![\[Quick Actions (クイックアクション)\] メニューの \[Implement an API (API を実装)\]](_images/implement-api-option-mat.png) 3. **\[Show Filters (検索条件を表示)\]**​ を選択して、検索条件を表示します。 ![\[Show filters (検索条件を表示)\] 表示ラベルが強調表示されている \[Implement API specification (API 仕様を実装)\] 画面](_images/imp-api-filters.png) Anypoint Code Builder では、API アセットに対して次の検索条件がサポートされています。 - Tag (タグ) 特定の検索を記述するキーワードまたは語句 - Type (タイプ) アセットタイプのリストは、次のようにビジネスグループで使用できるタイプに応じて異なります。 - GraphQL API GraphQL 仕様を通じて API を操作するために使用されるオブジェクト種別および定義が含まれるスキーマ定義。 GraphQL を使用すると、REST よりもはるかに柔軟にこの言語をサポートする API を照会できます。 - REST API メタデータを公開するために HTTP Request Connector で参照される API を指定する RAML または OAS ファイル。 - Category/Industry (カテゴリ/業界) ビジネスグループのシステム管理者または組織のオーナーが設定したアセットの固有のグループ分け。 - 組織 アセットを表示する権限があるビジネスグループ。 検索条件では、API の取得元であるビジネスグループが ​**\[Organization (組織)\]**​ 列に表示されます。 ![\[Organization (組織)\] 列が強調表示されている \[Implement API specification (API 仕様を実装)\] 画面](_images/imp-api-business-group.png) 4. **\[Add Asset (アセットを追加)\]**​ をクリックして、選択した API 仕様を Mule アプリケーションプロジェクトに追加します。 # 権限の設定 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 クラウド IDE とデスクトップ IDE で使用する Anypoint Code Builder および Anypoint Platform 機能へのユーザーアクセスを管理します。アクセス管理を使用して個々のユーザーに権限を直接付与するか、ユーザーが属しているチームに権限を割り当てます。 ## [](#permissions)必須権限 次の権限が必要です。 - クラウド IDE ユーザーのみ: **「Anypoint Code Builder Developer (Anypoint Code Builder 開発者)」**​では、ユーザーは Anypoint Platform から Anypoint Code Builder を起動できます。 - クラウド IDE ユーザーとデスクトップ IDE ユーザー: - 次の ​[Anypoint Exchange 権限](https://docs.mulesoft.com/jp/access-management/permissions-by-product#exchange)​を設定すると、ユーザーはアセットのダウンロードとパブリッシュができます。 - **Viewer (閲覧者)** - **Creator (作成者)** - 次の ​[Runtime Manager 権限](https://docs.mulesoft.com/jp/access-management/permissions-by-product#runtime-manager)​を設定すると、アプリケーションのデプロイなど、CloudHub および CloudHub 2.0 に関連するサービスが有効になります。 - **Read applications (アプリケーションの参照)** - **Create applications (アプリケーションの作成)** - **Delete applications (アプリケーションの削除)** - ユーザーが API の作成と表示をできるようにするための​[「Design Center Developer (Design Center 開発者)」](https://docs.mulesoft.com/jp/access-management/permissions-by-product#design-center)​権限を設定します。 権限の完全なリストは、[Anypoint Platform で使用可能な権限](https://docs.mulesoft.com/jp/access-management/permissions-by-product)を参照してください。 ## [](#before-you-begin)始める前に US または EU クラウドホストで Anypoint Platform にログインします。 手順を表示 - US クラウド (非 EU ホスト): [Anypoint Platform (US)](https://anypoint.mulesoft.com/login/) - EU クラウド (EU ホスト): [Anypoint Platform (EU)](https://eu1.anypoint.mulesoft.com/login/) Anypoint Platform アカウントがない場合、いずれかのホストからサインアップすることができます。 ## [](#ユーザーへの権限の付与)ユーザーへの権限の付与 個々のユーザーに権限を付与する手順は、次のとおりです。 1. Anypoint Platform で、​**\[Access Management (アクセス管理)\]**​ に移動します。 Anypoint Platform URL については、​[始める前に](#before-you-begin)​を参照してください。 2. [「ユーザーへの権限の付与」](https://docs.mulesoft.com/jp/access-management/users#grant-user-permissions)​の手順に従って、​[権限](#permissions)​をユーザーに割り当てます。 ユーザーが Anypoint Code Builder を使用して開発できるようになりました。 ## [](#チームへの権限の付与)チームへの権限の付与 チームに権限を付与する手順は、次のとおりです。 1. Anypoint Platform で、​**\[Access Management (アクセス管理)\]**​ に移動します。 Anypoint Platform URL については、​[始める前に](#before-you-begin)​を参照してください。 2. アクセス管理でチームの使用をまだ開始していない場合、​**\[Try New Features (新機能を試す)\]**​ > ​**\[Start Using These Features (これらの機能の使用を開始する)\]**​ をクリックして、​[チームにオプトイン](https://docs.mulesoft.com/jp/access-management/teams#opt-in-to-teams)​します。 3. [チームの設定](https://docs.mulesoft.com/jp/access-management/configure-teams)の手順を実行します: - 必要に応じて、チームを作成してユーザーを追加します。 - [権限](#permissions)​をチームに割り当てます。 チームのメンバーが Anypoint Code Builder を使用して開発できるようになりました。 ## [](#関連情報)関連情報 - [load-acb-web-ide.adoc](#load-acb-web-ide.adoc) - [ビジネスグループ](https://docs.mulesoft.com/jp/access-management/business-groups) # 機能の非表示または無効化 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 一部の Anypoint Code Builder 機能は、IDE の設定によっては無効化される場合や非表示になる場合があります。 期待どおりに動作しない機能の場合、最初に​[問題点を確認](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshooting#check-logs)​します。 ## [](#missing-mulesoft-icon)MuleSoft アイコンがアクティビティバーに表示されていない MuleSoft アイコン ([UI の確認](https://docs.mulesoft.com/jp/anypoint-code-builder/start-discover-ui) を参照) がアクティビティバーに表示されていない場合、一般的な原因を確認して対処します。 - [アクティビティバーの Anypoint Code Builder を有効にする](#enable-icon) - [制限モードを確認する](#check-trusted) - [信頼設定を変更する](#modify-trust-settings) ### [](#enable-icon)アクティビティバーの Anypoint Code Builder を有効にする アクティビティバーでは、アイコンを有効または無効にできます。 1. IDE で、アクティビティバーを右クリックします。 2. **Anypoint Code Builder**​ を確認します。 - **Anypoint Code Builder**​ が無効になっている場合、​**\[Anypoint Code Builder\]**​ をクリックしてアイコンをアクティビティバーに追加します。 - **Anypoint Code Builder**​ が表示されていない場合は、​[「Anypoint Extension Pack のインストールを確認する」](https://docs.mulesoft.com/jp/anypoint-code-builder/troubleshooting#check-extension-pack)​を参照してください。Anypoint Extension Pack がインストールされている場合は、​[制限モードを確認する](#check-trusted)​ようにしてください。 ### [](#check-trusted)制限モードを確認する プロジェクトまたはワークスペースが制限モードである場合、MuleSoft アイコンがアクティビティバーに表示されません。 プロジェクトまたはワークスペースが信頼されているのか、制限モードであるのかを判断する手順は、次のとおりです。 1. コマンドパレットを開きます。 手順を表示 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+p - Windows: Ctrl+Shift+p - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Command Palette (コマンドパレット)\]**​ を選択する。 2. 次のコマンドを入力して、​**\[Workspace Trust (ワークスペースの信頼)\]**​ タブを起動します。 ```command Workspace: Manage Workspace Trust ``` **\[Workspace Trust (ワークスペースの信頼)\]**​ タブに ​**\[You are in Restricted Mode (制限モード)\]**​ と表示されている場合、​**\[Trust (信頼)\]**​ または ​**\[Trust Parent (親を信頼)\]**​ をクリックします。 ![プロジェクトまたはワークスペースが制限モードであることを示す VS Code](/mulesoft/current/ja-jp/anypoint-code-builder/_images/acb-restricted-mode.png) 3. 信頼したら、アクティビティバーの MuleSoft アイコンを確認します。 IDE の信頼設定についての詳細は、VS Code ドキュメントの [「Trusting a workspace (ワークスペースの信頼)」](https://code.visualstudio.com/docs/editor/workspace-trust#trusting-a-workspace)​を参照してください。 ### [](#modify-trust-settings)信頼設定を変更する IDE の信頼設定を変更する手順は、次のとおりです。 1. 次のコマンドを入力して、​**\[Workspace Trust (ワークスペースの信頼)\]**​ タブを起動します。 ```command Workspace: Configure Workspace Trust Settings ``` 2. ワークスペース設定を確認し、必要に応じて調整します。 ## [](#不完全なフロー)不完全なフロー フローにコンポーネントがない場合や、HTTP Listener 操作や Scheduler などのトリガーのみが含まれている場合、次のようなエラーが ​**\[Problems (問題)\]**​ パネルや設定 XML に表示されます。 The content of element 'flow' is not complete. One of '{"http://www.mulesoft.org/schema/mule/core":abstract-message-processor, "http://www.mulesoft.org/schema/mule/core":abstract-mixed-content-message-processor}' is expected.(cvc-complex-type.2.4.b) この問題に対処するには、処理コンポーネントやコネクタ操作 (Logger や HTTP Request 操作など) をフローに追加します。 特定のコネクタおよびコンポーネント設定に関するリファレンスドキュメントについては、[参照](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference)を参照してください。 # 生成 AI の例 これらのサンプルは、生成 AI 機能の使用を開始し、独自のユースケースに合わせてメッセージを作成する方法を理解するのに役立ちます。
生成サポートは現在、RAML 1.0 および OAS 3.0 仕様に制限されています。
## [](#注文管理)注文管理 あなたの会社は成長を続ける E コマースプラットフォームを管理しており、顧客の注文の処理を効率化する方法を必要としています。バックエンドシステムで注文を作成、取得、更新、削除し、すべての操作で一貫したデータモデルと堅牢なエラー処理を確保できる API 仕様を構築したいと考えています。 このタスクの仕様を生成するには、次のようなメッセージを入力します。​`Generate an API specification for an order management system for an e-commerce platform. The API should include endpoints to create, retrieve, update, and delete orders, along with detailed definitions for request and response payloads, versioning details, and error handling mechanisms.`​ (E コマースプラットフォームの注文管理システムの API 仕様を生成します。API には、注文を作成、取得、更新、削除するためのエンドポイントに加えて、要求と応答のペイロード、バージョン設定の詳細、エラー処理メカニズムの詳細な定義が含まれている必要があります。) このメッセージは、フォーカスされていたファイルと同じ仕様言語を使用して API 仕様を生成します。 ```xml openapi: 3.0.0 info: title: Order Management API version: 1.0.0 description: API for managing orders in an e-commerce platform. servers: - url: https://api.ecommerce.com/v1 paths: /orders: post: (1) summary: Create a new order operationId: createOrder requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Order' responses: '201': description: Order created successfully '400': description: Bad request '401': description: Unauthorized '500': description: Internal server error security: - bearerAuth: [] get: (2) summary: Retrieve all orders operationId: getOrders responses: '200': description: A list of orders content: application/json: schema: type: array items: $ref: '#/components/schemas/Order' '401': description: Unauthorized '500': description: Internal server error security: - bearerAuth: [] /orders/{orderId}: (3) get: summary: Retrieve a specific order operationId: getOrder parameters: - name: orderId in: path required: true schema: type: string responses: '200': description: Order details '404': description: Order not found put: summary: Update an existing order operationId: updateOrder parameters: - name: orderId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Order' responses: '200': description: Order updated successfully '404': description: Order not found delete: summary: Delete an order operationId: deleteOrder parameters: - name: orderId in: path required: true schema: type: string responses: '204': description: Order deleted successfully '404': description: Order not found components: securitySchemes: (4) bearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: (5) Order: type: object properties: id: type: string customerId: type: string items: type: array items: $ref: '#/components/schemas/OrderItem' totalAmount: type: number format: float status: type: string enum: [pending, processing, completed, cancelled] OrderItem: type: object properties: productId: type: string quantity: type: integer price: type: number format: float ```
1新しい注文を作成する​: POST /orders​ 操作は JSON ペイロードを受け入れ、成功またはエラーの応答を返します。
2すべての注文のリストを取得する​: GET /orders​ 操作は、注文オブジェクトの配列を返します。
3特定の注文の操作を処理する​: パスパラメーター検証を使用する ​/orders/{orderId}​ の ​GET​、​PUT​、​DELETE​ メソッドが含まれます。
4ベアラートークン認証を使用する​: すべてのエンドポイントを保護するために、​bearerAuth​ スキームが適用されます。
5再利用可能なデータモデルを定義する​: Order​ および ​OrderItem​ スキーマは、要求ペイロードと応答ペイロードに一貫した構造を提供します。
## [](#在庫管理)在庫管理 あなたのビジネスは、複数のウェアハウスやストアフロントにわたる商品在庫を追跡および管理する必要があります。正確な在庫レベルを確保し、過剰販売を防ぐために、商品の作成、更新、削除、リストをサポートする API 仕様を生成する必要があります。仕様には、明確なデータモデル、入力規則ルール、適切なセキュリティメカニズムが含まれている必要があります。 このタスクの仕様を生成するには、次のようなメッセージを入力します。 ​`Generate an API specification for an inventory management system. The API should expose endpoints to manage products and stock levels, support operations to add, update, delete, and list products, and include clear definitions for data models, input validation rules, and security considerations.`​ (在庫管理システムの API 仕様を生成します。API は、商品と在庫レベルを管理し、商品の追加、更新、削除、リストの操作をサポートするためのエンドポイントを公開し、データモデル、入力検証ルール、セキュリティ上の考慮事項の明確な定義を含める必要があります。) ```xml openapi: 3.0.0 info: title: Inventory Management API version: 1.0.0 description: API for managing products and stock levels. servers: - url: https://api.inventory.com/v1 paths: /products: post: (1) summary: Add a new product operationId: addProduct requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Product' responses: '201': description: Product added successfully '400': description: Invalid input security: - bearerAuth: [] get: (2) summary: List all products operationId: listProducts responses: '200': description: A list of products content: application/json: schema: type: array items: $ref: '#/components/schemas/Product' '500': description: Internal server error security: - bearerAuth: [] /products/{productId}: (3) get: summary: Get product details operationId: getProduct parameters: - name: productId in: path required: true schema: type: string responses: '200': description: Product data '404': description: Product not found put: summary: Update a product operationId: updateProduct parameters: - name: productId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Product' responses: '200': description: Product updated '400': description: Invalid input '404': description: Product not found delete: summary: Delete a product operationId: deleteProduct parameters: - name: productId in: path required: true schema: type: string responses: '204': description: Product deleted '404': description: Product not found components: securitySchemes:(4) bearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: (5) Product: type: object required: [id, name, quantity, price] properties: id: type: string name: type: string description: type: string quantity: type: integer minimum: 0 price: type: number format: float ```
1新しい商品を作成する​: POST /products​ 操作は、JSON ペイロードを使用して商品を定義します。
2すべての商品をリストする​: GET /products​ 操作は、在庫商品の配列を返します。
3個々の商品を管理する​: ID を使用して特定の商品を取得、更新、または削除する操作が含まれます。
4ベアラー認証でエンドポイントを保護する​: この API は ​bearerAuth​ を使用して、インベントリ操作を保護します。
5検証済みの商品スキーマを含める​: この商品スキーマは、必須項目と検証 (数量の最小値: 0 など) を適用します。
## [](#ユーザーの認証と管理)ユーザーの認証と管理 あなたのアプリケーションは、ユーザーデータを保護し、サービスへのアクセスを管理するために、安全で信頼性の高いユーザー認証が必要です。これをサポートするため、ユーザー登録、ログイン、トークン管理、パスワードのリセットを処理する API 仕様を生成する必要があります。仕様には、適切な入力規則、エラー応答、セキュリティのベストプラクティスが含まれている必要があります。 このタスクの仕様を生成するには、次のようなメッセージを入力します。 `Generate an API specification for a user authentication and management service. The API should support endpoints for user registration, login, token management, and password resets, including thorough details on input validation, error responses, and necessary security protocols.`​ (ユーザー認証および管理サービスの API 仕様を生成します。API は、入力規則、エラー応答、必要なセキュリティプロトコルに関する詳細な情報を含め、ユーザー登録、ログイン、トークン管理、パスワードリセットのエンドポイントをサポートする必要があります。) このメッセージは、フォーカスされていたファイルと同じ仕様言語を使用して API 仕様を生成します。 ```xml openapi: 3.0.0 info: title: User Auth API version: 1.0.0 description: API for managing user authentication and credentials. servers: - url: https://api.example.com/v1 paths: /register: (1) post: summary: Register a new user operationId: registerUser requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RegisterRequest' responses: '201': description: User created '400': description: Invalid input /login: (2) post: summary: Authenticate a user operationId: loginUser requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LoginRequest' responses: '200': description: Login successful '401': description: Unauthorized /token/refresh: (3) post: summary: Refresh an access token operationId: refreshToken requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RefreshRequest' responses: '200': description: Token refreshed '401': description: Invalid refresh token /reset-password: (4) post: summary: Request password reset operationId: resetPassword requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ResetRequest' responses: '200': description: Password reset email sent '404': description: User not found components: securitySchemes: (5) bearerAuth: type: http scheme: bearer bearerFormat: JWT schemas: (6) RegisterRequest: type: object required: [email, password] properties: email: type: string format: email password: type: string minLength: 8 LoginRequest: type: object required: [email, password] properties: email: type: string password: type: string RefreshRequest: type: object required: [refreshToken] properties: refreshToken: type: string ResetRequest: type: object required: [email] properties: email: type: string ```
1新規ユーザーを登録する​: POST /register​ は入力を検証し、新しいユーザーアカウントを作成します。
2ユーザーをログインする​: POST /login​ はログイン情報を確認し、成功時にトークンを返します。
3トークンを更新する​: POST /token/refresh​ は、更新トークンを使用して新しいアクセストークンを発行します。
4パスワードのリセットを開始する​: ユーザーが存在する場合、​POST /reset-password​ はリセットメールを送信します。
5エンドポイントを保護する​: 保護されたすべてのルートは JWT ベアラー認証を使用します。
6スキーマを定義する​: UserRegistration​ および ​UserLogin​ スキーマには、​minLength​ や ​format: email​ などの入力規則が含まれます。
# 生成フローの例 これらのサンプルは、生成フロー機能の使用を開始し、独自のユースケースに合わせてメッセージを作成する方法を理解するのに役立ちます。 ## [](#新規ケース通知を実装する)新規ケース通知を実装する 会社には、毎日多数の顧客からの問い合わせやサポート要求が届きます。Salesforce で新規ケースが作成されるたびにメール通知を実装して、顧客に迅速に返答し、タイムリーなケース解決を確保して顧客満足度を高めたいと考えています。 このタスクのフローを生成するには、​`「Generate a flow that sends an email when a case is created in Salesforce」`​ (Salesforce でケースが作成されたときにメールを送信するフローを生成) などのメッセージを入力します。 このメッセージにより、次のような新しいフローの XML コードが生成されます。 ```xml (1) (2) (3) (4) New Case Created:"]]> ```
1 このフローは、Salesforce Connector の ​on-new-object-listener​ トリガーで開始され、新規ケースが作成されるとフローがトリガーされます。
2 新規ケースのペイロードは、Transform コンポーネント内の DataWeave スクリプトを使用して変数で設定されます。
3 メールは、定義済み SMTP 設定を使用して Email Connector の ​Send​ 操作を使用して送信されます。

メールの件名は、​「New Case Created:」​ (新規ケースが作成されました:) に設定され、その後にケースの件名が続きます。

4 メールの本文は HTML 形式に設定され、ケース ID、件名、説明が含まれます。
### [](#フローを完了する)フローを完了する 生成されたフローを確認してプロジェクトに挿入したら、次の手順を実行します。 1. ユースケースで使用する対象メールアドレスを入力します。次に例を示します。 `` 2. 対象メール ​`${email.username}`​ を​[設定プロパティファイル](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-secure-configs#properties)​に追加します。 3. 必要に応じて、​`fixed-frequency`​ 属性にスケジュール戦略の値を入力します。​**スケジューラー**​は、設定した値に従って新規ケースをポーリングするフローを開始します。次に例を示します。 ```xml ``` このサンプルフローは、5000 ミリ秒ごとに新規ケースをポーリングするように設定されています。 4. 組み込みスニペットを使用して、Salesforce インスタンスとメール受信箱の設定を追加します。 次に、完了したフローの例を示します。 ```xml ``` ## [](#電話番号を更新する)電話番号を更新する API コールを使用して電話番号を効率的かつ安全に更新することで、Salesforce システム管理者に合理化されたプロセスを提供します。 このタスクのフローを生成するには、​`「Create a flow that listens for an API call and updates the phone number of a Salesforce Account object」`​ (API コールをリスンし、Salesforce 取引先オブジェクトの電話番号を更新するフローを作成) などのメッセージを入力します。 このメッセージにより、次のような新しいフローの XML コードが生成されます。 ```xml (1) (2) (3) #[payload] (4) ```
1 このフローは、​/updatePhoneNumber​ パス上の API コールをリスンする HTTP リスナーから始まります。
2 Transform​ コンポーネントでは、更新する取引先 ID と電話番号を指定する ​<ee:transform>​ 操作を使用してペイロードが設定されます。
3 Salesforce Connector の ​Update​ 操作は、Salesforce の取引先オブジェクトを更新するために使用されます。

type​ 属性は ​Account​ に設定され、更新するオブジェクト種別を指定します。

4 ペイロードは、Salesforce で更新するレコードとして渡されます。
### [](#フローを完了する-2)フローを完了する このフローを実行するには、組み込みスニペットを使用して Salesforce インスタンスの設定を追加します。組み込みスニペットについての詳細は、[コードスニペットの操作](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets)を参照してください。 次に、完了したフローの例を示します。 ```xml ``` ## [](#取引先オブジェクトを同期する)取引先オブジェクトを同期する このフローにより、Salesforce とデータベース間のリアルタイム更新が可能になり、Salesforce とデータベースの両方でデータが常に最新かつ正確であることが保証されます。Salesforce で電話項目が変更された直後に、その項目はデータベース内ですぐに更新されます。その逆も同様です。 このタスクのフローを生成するには、​`「Create a flow that syncs the phone field of account objects between a Salesforce org and a database」`​ (Salesforce 組織とデータベース間で取引先オブジェクトの電話項目を同期するフローを作成) などのメッセージを入力します。 このメッセージにより、次のような新しいフローの XML コードが生成されます。 ```xml (1) (2) (3) (4) (5) (6) (7) (8) ```
1/syncAccountPhone​ パスで POST 要求をリスンするように HTTP ​Listener​ 操作を設定します。
2ペイロードから取引先 ID を抽出し、​accountId​ という名前の変数に保存します。
3ペイロードから電話番号を抽出し、​phone​ という名前の変数に保存します。
4Database Connector の ​Select​ 操作は、取引先 ID に基づいてデータベースから取引先レコードを取得します。
5DataWeave の ​Transform​ 操作を使用して、Salesforce 取引先オブジェクトの更新データを作成します。
6Salesforce 取引先を更新するには、Salesforce Connector の ​Update​ 操作を使用します。
7Database Connector の ​Update​ 操作を使用して、データベース内の取引先情報も更新されます。
8ペイロードは、同期が成功したことを示すために ​[Phone field synced successfully (電話項目が正常に同期されました)]​ に設定されます。
### [](#フローを完了する-3)フローを完了する 生成されたフローを確認してプロジェクトに挿入したら、次の手順を実行します。 1. MySQL データベースの設定と一致するようにデータベーステーブルと項目の名前を更新します。 2. このフローを実行するには、組み込みスニペットを使用して Salesforce インスタンスの設定を追加します。 次に、完了したフローの例を示します。 ```xml ``` ## [](#新規レコード通知を自動化する)新規レコード通知を自動化する 新しいデータベースレコードが更新されたときにユーザーへのメール通知を自動化すると、手動による介入が最小限に抑えられ、効率が向上し、エラーや遅延の可能性が減ります。 このタスクのフローを生成するには、​`「Generate a flow to send an email when a record is created in the database」`​ (データベースにレコードが作成されたときにメールを送信するフローを生成) などのメッセージを入力します。 これにより、次のような新しいフローの XML コードが生成されます。 ```xml (2) (1) (3) (4) (5) ```
1このフローは、データベース ​record​ テーブル内の新規レコードをリスンする Database Connector の ​Listener​ コンポーネントから始まります。
2スケジュール戦略は、1 秒ごとに一定間隔でフローをトリガーするように設定されています。
3リスナーのペイロードは、​Set Variable​ 操作を使用して ​record​ という名前の変数に保存されます。
4メールは、​Email Send​ コンポーネントを使用してアドレス ​sender@example.com​ から送信されます。
5メールはアドレス ​recipient@example.com​ に送信されます。
### [](#フローを完了する-4)フローを完了する 生成されたフローを確認してプロジェクトに挿入したら、次の手順を実行します。 1. 特定のユースケースに合わせて、送信者メールアドレス、受信者メールアドレス、メール本文を更新します。 2. フローが新規レコードをリスンするデータベーステーブルに対応するようにデータベーステーブル名を更新します。 3. Database Connector の ​**Listener**​ の ​`watermarkColumn`​ を、新規レコードを示すために使用されるデータベース列に更新します。 この列から取得された値を使用して次のポーリングのコンテンツが絞り込まれるため、より大きなウォーターマーク値を持つ行のみが処理されます。 4. このフローを実行するには、組み込みスニペットを使用してデータベースとメール受信箱の設定を追加します。 次に、完了したフローの例を示します。 ```xml ``` ## [](#関連情報)関連情報 - [コードスニペットの操作](https://docs.mulesoft.com/jp/anypoint-code-builder/int-work-with-code-snippets) - [Agentforce を使用したインテグレーションの作成](https://docs.mulesoft.com/jp/anypoint-code-builder/int-ai-create-integrations) - [参照](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-reference) - [acb-component-scheduler.adoc](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-scheduler) - [Set Payload ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-set-payload) - [Set Variable ()](https://docs.mulesoft.com/jp/anypoint-code-builder/acb-component-set-variable) - [Mule アプリケーションのプロパティの定義および保護](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-secure-configs) # 組み込みコネクタ Anypoint Connector とモジュールは、Mule ランタイムでイベントデータを処理する Mule Runtime Engine の拡張機能です。モジュールとは異なり、コネクタは外部のシステムやサービスに接続するための手段も提供します。 Anypoint Code Builder では、インテグレーションと実装の両方が Mule アプリケーションです。 Anypoint Connector とモジュールは、Mule ランタイムでイベントデータを処理する Mule Runtime Engine の拡張機能です。モジュールとは異なり、コネクタは外部のシステムやサービスに接続するための手段も提供します。 組み込み Anypoint Connector は、インテグレーションおよび実装プロジェクトのキャンバスおよび設定 XML から使用できます。これらのコネクタは次のとおりです。 - [Agent2Agent (A2A) 用 Anypoint Connector (ベータ) ()](https://docs.mulesoft.com/a2a-connector/latest/)​ (A2A Connector) - [Agentforce 用 Anypoint Connector ()](https://docs.mulesoft.com/agentforce-connector/latest/)​ (Agentforce Connector) - [データベース用 Anypoint Connector ()](https://docs.mulesoft.com/db-connector/latest/)​ (Database Connector) - [Einstein AI 用 Anypoint Connector ()](https://docs.mulesoft.com/einstein-ai-connector/latest/)​ (Einstein AI Connector) - [メール用 Anypoint Connector ()](https://docs.mulesoft.com/email-connector/latest/)​ (Email Connector) - [ファイル用 Anypoint Connector ()](https://docs.mulesoft.com/jp/file-connector/latest/)​ (File Connector) - [HTTP 用 Anypoint Connector ()](https://docs.mulesoft.com/http-connector/latest/)​ (HTTP Connector) - [Java Module ()](https://docs.mulesoft.com/jp/java-module/latest/) - [MCP 用 Anypoint Connector (MCP Connector) ()](https://docs.mulesoft.com/mcp-connector/latest/) - [Salesforce 用 Anypoint Connector ()](https://docs.mulesoft.com/salesforce-connector/latest/)​ (Salesforce Connector) - [Salesforce Data Cloud 用 Anypoint Connector ()](https://docs.mulesoft.com/salesforce-data-cloud-connector/latest/)​ (Salesforce Data Cloud Connector) - [ソケット用 Anypoint Connector ()](https://docs.mulesoft.com/jp/sockets-connector/latest/)​ (Sockets Connector) - [Workday 用 Anypoint Connector ()](https://docs.mulesoft.com/workday-connector/latest/)​ (Workday Connector) コネクタ XML タグは、名前空間で始まり操作が続く、構文 ​`namespace:operation`​ に従います。たとえば、データベース用 Anypoint Connector (Database Connector) の Select 操作の場合、​``​ となります。 詳細は、[Using Anypoint Code Builder to Configure a Connector](https://docs.mulesoft.com/connectors/introduction/intro-config-use-acb)を参照してください。 その他多くのコネクタは、Anypoint Exchange を介して Anypoint Code Builder IDE から使用できます。 - US クラウド (非 EU ホスト): [Exchange (US)](https://anypoint.mulesoft.com/exchange/) - EU クラウド (EU ホスト): [Exchange (EU)](https://eu1.anypoint.mulesoft.com/exchange/) その他のコネクタに関する情報は、​[Anypoint Connectors Overview](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors), and find documentation on all [Anypoint connectors and modules](https://docs.mulesoft.com/connectors/)​を参照してください。 # 自動検出を使用した要求の追跡 **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Mule アプリケーションで API 自動検出を設定して、アプリケーション内のエンドポイントへの要求などの重要なメトリクスを API Manager に表示します。API Manager は Anypoint Platform の一部です。 ![API Manager で Mule アプリケーションの要求メトリクスを表示](/mulesoft/current/ja-jp/anypoint-code-builder/_images/autodiscovery-data-apim.png) Mule アプリケーションの自動検出設定には、Mule ゲートウェイランタイムで実行される API Manager の API からの API インスタンス ID が必要です。また、アプリケーションには API Manager で API に接続するための Anypoint Platform ログイン情報 (クライアント ID とシークレット) が必要です。 Mule ゲートウェイ API インスタンスのその他の重要な使用法については、​[API インスタンスの管理](https://docs.mulesoft.com/jp/api-manager/latest/api-instance-landing-page) and [Mule Gateway ポリシーの概要](https://docs.mulesoft.com/jp/mule-gateway/policies-policy-overview)​を参照してください。 ## [](#prereqs)始める前に Mule アプリケーションの自動検出設定の API インスタンス ID を取得するには、Mule ゲートウェイランタイムで実行される API Manager の API にアクセスできる必要があります。または、API Manager ドキュメントの[Mule ゲートウェイ API インスタンスの追加](https://docs.mulesoft.com/jp/api-manager/latest/create-instance-task-mule)の手順に従って API を作成できます。 API Manager の API は、Mule アプリケーションのエンドポイントを定義する Anypoint Exchange の API 仕様に関連付けられています。エンドポイントを定義する API 仕様の例、およびエンドポイントを実装する Mule アプリケーションの例については、​[例](#examples)​を参照してください。 API 仕様の作成に関する案内については、以下を参照してください。 - Anypoint Code Builder から仕様を設計する場合は[API 仕様の作成およびインポート](https://docs.mulesoft.com/jp/anypoint-code-builder/des-create-api-specs) - Design Center から仕様を設計する場合は[Designing API Specs and Fragments](https://docs.mulesoft.com/design-center/design-designing-api-specs-fragments) API 仕様を Exchange にパブリッシュするための案内については、以下を参照してください。 - Anypoint Code Builder から仕様をパブリッシュする場合は[Exchange への API プロジェクトのパブリッシュ](https://docs.mulesoft.com/jp/anypoint-code-builder/des-publish-api-spec-to-exchange) - [Publishing API Specifications](https://docs.mulesoft.com/design-center/design-publish) Design Center から仕様をパブリッシュする場合は ## [](#setup)Mule アプリケーションで API 自動検出をセットアップする API Manager の Mule ゲートウェイランタイムで実行される API に要求データを送信するように Mule アプリケーションを設定します。API は、API Manager のグラフでこのデータを追跡します。 Mule アプリケーションの自動検出設定には、API インスタンス ID を参照するグローバル要素 (​``​) と、Mule アプリケーションの Mule Runtime Engine が API Manager で API の Anypoint Platform ビジネスグループまたは環境に接続できるようにするログイン情報 (クライアント ID とシークレット) が必要です。 自動検出をセットアップする手順は、次のとおりです。 1. [始める前に](#prereqs)​の前提条件を満たします。 2. Anypoint Platform の \[Access Management (アクセス管理)\] ( [US](https://anypoint.mulesoft.com/accounts/businessGroups/)​、 [EU](https://eu1.anypoint.mulesoft.com/accounts/businessGroups)​) から、ビジネスグループのクライアント ID とシークレットを取得します。 手順を表示 1. Anypoint Platform ( [US](https://anypoint.mulesoft.com/accounts/businessGroups/)​、 [EU](https://eu1.anypoint.mulesoft.com/accounts/businessGroups)​) の \[Access Management (アクセス管理)\] で、ビジネスグループのリストを開きます。 代わりに Anypoint Platform ホームページからビジネスグループリストに移動するには、\[Access Management (アクセス管理)\] を開き、​**\[Business Groups (ビジネスグループ)\]**​ をクリックします。 2. ビジネスグループリストで、ビジネスグループの名前をクリックします。 3. ビジネスグループの ​**\[Settings (設定)\]**​ タブをクリックします。 4. Access Manager の ​**\[Settings (設定)\]**​ タブから ​**\[Client ID (クライアント ID)\]**​ と ​**\[Client Secrets (クライアントシークレット)\]**​ の値を取得します。 3. API Manager で API インスタンスから API インスタンス ID を取得します。 手順を表示 1. Anypoint Platform ( [US](https://anypoint.mulesoft.com/)​、 [EU](https://eu1.anypoint.mulesoft.com/)​) で、API Manager に移動します。 2. API Manager の ​**\[API Administration (API 管理)\]**​ ページで、API の名前を見つけてクリックし、その ​**\[API Summary (API の概要)\]**​ ページを開きます。 3. **\[API Summary (API の概要)\]**​ ページで ​**\[API Instance ID (API インスタンス ID)\]**​ を見つけます。 Mule アプリケーションの自動検出を設定するときに、インスタンス ID が必要になります。 4. Anypoint Code Builder の Mule アプリケーションで、API インスタンス ID を使用してアプリケーションを API インスタンスとペアリングします。 1. Mule アプリケーションの XML エディターで、アプリケーションの ​``​ 要素の上に ​``​ 要素を追加します。次に例を示します。 ```xml ``` より詳しいコンテキストについては、​[例: Mule アプリケーション](#mule-app)​の例を参照してください。 2. API インスタンス ID を ​`apiID`​ 値として貼り付けます。次に例を示します。 ```xml ``` 5. Anypoint Code Builder で、ビジネスグループのクライアント ID とクライアントシークレットを ​**\[Settings (設定)\]**​ タブの Mule Runtime 引数に追加します。 1. **\[Settings (設定)\]**​ タブを開きます。 手順を表示 - \[Anypoint Code Builder\] パネルから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックします。 - アクティビティバーから ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-settings-gear.png)​ (歯車) アイコンをクリックし、​**\[Settings (設定)\]**​ を選択して、​**\[Settings (設定)\]**​ タブで ​`mule`​ を検索します。 - [\[Command Palette (コマンドパレット)](https://docs.mulesoft.com/jp/anypoint-code-builder/start-use-command-palette)\]​ でコマンド ​`MuleSoft: Open ACB Settings`​ を指定します。 2. **\[Settings (設定)\]**​ タブで、​**\[Mule\] › \[Runtime: Default Arguments (ランタイム: デフォルト引数)\]**​ を見つけます。 3. テキスト項目で、クライアント ID とシークレット引数を既存の引数の末尾に追加します。次に例を示します。 \-M-Danypoint.platform.client\_id=999abcde1f888e9h9aaa00ff5a5b03c5 -M-Danypoint.platform.client\_secret=abc0d1234e5a4ab321A000B2033D4E56 例のモック値をクライアント ID とシークレットに置き換えます。 6. アプリケーションを実行して、ビルドログで次の情報をチェックして、API が接続されていることを確認します。 - クライアント ID とクライアントシークレットが API Manager に対して正常に検証されている。 - 基盤となる ​`GateKeeper`​ が ​`FLEXIBLE`​ モードで使用可能 (ブロック解除済み) である。 - API Gateway 拡張機能が ​`STANDALONE`​ になっている。 7. API インスタンスによって追跡されるアプリケーションのエンドポイントに要求を送信します。 詳細は、[開発環境でのフローのトリガー](https://docs.mulesoft.com/jp/anypoint-code-builder/int-trigger-flows)を参照してください。 8. API Manager で、API インスタンスが登録済み (アクティブ) で、API Manager でメトリクスが生成されていることを確認します。 ![自動検出データを含む API Manager の API](/mulesoft/current/ja-jp/anypoint-code-builder/_images/autodiscovery-apim-fullview.png) ### [](#examples)例 API 自動検出についてテストされた例を次に示します。 - [例: OAS 仕様](#oas-spec)​: テストには、Design Center での仕様の作成、Exchange への仕様のパブリッシュ、Exchange で仕様に関連付けられた API Manager での Mule ゲートウェイ API インスタンスの作成が含まれます。 - [例: Mule アプリケーション](#mule-app) テストには、API Manager からの ​`apiID`​ 値を含む ​``​ 要素の追加、Anypoint Code Builder 設定の Mule Runtime 引数へのクライアント ID とシークレットの追加、デバッグモードでのアプリケーションの実行によるローカルでのアプリケーションのデプロイ、アプリケーションでの定義済みエンドポイントへの要求、API Manager で関連付けられた Mule ゲートウェイ API インスタンスが​**アクティブ**​であることの確認、要求によってインスタンスのグラフにデータ (重要なメトリクス) が生成されることの確認が含まれます。 #### [](#oas-spec)例: OAS 仕様 次の OAS 仕様では、​[Mule アプリケーションの例](#mule-app)​の 1 つのエンドポイントを定義します。 ```yaml openapi: "3.0.0" (1) info: version: 1.0.0 title: my-autodiscovery-api servers: - url: https://my-autodiscovery-app.us-e2.cloudhub.io paths: /current-time: (2) get: responses: "200": description: my description here. content: application/json: schema: type: object properties: current-time: type: string example: current-time: "2024-08-05 14:56:12" (3) ```
1OAS 3.0 仕様
2/current-time​ エンドポイント定義
3書式設定された日時値の例
#### [](#mule-app)例: Mule アプリケーション ```xml (1) (2) (3) (4) (5) (6) ```
1 HTTP リスナー接続設定例
2 フロー ​currentTimeFlow​ を参照する自動検出設定

このアプリケーションを試す場合は、​YOUR_API_ID_HERE​ を、​OAS 仕様の例​に関連付けられた Mule ゲートウェイ API インスタンスの ​apiID​ 値に置き換えます。

3 フロー ​currentTimeFlow
4 エンドポイント設定 ​path="/current-time"​ の HTTP リスナー

このエンドポイントは、​OAS 仕様の例​で定義されたエンドポイントの名前と一致します。

5 DataWeave を使用して現在時刻を指定された形式で取得する Transform Message コンポーネント

この形式は、​OAS 仕様の例​で定義された形式と一致します。

6 アプリケーション実行中の ​http://localhost:8081/current-time​ への要求時に現在時刻 (​payload​ 内) を出力する Logger コンポーネント
# 認証エラー **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder では、Anypoint Platform への接続や、クラウド IDE およびデスクトップ IDE で使用しているサービスへの接続が必要なアクションを実行すると、認証エラーが発生することがあります。 ## [](#failed-to-authenticate-to-git-git-との認証に失敗しました)Failed to Authenticate to Git (Git との認証に失敗しました) `git`​ アクションを伴うすべてのコマンド (Exchange へのパブリッシュ、API 仕様への変更のコミットなど) には、正しい Anypoint Platform ホストクラウドとの認証が必要です。認証に失敗した場合、アクションによりこの VS Code エラーがスローされます。 Failed to authenticate to git remote この問題に対処するには、エラー通知をキャンセルし、IDE がプロジェクトの正しいリージョンに設定されていることと、自分が Anypoint Platform にログインしていることを確認します。 # 開発環境でのフローのトリガー **進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。 Anypoint Code Builder IDE 内でインテグレーションまたは実装が正常に構築されたら、デスクトップ IDE またはクラウド IDE を使用しているかどうかにかかわらず、アプリケーションがローカル開発環境にデプロイされます。 デプロイ済みのアプリケーションでフローの実行をトリガーするように ​[HTTP 用 Anypoint Connector](https://docs.mulesoft.com/http-connector/latest/)​ (HTTP Connector) の ​**HTTP リスナー**​を設定します。または、Anypoint Code Builder の組み込みターミナルまたは Thunder Client などの VS Code 拡張機能からローカルにフローをトリガーします。 **Scheduler**​、​**Flow Ref**​、またはどのコネクタトリガーやメッセージソースでも、フロー実行を開始できます。これらのコンポーネントは、フローロジックを開始するために特定のイベントまたは時間間隔をリスンするエントリポイントとして機能します。 ## [](#before-you-begin)始める前に - IDE の [Anypoint Code Builder 入門](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)を完了します。 - HTTP リスナー (​``​) を使用するインテグレーションまたは実装プロジェクトをクラウド IDE またはデスクトップ IDE で使用できることを確認します。 プロジェクトを作成するには、​[インテグレーションの作成](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations) or [API の実装](https://docs.mulesoft.com/jp/anypoint-code-builder/imp-implementing-apis)​を参照するか、チュートリアル[American Flights アプリケーションの開発](https://docs.mulesoft.com/jp/anypoint-code-builder/tut-af-amflights-overview)の手順を実行してください。 ## [](#trigger-urls)HTTP リスナーからフローをトリガーするための URL インテグレーションや実装を構築してデプロイメントプロセス中に IDE 内にデプロイする場合、HTTP リスナーをトリガーするために使用する URL は、リスナーが、API 仕様から生成されたスキャフォールディング済みインターフェースの設定 XML 内にあるか、スキャフォールディング済みインターフェースを実装しない設定 XML ファイル内にあるかによって異なります。 通常、HTTP リスナーを使用するアプリケーションの場合、ホストを ​`0.0.0.0`​ に設定し、ポートを ​`8081`​ に設定します。ポート ​`8081`​ が別のアプリケーションで使用されている場合、​`8082`​ などの同様のポートを使用できます。 - スキャフォールディング済みインターフェースが​_含まれない_​設定 XML 内でフローをトリガーするには、IDE のターミナルで次のような URL を使用します。 http://localhost:8081/mypath ポートとホストは ​``​ 要素で定義され、エンドポイントは ​``​ 要素の ​`path`​ 属性で定義されます。 ```xml ... ``` - スキャフォールディング済みインターフェース内のリスナーからフローをトリガーするには、IDE のターミナルで次のような URL を使用します。 http://localhost:8081/api/my-endpoint 例の ​`/api/my-endpoint`​ に注意してください。この場合、エンドポイントはインターフェースの ​``​ 要素の ​`name`​ 属性内で定義され、​`api`​ はインターフェースの HTTP リスナーで定義されます。 たとえば、スキャフォールディング済みインターフェースのフローでフロー (​`getFlights`​) を参照しているとします。 ```xml ``` また、​`getFlights`​ フローは実装の XML 設定ファイル内に存在するとします。 ```xml ``` このフローをトリガーする URL では、エンドポイントとして ​`flights`​ が使用されます。 http://localhost:8081/api/flights URL の ​`/flights`​ エンドポイントの前に ​`/api`​ が追加され、インターフェースの ​``​ を介して要求が実行されます。一般に、リスナーは次の例のようにルーターの前に配置されます。 ```xml (1) #[vars.outboundHeaders default {}] #[payload] #[vars.outboundHeaders default {}] (2) ... ```
1リスナー (​<http:listener/>​) 内で属性 ​path="/api/*"​ はスキャフォールディングプロセス中に自動的に設定されます。
2ルーター (​<apikit:router/>​) は設定 XML 内のスキャフォールディング済みインターフェースのリスナーの後に配置されます。
## [](#trigger-flow)フローをトリガーする Anypoint Code Builder のターミナルを使用して、IDE 内でローカルにデプロイされたインテグレーションまたは実装プロジェクトの HTTP リスナーを介してフローをトリガーします。この手順は、デスクトップ IDE またはクラウド IDE 内の Mule アプリケーションを対象とします。
この手順の例は、IDE のターミナルから ​curl​ コマンドを使用してフローをトリガーする方法を示しています。また、VS Code のサードパーティ拡張機能である Thunder Client を使用して、同じ URL でフローをトリガーすることもできます。セキュリティ上の理由で、Advanced REST クライアントや Postman などの外部 REST クライアントでは、クラウド IDE にデプロイされたプロジェクトに要求を送信することはできません。
フローのトリガーを試行する前に​[HTTP リスナーからフローをトリガーするための URL](#trigger-urls)​を確認し、​[始める前に](#before-you-begin)​の前提条件を満たしていることを確認します。 1. Mule アプリケーションを起動する前に、リスナーへの接続が成功していることを確認します。 設定 XML で、HTTP リスナー設定 (​``​) の上にある ​**\[Test Connection (接続をテスト)\]**​ をクリックします。 - テストが成功すると、​**「Connection is valid (接続は有効です)」**​というメッセージが表示されます。 - 接続に失敗した場合は、接続が失敗したことを示すエラーメッセージが表示されます。​**\[Test Connection (接続をテスト)\]**​ をクリックしたときにアプリケーションが実行中の場合、エラーメッセージ​`「Invalid Connection Got status code: 500 when trying to resolve a Mule Runtime operation. Reason: 'Internal Server Error.`​ (Mule Runtime 操作を解決しようとしたときに、無効な接続で状況コード 500 を取得しました。理由: 内部サーバーエラー。)」が表示されます。 2. \[Run and Debug (実行とデバッグ)\] パネルを開きます。 手順を表示 - アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**Run and Debug (実行とデバッグ)**​) アイコンをクリックする。 - キーボードショートカットを使用する。 - Mac: Cmd+Shift+d - Windows: Ctrl+Shift+d - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。 3. **\[Debug Mule Application (Mule アプリケーションをデバッグ)\]**​ の ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-start-debug.png)​ (​**Start Debugging (F5) (デバッグを開始 (F5))**​) アイコンをクリックします。 または、​**\[Start Debugging (F5) (デバッグを開始 (F5))\]**​ アイコンが存在しない場合は、次の手順を実行します。 1. **\[Run and Debug (実行とデバッグ)\]**​ をクリックします。 2. **\[Select debugger (デバッガーを選択)\]**​ ドロップダウンメニューが表示された場合は、​**\[Mule XML Debugger (Mule XML デバッガー)\]**​ を選択してデバッグセッションを開始します。 ![\[Run and Debug (実行とデバッグ)\] ボタンと \[Mule Xml Debugger (Mule XML デバッガー)\] メニュー項目](_images/run-debug-imported-folder.png) アプリケーションが正常にデプロイされると、出力パネルに ​`DEPLOYED`​ ログメッセージが表示されます。 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \* - - + DOMAIN + - - \* - - + STATUS + - - \* \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \* default \* DEPLOYED \* \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 4. IDE から、コンソールのターミナルウィンドウを開きます。 - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Terminal (ターミナル)\]**​ を選択する。 - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[Terminal (ターミナル)\]**​ > ​**\[New Terminal (新規ターミナル)\]**​ を選択する。 - いずれかの IDE で、Ctrl キーを押してからバッククォートキー (\`) を押す。 5. IDE のターミナルで、使用するシェルの名前 (PowerShell (Windows 用)、Bash (​`bash`​)、Z shell (Mac 用の ​`zsh`​) など) をクリックします。 または、ターミナルで ​**\[+\]**​ アイコンをクリックして新しいコマンドプロンプトを開きます。 6. コマンドプロンプトで ​`curl`​ コマンドを入力してフローをトリガーします。 - インターフェース内に存在しない HTTP リスナーからフローをトリガーするには、次のような URL で ​`curl`​ を使用します。 $ curl localhost:8081/mypath `0.0.0.0`​ の代わりに ​`localhost`​ を使用します。エンドポイントのトリガーについての​[詳細](#trigger-url-no-interface)​を参照してください。 成功したら、コマンドによって応答が返されます。 - スキャフォールディング済みインターフェースに存在する HTTP リスナーからフローをトリガーするには、次のような URL で ​`curl`​ を使用します。 $ curl http://localhost:8081/api/mypath2 `0.0.0.0`​ の代わりに ​`localhost`​ を使用して、ルーターの前のリスナー​`パス`​ (ほとんどのスキャフォールディング済みインターフェースで ​`api`​) とエンドポイント (​`mypath2`​ など) を URL に追加します。エンドポイントのトリガーについての​[詳細](#trigger-url-interface)​を参照してください。