---
schema_version: "1"
id: 69202366569fdcb852ffb29a93941ee0db5d2b904f91df17d908bb6da9a8218a
title: Exchange へのカスタムポリシーのアップロード
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-gateway/policies-custom-upload-to-exchange.md
canonical_url: https://docs.mulesoft.com/jp/mule-gateway/policies-custom-upload-to-exchange
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 1390729b749dd2b19b400dd527e79170a9162aff9298fbcf522ffbfa069d4c63
description: MuleSoft Documentation Site
latest: true
---
# Exchange へのカスタムポリシーのアップロード

Exchange では、Maven クライアントを使用してアセットをパブリッシュまたはコンシュームする API が提供されます。アセットをパブリッシュするには、一意のアーティファクト名と組織 ID が必要です。API Manager は、組織のアセットとしてパブリッシュされたカスタムポリシーをリストします。

Exchange Maven Facade アセットについての詳細は、 [「Exchange Maven Facade」](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/exchange-maven-facade-api-http/)​を参照してください。

## [](#前提条件)前提条件

Exchange にカスタムポリシーをアップロードするには、Exchange Contributor (Exchange コントリビューター) ロールが必要です。

## [](#maven-アーキタイプを使用して作成されたポリシーをデプロイする)Maven アーキタイプを使用して作成されたポリシーをデプロイする

提供された Maven アーキタイプを使用してカスタムポリシープロジェクトを作成する場合、ポリシーを Exchange にアップロードするために必要なプラグインが事前定義されています。​[「アーキタイプを使用したプロジェクトのセットアップ」](https://docs.mulesoft.com/jp/mule-gateway/policies-custom-getting-started#setting-up-a-project-with-the-archetype)​を参照してください。

Maven アーキタイプを使用して作成されたポリシーをデプロイする手順は、次のとおりです。

1. Maven ​`.m2`​ ディレクトリで、Exchange ログイン情報を使用して ​`settings.xml`​ ファイルを更新します。
    
    ```xml
    <?xml version="1.0" encoding="UTF-8"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <servers>
        <server>
           <id>exchange-server</id>
           <username>myusername</username>
           <password>mypassword</password>
         </server>
      </servers>
    </settings>
    ```
    
    <table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">ログイン情報でなく、トークンを使用した認証方法についての詳細は、​<a href="https://docs.mulesoft.com/jp/exchange/to-publish-assets-maven#publish-and-consume-federated-assets" class="xref page">「統合アセットをパブリッシュおよびコンシュームする」</a>​を参照してください。</td></tr></tbody></table>
2. `mvn clean deploy`​ を実行してポリシーを Exchange にパブリッシュします。
    
    これで、指定された組織に属する API にカスタムポリシーを適用できます。

## [](#maven-アーキタイプを使用せずに作成されたポリシーをデプロイする)Maven アーキタイプを使用せずに作成されたポリシーをデプロイする

提供された Maven アーキタイプを使用してカスタムポリシープロジェクトを作成していない場合は、Exchange デプロイメント設定を手動で定義する必要があります。

Maven アーキタイプを使用せずに作成されたポリシーをデプロイする手順は、次のとおりです。

1. Anypoint Platform で、使用する組織 ID を次の方法で検索します。
    
    1. **\[Access Management (アクセス管理)\] > \[Organization (組織)\]**​ に移動します。
    2. 組織の名前をクリックします。
    3. ブラウザーアドレスから UUID をコピーします。たとえば、URL から ​_2a4b93c3-7899-4ea7-9374-f787744d8784_​ をコピーします。
2. `pom.xml`​ ファイルを次のとおり更新します。
    
    1. `groupId`​ 値を前のステップの組織 ID に置き換えます。
        
        ```XML
        <groupId>{orgId}</groupId>
        ```
    2. 次のプロパティを追加して、​`{orgId}`​ を前のステップの組織 ID に置き換えます。
        
        ```XML
        <properties>
          <exchange.url>https://maven.anypoint.mulesoft.com/api/v1/organizations/{OrgId}/maven</exchange.url>
          <mule.maven.plugin.version>3.2.0</mule.maven.plugin.version> <!-- check for last available version -->
        </properties>
        ```
    3. Exchange をリポジトリとして定義します。
        
        ```XML
        <repository>
        	<id>exchange-server</id>
        	<name>MuleSoft Exchange Environment</name>
        	<url>${exchange.url}</url>
        	<snapshots>
        		<enabled>true</enabled>
        	</snapshots>
        </repository>
        ```
    4. Exchange サーバーを配布管理リポジトリとしてセットアップします。
        
        ```XML
        <distributionManagement>
            <repository>
                <id>exchange-server</id>
                <name>Corporate Repository</name>
                <url>${exchange.url}</url>
                <layout>default</layout>
            </repository>
        </distributionManagement>
        ```
    5. 次の構築プラグインを追加します。
        
        - Mule Maven プラグイン: 必要なすべてのファイルが存在し、ポリシーを適切にパッケージ化するためのすべての要件を満たしていることを確認する。
        - Maven デプロイプラグイン: Exchange リポジトリと通信し、ポリシーの JAR および YAML ファイルをアップロードする。
            
            ```XML
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.mule.tools.maven</groupId>
                        <artifactId>mule-maven-plugin</artifactId>
                        <version>${mule.maven.plugin.version}</version>
                        <extensions>true</extensions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>upload-template</id>
                                <phase>deploy</phase>
                                <goals>
                                    <goal>deploy-file</goal>
                                </goals>
                                <configuration>
                                    <repositoryId>exchange-server</repositoryId>
                                    <url>${exchange.url}</url>
                                    <file>${project.basedir}/${project.artifactId}.yaml</file>
                                    <generatePom>false</generatePom>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>${project.artifactId}</artifactId>
                                    <version>${project.version}</version>
                                    <packaging>yaml</packaging>
                                    <classifier>policy-definition</classifier>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
            ```
    6. 次のプラグインリポジトリを追加します。
        
        ```XML
        <pluginRepositories>
            <pluginRepository>
                <id>mule-plugin</id>
                <name>Mule Repository</name>
                <url>https://repository.mulesoft.org/nexus/content/repositories/public/</url>
            </pluginRepository>
        </pluginRepositories>
        ```
3. Maven ​`.m2`​ ディレクトリで、Exchange ログイン情報を使用して settings.xml ファイルを更新します。
    
    ```XML
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <servers>
        <server>
           <id>exchange-server</id>
           <username>myusername</username>
           <password>mypassword</password>
         </server>
      </servers>
    </settings>
    ```
    
    <table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">ログイン情報でなく、トークンを使用した認証方法についての詳細は、​<a href="https://docs.mulesoft.com/jp/exchange/to-publish-assets-maven#publish-and-consume-federated-assets" class="xref page">「統合アセットをパブリッシュおよびコンシュームする」</a>​を参照してください。</td></tr></tbody></table>
4. `mvn clean deploy`​ コマンドを使用してポリシーをデプロイします。
    
    <table>
<tbody><tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>Exchange リポジトリに定義される ID は一致する必要があります。</p>
</div>
</td>
</tr>
</tbody></table>
    
    これで、指定された組織に属する API にカスタムポリシーを適用できます。

## [](#関連情報)関連情報

- [カスタムポリシーのパッケージ化](https://docs.mulesoft.com/jp/mule-gateway/policies-custom-package)
- [カスタムポリシーの概念の確認](https://docs.mulesoft.com/jp/mule-gateway/policies-custom-mule-4-reference)