はじめに
みなさん、こんにちは。こちらは Salesforce Advent Calendar 2021 の 21 日目のエントリになります。
気づいたらこれが今年はじめての Qiita 投稿です。自分でもびっくりするぐらい、あっという間の 2021 年でした。仕事と CTA 受験を優先してしまったことが反省ですね。
[PR] 認定テクニカルアーキテクト (CTA) 試験に合格しました。
本エントリでは、今年の数少ない私の GitHub 活動をご紹介します。
昔作ったツールたちを sfdx plugin として書き直す
過去にいくつか Salesforce 開発者向けツールを Java や Gulp タスクで作っていたのですが、初期セットアップが少々面倒だったこともあり、一番簡単なのは何かなーと考えていたところ、Salesforce CLI のプラグインにすることを思いつきました。
旧 package.xml 生成ツール
Java で作ったツールです。初めてのアドベントカレンダーでした。懐かしいですが、いまだにぼちぼち問い合わせがあるので、根強い人気を感じます。
Qiita
GitHub: salesforce-manifest-generator
また、ほぼ同じ仕様ですが、JavaScript で書き直し、Gulp タスクとして実行できるようにもしていました。これも Node.js に慣れてないとセットアップに手間取るかもしれないですね。
GitHub: sfdx-gulp-manifest
旧 Apex 仕様書生成ツール
昔から ApexDoc というツールに強いあこがれを持っていたこともあり、また Tooling API の可能性に惹かれていたこともあり、勉強がてらどこまでやれるかに挑戦していました。結果、かなりの情報を自動で取得できることがわかりました。これも Gulp タスクとして実行できます。
GitHub: apex-specs-generator
新しく作ったプラグイン
お待たせしました。上記のツールたちを簡単にセットアップ&実行できるようになりました。
GitHub: heat-sfdx-cli
初期設定
インストールはコマンド一発です。便利ですね。
sfdx plugins:install heat-sfdx-cli
package.xml 生成コマンド
sfdx heat:manifest:build --apiversion 53.0 -u myOrg@example.com --recommended
コマンドを実行する前に、Salesforce CLI 経由での Salesforce 組織への認証は済ませておいてください。
Metadata API の WSDL ファイルをローカルに配置する必要がありますので、 Salesforce 組織からダウンロードしておきましょう。デフォルトではプロジェクト内の config 配下に「metadata.wsdl」という名前で配置してください。
- Salesforce にログインします。
- 設定から、クイック検索ボックスに "API" と入力し、「API」を選択します。
- 「メタデータ WSDL の生成」を右クリックして、WSDL ファイルを保存します。
Apex 仕様書生成コマンド
sfdx heat:spec:apex:build --apiversion 53.0 -u myOrg@example.com -o docs
コマンドを実行する前に、Salesforce CLI 経由での Salesforce 組織への認証は済ませておいてください。
さいごに
正式リリースを発表できればよかったのですが、執筆時点では残念ながらベータ公開とさせていただきます。
- sfdx heat:manifest:build
- 一部のメタデータ名が取得できていないので取得できるようにする →
StandardValueSet
を取得できるようになりました
config/environment.json
で微調整してください。
- 一部のメタデータ名が取得できていないので取得できるようにする →
- sfdx heat:spec:apex:build
- ApexDoc コメントを取得する機能が実装できていないので実装する
ぜひ使ってみて感想を教えてください。2022 年も引き続き更新し続けていきます! Happy Coding!!