LoginSignup
16
18

More than 5 years have passed since last update.

Force.com Migration Tool (移行ツール) のメタデータまとめ

Last updated at Posted at 2014-05-28

はじめに

Force.com Migration Tool (Force.com 移行ツール) は便利ですが、新しいファイルを作成してデプロイしたい時とかに以下のようなことで迷ってしまうことがあります。

  • ディレクトリ名はなんだっけ?
  • 拡張子はなんだっけ?
  • package.xmlにはどうやって書くんだっけ?

今回、Force.com移行ツールの機能だけで比較的簡単に確認する方法があったので紹介します。

インストール方法など

確認方法

移行ツールをダウンロードした時に入っているサンプルのbuild.xmlから、describeMetadataというコマンドを使用します。

build.xml
<!-- Retrieve the information on all supported metadata type -->
<target name="describeMetadata">
    <sf:describeMetadata username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}"/>
</target>

すると、次のような結果がターミナルに出力されます。

実行結果
describeMetadata:
[sf:describeMetadata] ************************************************************
[sf:describeMetadata] XMLName: InstalledPackage
[sf:describeMetadata] DirName: installedPackages
[sf:describeMetadata] Suffix: installedPackage
[sf:describeMetadata] HasMetaFile: false
[sf:describeMetadata] InFolder: false
[sf:describeMetadata] ChildObjects: ************************************************************
[sf:describeMetadata] ************************************************************
[sf:describeMetadata] XMLName: CustomLabels
[sf:describeMetadata] DirName: labels
[sf:describeMetadata] Suffix: labels
[sf:describeMetadata] HasMetaFile: false
[sf:describeMetadata] InFolder: false
[sf:describeMetadata] ChildObjects: CustomLabel,************************************************************
[sf:describeMetadata] ************************************************************
[sf:describeMetadata] XMLName: StaticResource
[sf:describeMetadata] DirName: staticresources
[sf:describeMetadata] Suffix: resource
[sf:describeMetadata] HasMetaFile: true
[sf:describeMetadata] InFolder: false
[sf:describeMetadata] ChildObjects: ************************************************************

...

[sf:describeMetadata] ************************************************************
[sf:describeMetadata] XMLName: Translations
[sf:describeMetadata] DirName: translations
[sf:describeMetadata] Suffix: translation
[sf:describeMetadata] HasMetaFile: false
[sf:describeMetadata] InFolder: false
[sf:describeMetadata] ChildObjects: ************************************************************
[sf:describeMetadata] ************************************************************
[sf:describeMetadata] XMLName: ApexClass
[sf:describeMetadata] DirName: classes
[sf:describeMetadata] Suffix: cls
[sf:describeMetadata] HasMetaFile: true
[sf:describeMetadata] InFolder: false
[sf:describeMetadata] ChildObjects: ************************************************************
[sf:describeMetadata] ************************************************************
[sf:describeMetadata] XMLName: ApexTrigger
[sf:describeMetadata] DirName: triggers
[sf:describeMetadata] Suffix: trigger
[sf:describeMetadata] HasMetaFile: true
[sf:describeMetadata] InFolder: false
[sf:describeMetadata] ChildObjects: ************************************************************
[sf:describeMetadata] ************************************************************
...

何やら色々表示されていますが、

  • XMLNamepackage.xml<name>
  • DirNameをディレクトリ名に
  • Suffixを拡張子名に

それぞれ指定すれば良いです。

よく使う項目まとめ

個人的によく使うメタデータを一覧にまとめときます。

項目 ディレクトリ名 拡張子名 package.xml<name>
Apexクラス classes .cls ApexClass
Apexトリガ triggers .trigger ApexTrigger
Visualforceページ pages .page ApexPage
オブジェクト(標準・カスタム) objects .object CustomObject
カスタム表示ラベル labels .labels CustomLabels
カスタムタブ tabs .tab CustomTab
翻訳ファイル translations .translation Translations

補足

サンプルのbuild.xmlにはlistMetadataというコマンドも用意されてます。

build.xml
<!-- Retrieve the information of all items of a particular metadata type -->
<target name="listMetadata">
    <sf:listMetadata username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" metadataType="${sf.metadataType}"/>
</target>

特定のメタデータ(ApexClassなど)を指定して実行すると、現在その組織に保存されているデータが表示されます。

ただし、使う時はbuild.properties

build.properties
sf.metadataType = ApexClass

などと書いてから。

参考

16
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
18