スクラッチ組織で開発時に利用頻度の高いSFDXコマンドをメモっておきます。
■組織関連
組織一覧を表示:
sf org list
組織接続:
sf org web login -r <ログインURL> -d -a <別名>
組織をブラウザーで開く:
sf org open -u <別名>
プロジェクトを作成:
sf project create -n <プロジェクト名>
スクラッチ組織を作成:
sf org create scratch -f config/project-scratch-def.json -y 30 -a scratch01 -v devhub-d
--admin-email <メールアドレス>
※:project-scratch-def.jsonにadmin-emailとusernameを定義すると便利
■ソースコードの取得とコミット
ソース取得
sfdx force:source:pull
sf project retrieve preview/start -c
-c | --ignore-conflicts
ソース送信
sfdx force:source:push
sf project deploy preview/start -c
-c | --ignore-conflicts
ソース削除
sfdx force:source:delete
ソース状況
sfdx force:source:status
検証
sf project deploy validate -d <ソースフォルダ>
■パッケージ関連
管理パッケージ作成
sf package create --name <パッケージ名> -v \ --description <パッケージの説明> --packagetype Managed --path force-app
パッケージバージョン作成
sf package version create --package <パッケージ名> --path force-app --installationkey <パスワード> --wait 10 --targetdevhubusername \ --codecoverage –f <スクラッチ組織要素ファイル> --postinstallscript=\
パッケージバージョン昇格
sf package version promote -v <devhub> -p <パッケージバージョン>
確認メッセージが表示されるので「y」を入力し、確定する。
パッケージリスト表示:
sf package list -v
> sf package list -v devhub-a
Namespace Prefix Name Id Alias Description Type
──────────────── ────────────────────── ────────────────── ────────────────────── ───────────────────────── ───────
NS_ABC FunnyWorld 0Ho2w000000XXXXXZZZ Funny App Managed
パッケージバージョンリスト表示:
sf package version list -v <devhub> -p <パッケージID>
> sf package version list -v devhub-a -p 0Ho2w000000XXXXXZZZ
=== Package Versions [2]
Package Name Namespace Version Name Version Subscriber Package Version Id Alias Installation Key Released Validation Skipped Ancestor Ancestor Version Branch
────────────── ───────── ──────────── ───────
FunnyWorld NS_ABC ver 0.1 0.1.0.1 04t2w00000XXXX1ZZZ true true false
FunnyWorld NS_ABC ver 0.2 0.2.0.1 04t2w00000XXXX2ZZZ true true false 04t2w00000XXXX1ZZZ 0.1.0.1
PS >
Subscriber Package Version Id : 04t2w00000XXXX2ZZZ
パッケージ作成時の情報を表示:
sf package version create list -v <DevHub> --status Success
①パッケージバージョンリスト表示で表示されるSubscriber Package Version IDを元にIDを確定)
> sf package create version list -v devhub-d -s Success
=== Package Version Create Requests [48]
Id Status Package Id Package Version Id Subscriber Package Version Id Tag Branch Created Date Created By
────────────────── ─────── ────────────────── ────────────────── ────────────────────────────
08c2w000000L2pLYYY Success 0Ho2w000000L0cIAAA 05i2w000000L1RFBBB 04t2w000009aeMLCCC 2023-08-03 14:05 0052w00000GYJ0BDDD
08c2w000000L2pGYYY Success 0Ho2w000000L0cIAAA 05i2w000000L1RABBB 04t2w000009aeMGCCC 2023-08-03 11:03 0052w00000GYJ0BDDD
08c2w000000XcnZYYY Success 0Ho2w000000bmWGAAA 05i2w000000XbklBBB 04t2w00000XXXX2ZZZ 2023-07-18 12:58 0052w00000GYJ0BDDD
Subscriber Package Version Id : 04t2w00000XXXX2ZZZ より
Id : 08c2w000000XcnZYYY 確定
パッケージ作成時の情報を表示:
sf package version create report -v <devhub> -i <ID>
①でのIDを利用して、レポート確認、該当パッケージのインストール用のURLが確認可能。
PS > sf package version create report -v devhub-a -i 08c2w000000XcnZYYY
=== Package Version Create Request
Name Value
───────────────────────────── ──────────────────────────────────────────
ID 08c2w000000XcnZYYY
Status Success
Package Id 0Ho2w000000bmWGAAA
Package Version Id 05i2w000000XbklBBB
Subscriber Package Version Id 04t2w00000XXXX2ZZZ
Tag
Branch
Created Date 2023-07-20 10:25
Installation URL https://login.salesforce.com/packaging/installPackage.apexp?p0=04t2w00000XXXX2ZZZ
Created By 0052w00000GYJ0BYYY
PS >
インストール先URLをゲット。
パッケージ依存関係表示:
sf package version displayancestry -v <devhub> -p <パッケージ名>