何があったか
2019年6月15日以降、force:auth:jwt:grant
を実行してデフォルトスクラッチ組織の切り替えが出来なくなりました。
Salesforce CLI のv46 アップデートが原因
2019年6月15日 あった Salesforce CLI
のv46 アップデート でforce:auth:jwt:grant
の仕様が若干変わったことが原因です。
ただし、6月19日にRelease Noteを確認したところ、該当文句が記載されていましたが、
6月22日に再度確認したらその言及が消えてしまったので今後アップデート以前の仕様に戻ることも期待しています。
6月22日に既存切り替え方式で試したところ、相変わらず切り替えられなかったので、とりあえずメモも兼ねてここに記載させて頂きます。
force:auth:jwt:grant の仕様が変わった
既存方式は、切り替え先のスクラッチ組織に対して force:auth:jwt:grant (--setdefaultusername)
コマンドを実行してJWT認証が通ればデフォルトスクラッチ組織も変わる仕組みでした。
// 組織A → default | 組織B → non-default
> force:auth:jwt:grant --username 組織B --setdefaultusername (...) //組織B認証
// 組織A → NON-DEFAULT | 組織B → DEFAULT
それが、新方式は切り替え対象のスクラッチ組織から force:auth:logout
コマンドで1回ログアウトしてからforce:auth:jwt:grant
を実行しなければいけません。
// 組織A → default | 組織B → non-default
> force:auth:logout -targetusername 組織B //組織Bからログアウト
> force:auth:jwt:grant --username 組織B -setdefaultusername (...) //組織B認証
// 組織A → NON-DEFAULT | 組織B → DEFAULT
以上です。
またSalesforce CLIにアップデートがあれば、この記事も更新しておきます。