お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
Zoho プロジェクトの Codex Scriptsを使用すると、プロジェクトやタスクの動作をカスタマイズできます。これらのスクリプトを使って、検証や処理の自動化、外部システムとの連携、データの取得や更新を行うことができます。
Codex Scripts では、スクリプトが実行される場所の現在データ、項目、メタデータなどの主要な情報を保持するオブジェクトにアクセスできます。'現在' オブジェクトには、スクリプトが実行されるデータや環境に関するコンテキスト情報が格納されます。
オブジェクト:
現在 { データ, affectedFields, 操作, org, ユーザー, タブ }
パラメーター:
|
名前
|
説明
|
|
|
実行対象となる現在のデータ。
|
|
affectedFields
|
現在の操作で更新される項目。
|
|
操作
|
実行中の操作を表します(例: BEFORE_UPDATE、AFTER_CREATE)。
|
|
org
|
組織固有のデータ。
|
|
ユーザー
|
操作を実行している現在のユーザー。
|
|
タブ
|
データに関連するタブ(タスク、プロジェクト)のデータ。
|
クライアント SDK メソッド:
Codex Scripts では、Zoho プロジェクトのデータと連携するための、複数のクライアントサイドメソッド(ユーザーが実行できる処理)も提供しています。以下のクライアントサイド SDK メソッドは、Zoho プロジェクト ポータル内のデータ、ユーザー、レイアウト、タブなどと連携します。
client。保存(データ):
Zoho プロジェクト ポータルにデータ(タスク、プロジェクト)や変数を保存します。
パラメーター:
|
名前
|
説明
|
|
データ
|
保存するデータを入力します(例: タスク、プロジェクト)。
|
- {
- 'id':'175513000000135011',
- 'layoutId':'175513000000027008',
- 'projectId':'175513000000135011',
- 'moduleId':'175513000000027005',
- 'end_date':'2025-12-15',
- 'hourly_budget':'500。000',
- 'revenue_budget':'15000。000',
- 'billing_method':'2',
- 'is_public_project':無効,
- '説明':'<div>Revamp of Zylker's クライアントポータル.</div>',
- 'is_strict_project':真,
- 'cost_per_hour':'500。000',
- '通貨':'INR',
- 'tracking_method':'1',
- 'budget_type':'5',
- 'start_date':'2025-08-01',
- '担当者':'175513000000060003',
- 'project_type':'有効',
- 'created_time':'1726215358660',
- 'is_rollup_project':無効,
- 'created_by':'175513000000060003',
- 'cost_budget':'10000。000',
- 'percent_complete':'17',
- 'rate_per_hour':'1000。000',
- 'last_updated_time':'1749370606429',
- 'completed_time':null,
- '名前':'Zylker Webサイト Revamp',
- 'updated_by':'175513000000060004',
- 'project_group':'175513000000025001',
- 'fixed_cost':'0。000',
- 'ステータス':'175513000000027104'
- }
client。getRecordById(moduleId: string, id: string):
Zoho プロジェクト ポータルからデータを 1 件取得します。
パラメーター:
|
Name
|
説明
|
|
moduleId
|
実行対象となる現在のタブの ID を入力します。
|
|
id
|
取得するデータ ID を入力します。
|
- {
- 'id': '214815000000120442',
- 'layoutId': '214815000000111729',
- 'projectId': '214815000000120442',
- 'moduleId': '214815000000027005',
- 'end_date': '1755196800000',
- 'hourly_budget': '120。000',
- 'revenue_budget': '85000。000',
- 'billing_method': '4',
- 'cf_decimal': '7。50',
- 'is_public_project': 無効,
- 'cf_number': '456',
- '説明': 'Zylker Retail 向けモバイルアプリ開発。',
- 'is_strict_project': 真,
- 'cf_email': 'monica。hemsworth@zylker.com',
- 'cost_per_hour': '75。000',
- 'cf_multi_line': 'API 連携 保留中 <br> \\n クライアント承認 必須',
- 'cf_currency': '820。5000',
- '通貨': 'USD',
- 'tracking_method': '1',
- 'cf_multi_user_picklist': [
- '214815000000117285'
- ],
- 'budget_type': '2',
- 'start_date': '1754524800000',
- '担当者': '214815000000117285',
- 'project_type': '有効',
- 'created_time': '1753082475000',
- 'cf_pick_list': '214815000000111779',
- 'is_rollup_project': 無効,
- 'cf_url': 'https://projects.zylker.com/resource-hub',
- 'cf_checkbox': 真,
- 'created_by': '214815000000068003',
- 'cost_budget': '60000。000',
- 'percent_complete': '25',
- 'cf_single_line': 'Initial phase 完了',
- 'cf_user_pick_list': null,
- 'rate_per_hour': '110。000',
- 'cost_budget_threshold': '50000。000',
- 'cf_phone': '9876543210',
- 'hourly_budget_threshold': '90。000',
- 'cf_percentage': '0。85',
- 'last_updated_time': '1755738857000',
- 'completed_time': null,
- '名前': 'Zylker モバイル App Dev',
- 'updated_by': '214815000000068003',
- 'project_group': '214815000000118849',
- 'fixed_cost': '10000。000',
- 'cf_multi_select': null,
- 'cf_date_field': '1754611200000',
- 'ステータス': '214815000000027092'
- }
client。getModules(index: 番号, range: 番号)
Zoho プロジェクトのポータルからタブ(タスク、プロジェクト)の一覧を取得します。
パラメーター:
|
名前
|
説明
|
|
index
|
インデックスを入力します。例: 0, 1。 |
|
range
|
取得するタブの数を入力します。例: 10。
|
getPortalUsers(フィルター: object): Iterator
Zoho プロジェクトのポータルからユーザーの一覧を取得します。
パラメーター:
|
名前
|
説明
|
|
フィルター
|
フィルター条件を入力します。
|
- {
- userType: 1 - ポータルユーザー, 2 - クライアントユーザー, 3 - クライアント連絡先, 4 - 閲覧のみ,
- 有効: 真|無効
- }
- [
- {
- '名前': 'Monica Hemsworth',
- 'メール': 'monica。hemsworth@zylker.com',
- 'zuid': '96901457',
- '役割': 'Administrator',
- 'roleId': '214815000000068005',
- 'profileId': '214815000000068436',
- 'companyId': null,
- 'client': 無効,
- 'id': '214815000000068003'
- },
- {
- '名前': 'Chloe Tiff',
- 'メール': 'chloe。t@zylker.com',
- 'zuid': '90707086',
- '役割': 'Administrator',
- 'roleId': '214815000000068005',
- 'profileId': '214815000000068439',
- 'companyId': null,
- 'client': 無効,
- 'id': '214815000000117285'
- },
- {
- '名前': 'Patrick Simon',
- 'メール': 'patrick。simon@zylker.com',
- 'zuid': '91617413',
- '役割': '従業員',
- 'roleId': '214815000000068009',
- 'profileId': '214815000000068445',
- 'companyId': null,
- 'client': 無効,
- 'id': '214815000000117291'
- }
- ]
getPortalUsersById(id: 番号): ユーザー
Zoho プロジェクトのポータルからポータルユーザーを取得します。
パラメーター:
- {
- '名前': 'Monica Hemsworth',
- 'メール': 'monica。hemsworth@zylker.com',
- 'zuid': '96901457',
- '役割': 'Administrator',
- 'roleId': '214815000000068005',
- 'profileId': '214815000000068436',
- 'companyId': null,
- 'client': 無効,
- 'id': '214815000000068003'
- }
getClientUsers(フィルター?: any): Iterator
Zoho プロジェクトのポータルからクライアントユーザーの一覧を取得します。
パラメーター:
|
名前
|
説明
|
|
フィルター
|
フィルター条件を入力します。
|
- [
- {
- '名前': 'Monica Hemsworth',
- 'メール': 'monica。hemsworth@zylker.com',
- 'zuid': '106992208',
- '役割': null,
- 'roleId': null,
- 'profileId': null,
- 'companyId': null,
- 'client': 真,
- 'id': '214815000000125051'
- },
- {
- '名前': 'Patrick Simon',
- 'メール': 'patrick。simon@zylker.com',
- 'zuid': '106992208',
- '役割': null,
- 'roleId': null,
- 'profileId': null,
- 'companyId': null,
- 'client': 真,
- 'id': '214815000000125051'
- }
- ]
getClientUserById(id: 番号): ユーザー
Zoho プロジェクトのポータルからクライアントユーザーを取得します。
パラメーター:
|
名前
|
説明
|
|
id
|
クライアントユーザー ID を入力します。
|
- {
- '名前': 'Monica Hemsworth',
- 'メール': 'monica。hemsworth@zylker.com',
- 'zuid': '106992208',
- '役割': null,
- 'roleId': null,
- 'profileId': null,
- 'companyId': null,
- 'client': 真,
- 'id': '214815000000125051'
- }
getClientCompanies(フィルター: object, range?: 番号, index?: 番号): Iterator
Zoho プロジェクトのポータルからクライアント組織の一覧を取得します。
パラメーター:
|
名前
|
説明
|
|
フィルター
|
フィルター条件を入力します。 |
|
range
|
取得するクライアント組織の件数を入力します。例: 10。 |
|
index 番号
|
インデックスを入力します。例: 0, 1。
|
- [
- {
- 'id': '214815000000125015',
- '名前': 'Zylker Inc',
- 'customerType': 1,
- 'addressFirstLine': '',
- 'addressSecondLine': '',
- '市区町村': '',
- '状態': '',
- '国': '',
- 'zipCode': '',
- 'webAddress': '',
- 'zohoCRMAccountId': null,
- 'currencyCode': null,
- 'updateTime': null
- },
- {
- 'id': '214815000000125016',
- '名前': 'Zylker Inc',
- 'customerType': 1,
- 'addressFirstLine': '',
- 'addressSecondLine': '',
- '市区町村': '',
- '状態': '',
- '国': '',
- 'zipCode': '',
- 'webAddress': '',
- 'zohoCRMAccountId': null,
- 'currencyCode': null,
- 'updateTime': null
- }
- ]
getClientCompanyById(id: 番号): object
Zoho プロジェクトのポータルからクライアント会社を取得します。
パラメーター:
|
名前
|
説明
|
|
id
|
クライアント会社の ID を入力します。
|
- {
- 'id': '214815000000125057',
- '名前': 'Zylker Solutions',
- 'addressFirstLine': '',
- 'addressSecondLine': '',
- '市区町村': '',
- '状態': '',
- '国': '',
- 'zipCode': '',
- 'webAddress': '',
- 'zohoCRMAccountId': '-1',
- 'updateTime': null
- }
-
getClientContacts(フィルター?: any): Iterator
Zoho プロジェクトのポータルからクライアント連絡先の一覧を取得します。
パラメーター:
|
名前
|
説明
|
|
フィルター
|
フィルター条件を入力します。
|
- [
- {
- '名前': 'Monica Hemsworth',
- 'メール': 'monica。hemsworth@zylker.com',
- 'zuid': null,
- '役割': null,
- 'roleId': null,
- 'profileId': null,
- 'companyId': null,
- 'client': 真,
- 'id': '214815000000126133'
- },
- {
- '名前': 'Chloe Tiff',
- 'メール': 'chloe。tiff@zylker.com',
- 'zuid': null,
- '役割': null,
- 'roleId': null,
- 'profileId': null,
- 'companyId': null,
- 'client': 真,
- 'id': '214815000000126153'
- }
- ]
getClientContactById(id: 番号): ユーザー
Zoho プロジェクトのポータルからクライアント連絡先を 1 件取得します。
パラメーター:
|
名前
|
説明
|
|
id
|
クライアント連絡先 ID を入力します。
|
getPicklistOptions(moduleId: string, layoutId: string, fieldId: string):
タブのピックリスト項目の設定を取得します。
パラメーター:
|
名前
|
説明
|
|
moduleId
|
タブ ID を入力します。 |
|
layoutId
|
レイアウト ID を入力します。 |
|
fieldId
|
ピックリスト項目 ID を入力します。
|
- [
- {
- 'id': '214815000000111775',
- '値': '5'
- },
- {
- 'id': '214815000000111787',
- '値': '1'
- },
- {
- 'id': '214815000000111789',
- '値': '2'
- },
- {
- 'id': '214815000000111791',
- '値': '3'
- },
- {
- 'id': '214815000000111793',
- '値': '4'
- }
- ]
getStatusDetails(moduleId: string, layoutId: string, statusId: string): any
タブからステータスの詳細を取得します。
パラメーター:
|
名前
|
説明
|
|
moduleId
|
タブ ID を入力します。 |
|
layoutId
|
レイアウト ID を入力します。 |
|
statusId
|
ステータス ID を入力します。
|
変数:
Codex スクリプトの変数は、スクリプト実行中に動的な値を保存および取得するために使用されます。ID や名前など、再利用可能な値を保存するために使用します。
構文:
有効な JavaScript 変数の命名規則に従う変数名の場合:
- variables.<var_name>.値
その他の有効な JSON キーの場合:
- variables['<var_name>'].値
または
- variables['<var_name>'].値