Shopify App Cli で何ができるか
前回、shopify-cli をインストールしたので、Shopify App Cli で何ができるかを見ていきます。
shopify connect
パートナーアカウントや特定のShopify開発ストアなど、既存のShopify App CLIプロジェクトをShopifyに接続します。このコマンドは、認証トークンを使用してプロジェクトの.env
ファイルを再作成します。
これは、1つのプロジェクトを複数のコンピュータにまたがって作業している場合や、gitのようなバージョン管理システムを使って他の開発者と共同作業をしている場合に便利です。
shopify create
指定したタイプの新規プロジェクトを作成します。プロジェクトは、現在のディレクトリのサブディレクトリに作成されます。
create
コマンドを単独で実行すると、CLIでプロジェクトの種類(Node.js または Ruby on Rails)を選択するように促されます。↑ ↓キーで選択し、Enter。
$ shopify create
? What type of project would you like to create? (Choose with ↑ ↓ ⏎, filter with 'f')
> 1. Node.js App
2. Ruby on Rails App
また、サブコマンドで作成するアプリの種類を指定することもできます。
Node.js アプリの場合
$ shopify create node
Ruby on Rails アプリの場合
$ shopify create rails
タイプを指定すると、Shopify App CLIはスキップしてプロジェクトの名前を入力するように促されます。ここで入力した名前が プロジェクトのディレクトリ名となります。
$ shopify create node
? App Name
>
shopify serve
ngrok を使って、shopify と ローカル環境を接続し、ローカル開発サーバーを起動します。
オプションとしてホストを設定することができます。
shopify serve --host=HOST
実行中のトンネルをバイパスして、カスタムホストを使用します。HOSTはHTTPS urlでなければなりません。
shopify open
デフォルトのブラウザでローカル開発アプリを開きます。
shopify populate [ customers | draftorders | products ]
Shopify開発ストアに顧客、注文、または製品の例(ダミーのデータ)を入力します。
オプションとして以下を設定することができます。
--count 数字: 入力するダミー項目の数を指定します。デフォルトは5です
--silent: ダミー項目を表示しません
--help: 各サブコマンドに固有のオプションをさらに表示します。
例えば、以下のように使用します。
開発ストアに30人の顧客を追加する
$ shopify populate customers --count 30
開発ストアに5つの追加注文を入れる
$ shopify populate draftorders
shopify generate [ billing | page | webhook ]
Node プロジェクトでコードを生成します。新しい課金APIコール、新しいページ、または新しいウェブフックの生成をサポートします。
shopify generate billing [ one-time-billing | recurring-billing ]
アプリの課金を有効にします。このコマンドは、Shopifyの課金APIを呼び出すために必要なコードを生成します。
shopify generate page <pagename>
指定した名前でアプリ内に新しいページを生成します。新しいファイルは、プロジェクトの /pages
ディレクトリ内に生成されます。
shopify generate webhook <type>
指定したShopifyストアイベントをリスンする新しいWebhookを生成して登録します。
ストアで新しい製品が作成されるたびに呼び出される新しいウェブフックを生成して登録するには、以下のようにします。
$ shopify generate webhook PRODUCTS_CREATE
shopify deploay
現在のNodeプロジェクトをホスティングサービスにデプロイします。現在は Heroku が唯一の選択肢ですが、将来的にはもっと多くの選択肢が追加される、とのことです。
shopify logout
現在認証されているパートナー組織とストアからログアウトします。logoutコマンドは、無効な資格情報をクリアします。次回、プロジェクトをShopifyに接続する際には、再認証が必要になります。
shopify config
Shopify App CLIのオプションを設定します。現在は以下の2つのオプションがあります。
analytics
analytics を有効または無効にすることで、匿名の使用報告を設定します。
$ shopify config analytics [ --status | --enable | --disable ]
feature
CLIでアクティブな機能セットを構成します。このコマンドは、CLIツール自体の開発やデバッグ作業に使用します。何をしているか分かっている場合のみ変更してください。詳細については、Shopify App CLI開発ガイドを確認してください。
$ shopify config feature [ feature_name ] [ --status | --enable | --disable ]
shopify help
利用可能なコマンドを一覧表示し、そのコマンドで何ができるかを表示します。利用可能なコマンドは、プロジェクトディレクトリの中にいるかどうか、プロジェクトの種類によって異なります。
以下の3つのコマンドは同じ結果を表示します。
$ shopify help
$ shopify -h
$ shopify --help
また、ヘルプコマンドやオプションを使用して、特定のコマンドに関するより詳細な情報を得ることもできます。
$ shopify help [command]
$ shopify [command] -h
$ shopify [command] --help
例えば、
$ shopify help create
Create a new project.
Usage: shopify create [ node | rails ]
shopify create node: Creates an embedded nodejs app.
Usage: shopify create node
Options:
--name=NAME App name. Any string.
--app_url=APPURL App URL. Must be a valid URL.
--organization_id=ID Partner organization ID. Must be an existing organization.
--shop_domain=MYSHOPIFYDOMAIN Development store URL. Must be an existing development store.
shopify create rails: Creates a ruby on rails app.
Usage: shopify create rails
Options:
--name=NAME App name. Any string.
--app_url=APPURL App URL. Must be a valid URL.
--organization_id=ID Partner organization ID. Must be an existing organization.
--shop_domain=MYSHOPIFYDOMAIN Development store URL. Must be an existing development store.
--db=DB Database type. Must be one of: mysql, postgresql, sqlite3, oracle, frontbase, ibm_db, sqlserver, jdbcmysql, jdbcsqlite3, jdbcpostgresql, jdbc.
--rails_opts=RAILSOPTS Additional options. Must be string containing one or more valid Rails options, separated by spaces.
なるほど、shopify create node
には以下のようなオプションがあることがわかます。
$ shopify create node --name=NAME --app_url=APPURL --organization_id=ID --shop_domain=MYSHOPIFYDOMAIN
Discussion