業務の隙間を埋める技術メモ。

「それ、作れるか?」より 「それ、作って大丈夫か?」を考えたい。 業務で“ちゃんと使える”かどうかを、 実際に手を動かして確かめたログを残しています。

cursorからNetsuiteに繋げてみる

今日はcursorからNetsuiteに繋げてみたのでやり方アップします。vscodeは試していませんが、たぶん同じです。

 

NetsuiteのSuiteScriptは、ローカルで実行できないのでいちいち環境にコードをアップロードして実行確認しないといけないですが、この方法を行うとコードのアップロードが自動化できるんですね。

これは便利ということで、早速試してみました。

1. NetSuite側:基本機能と権限の設定

まずNetSuiteの管理画面(Administratorロール)で、外部接続を許可します。

 

 ① 機能の有効化

 

設定 > 会社 > 機能の有効化

 

* SuiteCloudタブ: 「SuiteCloud Development Framework」 をチェック。
* Manage Authenticationタブ: 「OAuth 2.0」 をチェック。

 

 ② インテグレーション・レコードの作成
 
メニュー > 設定 > インテグレーション > 統合を管理 > 新規

 

* Name:任意※利用管理を考えると、個人のユニーク情報(メールアドレス)がおすすめ。プロジェクトから離脱したらこれを消せばいいので。
* OAuth 2.0 セクション:
* `承認コード付与`: チェックON
* ` REST Webサービス`: チェックON
* リダイレクトURI: `http://localhost:3003` (※固定値)



* 保存後: 表示される 消費者キー/クライアントID と 消費者のシークレット/クライアントのシークレット を必ずテキストエディタ等にコピペしておく。
※画面を閉じると二度と表示されないため。

 

 ③ ロール(役割)の作成

 

設定 > ユーザー/ロール > ロール管理 > 新規

 

* 権限 > 設定:
・ `Log in using OAuth 2.0 Access Tokens`: Full
・ `REST Web サービス`: Full

※マニュアルには

SuiteCloud Development Framework`: Full
も書いてあったのですが、権限に見当たらない。で、無くてもいけました。
 

2. PC側:開発環境のインストール

 

以下の順序でインストールしてください。バージョンが重要です。

 

1. Node.js: [公式サイト](https://nodejs.org/)からLTS版をインストール。
2. Java (JDK 17): NetSuite CLIJava 17 または 21 のみ対応です。
* インストール後、ターミナルで `java -version` を打ち、17系であることを確認。
3. SuiteCloud CLI:
npm install -g @oracle/suitecloud-cli
 

 

3. プロジェクト作成とOAuth2認証

 

現在のCLIは「プロジェクトの中」で認証を行う仕様です。
プロジェクトはどこでもいいので適当に作る(例えば下記はdesktop直下にns-devフォルダを作りそこをプロジェクトとする)
Nameは適当に付与。
Unit Testingは、まずは簡略化のためOFFで。

 

 ① プロジェクトの初期化

 

mkdir ns-dev
cd ns-dev
suitecloud project:create -i

 

* Type: `Account Customization Project`
* Name: `my_project`
* Unit Testing: `No`

 

 ② OAuth2接続の実行

 

cd my_project
suitecloud account:setup

 

  1. Browser-based を選択。
  2. ブラウザが開くのでログインし、手順1-③で作ったロールを選択して「Allow」を押す。
  3. ターミナルに戻り、`dev` などの別名を付ければ完了です。
 
 

4. 開発実践(基本コマンド集)

 

最新のCLI(v3.1.2以降)の正しいコマンド形式です。

ターミナルに投げるだけでポンポンやってくれます。今までの苦労なんだったんだ。

操作 コマンド
接続確認 suitecloud account:manageauth -i
ファイル一覧取得 suitecloud file:list --folder "/SuiteScripts"
ファイルをダウンロード suitecloud file:import --paths "/SuiteScripts/test.js"
ファイルをアップロード suitecloud file:upload --paths "/SuiteScripts/test.js"
プロジェクト一括送信 suitecloud project:deploy