JS SDK

JS SDK

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

前提条件

次のSDKメソッドを呼び出す前に、JSファイル https://js.zohocdn.com/projects/js/client_sdk.min.jsをコードに含めてください。

Zoho BugTrackerのスタイルを使用するには、CSSファイル https://css.zohocdn.com/projects/styles/zps-extn/client_sdk.cssをコードに含めてください。

init

拡張機能を初期化します。

zohobugtracker.init().then(function(){});

他のSDKメソッドはこのメソッドの呼び出し後にのみ動作するため、最初にこのメソッドを呼び出す必要があります。initの読み込み中に他の関数を使用する場合は、init関数内で使用できます。

zohobugtracker.init().then(function () {
   zohobugtracker.get('portal.name').then(function (response) 
                                                });

metadata

拡張機能の支払い情報と設定情報を取得します。

zohobugtracker.metadata().then(function(response)
 {
/* output { 'data': { 'configs': [ { 'name': 'Name', 'type': 'text', 'is_mandatory': true, 'is_secure': false, 'description': 'Enter your name', 'value': 'Helen Collins' }, { 'name': 'Employee ID', 'type': 'text', 'is_mandatory': true, 'is_secure': false, 'description': 'Enter your Emp. ID', 'value': 'EMP08' } ], 'payments_info': { 'edition': 'trial' }, 'status': 'success' } } */ }); });

context

現在の場所のタブ名とエンティティIDを取得します。タブ名は「bugs」で、エンティティIDは該当するバグのIDです。

zohobugtracker.context().then(function(response)
 {
  /* output
 {
 'module_name': 'bugs',
 'entity_id': '27092000000031079'
 }
*/
    });
                                                

 

ウィジェットの場所「app_settings」では、エンティティIDは提供されません。

get

現在の場所のインスタンス、現在のユーザー、ポータル、プロジェクト、バグの詳細を取得します。


 zohobugtracker.get('bug.id').then(function(response)
    {
    /* output
    {
     'data': 27092000000031080,
     'status': 'success'
     }
     */
      });
                                                                              

getメソッドで使用できるキーの一覧は次のとおりです。

インスタンス

  • instances

現在のユーザー

  • current_user

ポータル

  • portal.trial_enabled
  • portal.settings
  • portal.gmt_time_zone
  • portal.project_count
  • portal.role
  • portal.avail_user_count
  • portal.locale
  • portal.project_prefix
  • portal.available_projects
  • portal.max_user_count
  • portal.profile_id
  • portal.name
  • portal.id_string
  • portal.bug_plural
  • portal.plan
  • portal.bug_plan
  • portal.bug_singular
 portal.default
  • portal.extensions
  • portal.is_crm_partner
  • portal.is_display_projectprefix
  • portal.is_new_plan
  • portal.layouts
  • portal.link

プロジェクト

  • project.is_strict
  • project.role
  • project.bug_count
  • project.owner_id
  • project.bug_prefix
  • project.link
  • project.説明
  • project.phase_count
  • project.updated_date_long
  • project.updated_date_format
  • project.workspace_id
  • project.billing_status
  • project.key
  • project.is_chat_enabled
  • project.owner_name
  • project.profile_id
  • project.enabled_tabs
  • project.name
  • project.is_public
  • project.layout_details
  • project.status
  • project.permissions
  • project.IS_BUG_ENABLED
  • project.bug_defaultview

  • project.bug_prefix
  • project.cascade_setting
  • project.completed_on
  • project.completed_on_long
  • project.created_date
  • project.created_date_format
  • project.created_date_long

  • project.custom_status_id
  • 
project.id_string
  • project.show_project_overview

  • project.start_date

  • project.start_date_long
  • project.updated_date

  • project.users
  • project.customfields
  • project.custom_fields

バグ

  • bug.タブ
  • bug.created_time_long
  • bug.customfields
  • bug.status
  • bug.reproducible
  • bug.link
  • bug.severity
  • bug.reported_person
  • bug.title
  • bug.flag
  • bug.assignee_name
  • bug.reporter_id
  • bug.classification
  • bug.created_time_format
  • bug.closed
  • bug.created_time
  • bug.key
  • bug.attachment_count
  • 
bug.bug_number
  • 
bug.bug_prefix

  • bug.comment_count
  • 
bug.escalation_level
  • 
bug.id_string

  • bug.reporter_email
  • 
bug.reporter_non_zuser
  • 
bug.updated_time
  • 
bug.updated_time_format
  • 
bug.updated_time_long
  • bug.attachments
  • bug.comments
  • bug.views

フェーズ

  • phase.closed
  • phase.comments_count
  • phase.created_time
  • phase.created_time_format
  • phase.created_time_long
  • phase.end_date
  • phase.end_date_format
  • phase.end_date_long
  • phase.flag
  • phase.has_comments
  • phase.id
  • phase.id_string
  • phase.is_workfield_removed
  • phase.last_updated_time
  • phase.last_updated_time_format
  • phase.last_updated_time_long
  • phase.link
  • phase.name
  • phase.owner_id
  • phase.owner_name
  • phase.owner_zpuid
  • phase.project
  • phase.sequence
  • phase.start_date
  • phase.start_date_format
  • phase.start_date_long
  • phase.status
  • phase.status_det

選択済みファイル

アップロード待ちのキューにあるファイルはchosen_filesに保存されます。このキーは、添付ファイルピッカーでのみサポートされています。

  • chosen_files

デプロイメントの種類

現在のデータセンターを取得します。

zohobugtracker.get('deployment_type').then(function() {
   /* output
   com
   */
   });                                            

プロフィール

ポータルレベルですべてのプロフィールを取得するキーと、現在のユーザーのプロフィール詳細を取得するキーがサポートされています。

  • all_profiles:ポータル内のすべてのプロフィール情報を取得します。
  • current_profile:現在のユーザーのプロフィール詳細を取得します。

テーマ

Zoho BugTrackerでは、ポータルのテーマがサポートされています。

  • current_theme:現在のテーマを取得します。
zohobugtracker.get('current_theme').then(function() {
                                                /* output
                                                {mode: 'default', zpPrimary: '255, 100, 0', zpPrimaryHover: '255, 247, 243'}
                                                */
                                                });

set

現在の場所にある特定のバグの属性を更新します。

var nameObj={name:'Create a new checklist'};
 zohobugtracker.set('task',nameObj).then(function(response)
  {
  /* output
  {
   'data': {
   'tasks': [
   {
    'phase_id': '2*******************2',
      'link': {
        'timesheet': {
         'url': 'https://p*************e.********.com/restapi/portal/5******7/projects/2****************9/tasks/2****************9/logs/'
       },
       'self': {
      'url': 'https://p*************e.********.com/restapi/portal/5******7/projects/2****************9/tasks/2****************9/'
        }
        },
         'description': '',
         'duration': '0',
         'last_updated_time_long': 1542193097398,
         'details': {
         'owners': [
         {
         'name': 'JOHN MARSH',
         'id': '5************3'
          }
          ]
          },
          'id': 2************0,
          'key': 'WEUT-T1',
          'created_person': 'Steve Banks',
          'created_time_long': 1525668983347,
          'created_time': '05-07-2018',
          'is_reminder_set': false,
          'is_recurrence_set': false,
          'created_time_format': '05-07-2018 10:26:23 AM',
          'subtasks': false,
          'work': '0:00',
          'custom_fields': [
          {
           'column_name': 'UDF_LONG1',
           'label_name': 'Expense Amount',
           'value': '24573'
           },
           {
           'column_name': 'UDF_LONG3',
           'label_name': 'sample',
           'value': '0'
           },
           {
           'column_name': 'UDF_LONG2',
           'label_name': 'test',
           'value': '200'
           }
           ],
           'isparent': false,
           'work_type': 'work_hrs_per_day',
           'completed': false,
           'priority': 'None',
           'created_by': '5******3',
           'percent_complete': '0',
           'last_updated_time': '11-14-2018',
           'name': 'Create a new checklist',
           'id_string': '2************9',
           'last_updated_time_format': '11-14-2018 04:28:17 PM',
           'tasklist': {
           'name': 'General',
           'id': '2************7'
            },
           'order_sequence': 1,
           'status': {
           'name': 'Open',
           'id': '2************1',
           'type': 'open',
           'color_code': ''
                      }
                     }
                    ]
                   },
                  'status': 'success'
                  }
                 */
                 });

バグのsetメソッドでは、次のキーを使用できます。

バグ

  • title
  • 説明
  • assignee
  • flag
  • classification_id
  • phase_id
  • due_date
  • module_id
  • severity_id
  • reproducible_id
  • status_id
  • resolution
  • affectedmile_id

プロジェクトを更新するsetメソッドでは、次のキーを使用できます。

プロジェクト

  • name
  • 説明
  • status
  • start_date
  • end_date
  • strict_project
  • public
  • group_id
  • completed_on
  • UDF_CHAR([1-9]|[1-2][0-9]|30)。例:UDF_CHAR1
  • UDF_TEXT([1-9]|1[0-5])
  • UDF_LONG([1-9]|1[0-5])
  • UDF_USER[1-5]
  • UDF_DOUBLE([1-9]|[1-2][0-9]|3[0-5])
  • UDF_DATE[1-5]
  • UDF_ENCRYPT([1-9]|10)
  • owner
  • billing_method
  • bill_status
  • show_project_overview
  • custom_status

フェーズを更新するsetメソッドでは、次のキーを使用できます。

フェーズ

  • name
  • start_date
  • end_date
  • owner
  • flag
  • budget
  • threshold
  • revenue_budge

linkfilesキーを使用して、ファイルを現在の場所に関連付けます。このキーは、次の場所に対応しています:課題の詳細タブ添付ファイルピッカー。最大サイズ10の配列である必要があり、次の項目は必須です:id、name、type、permanent_url、download_url、size、created_by、created_time。画像ファイルの場合、preview_urlは必須です。

  • linkfiles
linkfiles=[{
 'created_time': 1561028014712,
  'id': '1LavBS5sauJ-AAFJZWp8Ch9Cp2ehydahk',
  'type': 'image/jpeg',
  'created_by': 'Patricia Boyle',
  'permanent_url': 'https://***************',
  'size': 7409,
  'preview_url': 'https://******************',
  'name': 'sample-image.jpeg',
  'download_url': 'https://drive.google.com/a/web-mailhosting.com/uc?id=1LavBS5sauJ-AAFJZWp8Ch9Cp2ehydahk&エクスポート=download',
     }]
     zohobugtracker.set('linkfiles', linkFiles).then(function (response) {
     zohobugtracker.invoke('attachment_picker.close');
    });

要求

plugin-manifest.jsonファイルで定義された接続を使用して、拡張機能からサードパーティのURLを呼び出します。接続リンク名が指定されていない場合、入力内容に基づいてレスポンスが返されます。

var file = document.getElementById('inputbox').files[0];
      var file_detail = {
      type: 'GET',
      files: [{
      uploaddoc : file
      type : 'binary' //If the file is uploaded as binary
       }],
      parameters: {
      fields: 'id,name, thumbnailLink, webViewLink, webContentLink'
      }
      };
      var url = 'https://www.googleapis.com/drive/v3/files/1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu';
      zohobugtracker.request(url, file_detail, 'google_drive').then(function (response)
      /* Output
       { 
        'result': {
        'webContentLink': 'https://drive.google.com/uc?id=1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu&エクスポート=download',
        'name': 'Eiffel_Tower_01.jpg',
        'webViewLink': 'https://drive.google.com/file/d/1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu/view?usp=drivesdk',
        'id': '1-QabBt69U8myXYRDVU-1YiCo2k-JWRfu',
        'thumbnailLink': 'https://lh3.googleusercontent.com/nhyq9mHrGDOZfNdQUHRj_xVlOoNAP5PEYkW4X2svGXKjVt53MvMGfjhQ2PlTv4cmv5-PgbjrR-c=s220'
        },
        'status': 'success'
        }
        */
         });
                                                
引数名 データ型 説明
URL string 拡張機能から呼び出す必要があるサードパーティのURL。
object JSONObject キー データ型
    type string 'GET'/'POST'/'PUT'/'削除'/'PATCH'
    parameters JSONObject APIの要求パラメーター。
    headers JSONObject APIのヘッダー。
    body JSONObject

APIの本文。

 

    files JSONArray

ファイルをアップロードするためのパラメーター。

値:実際のファイル。

*実際のファイルがアップロードされた場合、本文は無視されます

*typeにbinaryを指定すると、ファイルはバイナリーとして送信されます。ファイルの本文も考慮されます

    replace_secure_config Boolean

plugin-manifest.jsonファイルのis_secureパラメーターがtrueの場合、このパラメーターの値をtrueに設定します。

Zoho BugTrackerがURL内の値を置き換えます。

メモ:初期値はfalseです。

connection_link_name string zapps Webサイトから生成された接続リンク名