14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SalesforceAdvent Calendar 2021

Day 21

昔作ったツールたちを Salesforce CLI のプラグインとして書き直す

Last updated at Posted at 2021-12-20

はじめに

みなさん、こんにちは。こちらは 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」という名前で配置してください。

  1. Salesforce にログインします。
  2. 設定から、クイック検索ボックスに "API" と入力し、「API」を選択します。
  3. 「メタデータ 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 を取得できるようになりました :tada:
      config/environment.json で微調整してください。
  • sfdx heat:spec:apex:build
    • ApexDoc コメントを取得する機能が実装できていないので実装する

ぜひ使ってみて感想を教えてください。2022 年も引き続き更新し続けていきます! Happy Coding!!

14
10
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
14
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?