Dynamics 365 CRM サービスのカスタマイズ
以下のセクションでは、Dynamics 365 CRM のカスタマイズファイルのアップロード方法について詳しく説明します。
必要条件
お使いのシステムに ThingWorx Flow ツールがインストールされていることを確認します。
ThingWorx Flow ツールはインストールとともに自動的にインストールされます。ThingWorx Flow ツールの詳細については、コネクタの展開を参照してください。
この操作を実行するためには ThingWorx 管理者のログインが必要です。
手順
Dynamics 365 CRM サービスは次のいずれかの方法でカスタマイズできます。
OData メタデータを更新 - Dynamics 365 CRM サービスにはバージョン 9.0 の OData メタデータが含まれています。必要に応じて別のバージョンを使用するか、お使いのバージョンにカスタマイズを追加することもできます。この場合、Dynamics 365 CRM メタデータファイルを更新する必要があります。パッケージバージョンの Dynamics 365 CRM メタデータファイルを参照用にダウンロードし、お使いのバージョンまたは更新されたバージョンを ThingWorx Flow インスタンスにアップロードできます。
ThingWorx Flow の既成の設定では Dynamics 365 CRM モデルの一部のエンティティだけがサポートされています。既成の settings.json には、これらのサポートされているエンティティだけが含まれています。ただし、パッケージ化されている OData メタデータには、Microsoft がサポートするすべてのエンティティや関連付けが含まれています。その他のエンティティについて Dynamics 365 CRM をテストし、settings.json ファイルを更新することで、エンティティ、プロパティ、関連アイテムのリストにそれらのエンティティを追加できます。その後で、これを ThingWorx Flow インスタンスにアップロードします。構文に誤りがあると ThingWorx Flow で Dynamics 365 CRM が使用できなくなる可能性があるので、このファイルを編集する際には注意してください。このファイルの更新方法について確認するため、パッケージファイルをダウンロードし、使用されている OData メタデータファイルと比較してください。
次の表に、Dynamics 365 CRM をカスタマイズするために Dynamics 365 CRM の settings.json ファイルで更新可能な属性についての情報を示します。
属性
説明
DynamicsApiVersion
Dynamics 365 CRM の API バージョンを指定します。デフォルトでは、9.0 に設定されています。
EntitySetDefinitions
propertyDefinitions
ThingWorx Flow UI に表示する Dynamics 365 CRM のエンティティセットを定義します。
例: accounts エンティティセットを UI に含めるには、EntitySetDefinitions 属性の下で以下を指定します。
"name": "accounts",
"include": true,
"label": "Account",
ここで、name は Dynamics 365 CRM のエンティティセットの名前を示します。
エンティティセットを UI に表示するには、includetrue に設定します。
label 属性は、UI に表示するエンティティセットの名前を定義します。
各エンティティセットがプロパティを持ちます。UI に表示するエンティティセットのプロパティを propertyDefinitions 属性の下で定義します。プロパティの namelabel から成る配列を指定することで、UI に表示するエンティティセットのプロパティの数を制限できます。
例: accountid プロパティを表示するには、accountsEntitySetDefinitions 属性の propertyDefinitions 属性の下で、以下を指定します。
{
"name": "accountid",
"label": "Account ID"
}
ここで、name はプロパティの名前を示します。
label 属性は、UI に表示するプロパティの名前を定義します。
エンティティセットのすべてのプロパティを含める場合、propertyDefinitions の値を空の配列として設定します。つまり、"propertyDefinitions": [] と指定します。
* 
propertyDefinitions「操作を実行」操作と「関数を実行」操作には適用されません。
relatedItems
関連アイテムを追加した場合、返されるエンティティセットのデータには、そのエンティティセットの関連アイテムが含まれます。
例: attachments プロパティを表示するには、accountsEntitySetDefinitions 属性の relatedItems 属性の下で、以下を指定します。
{
"name": "attachments",
"label": "Attachments"
}
ここで、name は関連アイテムの名前を示します。
label 属性は、UI に表示する関連アイテムの名前を定義します。
エンティティセットのいずれの関連アイテムも含めない場合、relatedItems の値を空の配列として設定します。つまり、relatedItems: [] と指定します。
OData メタデータファイルのアップロード
1. Dynamics 365 CRM インスタンスからお使いのバージョンのメタデータファイルにアクセスしてダウンロードします。例: https://<ホスト>.dynamics.com/api/data/v9.0/$metadata。お使いのインスタンスのバージョンとバージョン番号が一致していなければなりません。
以下のコマンドを実行することで、ThingWorx Flow にパッケージ化されているバージョンをダウンロードすることもできます。
flow-deploy settings file-download -t <ThingWorx ベース URL> -u <ThingWorx 管理者のユーザー名> -p '<ThingWorx 管理者のパスワード>' -f <メタデータ XML ファイルへのパス> -s default -c dynamics365 --fileId DynamicsMetadata --contentType application/xml
* 
fileId パラメータの値が DynamicsMetadata に設定されていなければなりません。
2. XML ファイルを開き、該当する場合、ダウンロードした XML ファイル内に必要なカスタマイズが存在することを確認します。必要に応じて、ファイルを編集してカスタマイズを追加します。
3. 次のコマンドを実行して、ThingWorx Flow のインスタンスにカスタム OData メタデータファイルをアップロードします。
flow-deploy settings file-upload -t <ThingWorx ベース URL> -u <ThingWorx 管理者のユーザー名> -p '<ThingWorx 管理者のパスワード>' -f <メタデータ XML ファイルへのパス> -s default -c dynamics365 --fileId DynamicsMetadata --contentType application/xml
* 
fileId パラメータの値が DynamicsMetadata に設定されていなければなりません。
settings.json ファイルのアップロード
1. 次のコマンドを実行して、ThingWorx Flow にパッケージ化されている settings.json ファイルをダウンロードします。
flow-deploy settings download -t <ThingWorx ベース URL> -u <ThingWorx 管理者のユーザー名> -p '<ThingWorx 管理者のパスワード>' -f <Dynamics 365 設定ファイルへのパス> -s default -c dynamics365
2. settings.json ファイルを編集して、使用する OData メタデータファイルと互換性があることを確認します。
settings.json ファイル内の DynamicsApiVersion の値が、前の手順でアップロードした OData メタデータファイルのバージョンと一致していることを確認します。
3. 次のコマンドを実行して、Dynamics 365 CRM の settings.json ファイルをアップロードします。
flow-deploy settings upload -t <ThingWorx ベース URL> -u <ThingWorx 管理者のユーザー名> -p '<ThingWorx 管理者のパスワード>' -f <Dynamics 365 設定ファイルへのパス> -s default -c dynamics365
すべてのアップロードが成功した後で、すべての ThingWorx Flow サービスを再起動します。Dynamics 365 CRM のすべての操作でカスタマイズが表示されるようになりました。
これは役に立ちましたか?