CoE Manager Plus - ServiceNow と統合

CoE Manager Plus と ServiceNow を統合して、チケットなどの ServiceNow レコードと CoE Manager Plus のオポチュニティ間でデータを同期することができます。

手順

  1. ServiceNow インスタンスで、新しいアプリケーションを登録し、クライアント ID とクライアント シークレットを生成します。
    1. 管理者として ServiceNow にログインします。
    2. [すべて] > [システム OAuth] > [アプリケーション レジストリ] の順に移動します。
    3. [新規] をクリックします。
      オプションのリストが表示されます。
    4. [外部クライアント用の OAuth API エンドポイントを作成する] を選択します。
    5. [アプリケーション レジストリ] 画面で、[新規] をクリックします。
    6. アプリケーションの名前を指定します。例: CoEMgr。
    7. 残りのフィールドはデフォルト値のままにして、[送信] をクリックします。
    8. アプリケーションを開いて、[クライアント ID] と [クライアント シークレット] をクリップボードにコピーします。
  2. ServiceNow インスタンスで、テーブルとロールを取得します。
    1. 管理者として ServiceNow にログインします。
    2. [すべて] > [システム定義] > [テーブル] の順に移動します。
    3. ラベル フィールドに名前を入力してテーブルを検索します。
    4. クリックしてテーブルを開きます。
    5. [名前] フィールドから、テーブルの名前をクリップボードにコピーします。
    6. [アクセス制御] タブまでスクロールして、最後の行で [名前] をクリックしてレコードを開きます。
    7. [必要なロール] タブまでスクロールして、[ロール] をコピーします。
  3. ServiceNow インスタンスで、ユーザーを作成し、ロールを割り当てます。
    1. 管理者として ServiceNow にログインします。
    2. [すべて] > [組織] > [ユーザー] の順に移動します。
    3. [新規] をクリックしてユーザーを新規作成します。
    4. [ユーザー ID]、[名前]、[名字] を入力します。
    5. [アクティブ] と [社内統合ユーザー] の各チェックボックスを選択します。
    6. [送信] をクリックします。
      これで前のページに戻ります。
    7. 作成したユーザーを検索し、クリックしてユーザーを編集します。
    8. [ロール] タブまでスクロールし、[編集] をクリックします。
    9. フィルタを使用して、アプリケーション名を追加し、適切なロールを見つけます。
    10. 両方のロールを選択し、[保存] をクリックします。
      [ユーザーの編集] ページにリダイレクトされます。
    11. [パスワードの設定] > [生成] をクリックし、生成されたパスワードをクリップボードにコピーします。
    12. [パスワードを保存] をクリックします。
    13. [ユーザーの編集] ページで、[更新] をクリックします。
  4. CoE Manager Plus インスタンスで、ServiceNow 統合を追加します。
    1. 管理者としてログインします。
    2. [Admin-Tech] タブに移動します。
    3. [オートメーション統合を追加] をクリックします。
    4. 適切な名前を入力します。
    5. [ベンダー] ドロップダウン リストから [ServiceNow] を選択します。
    6. ServiceNow インスタンス URL を入力し、[作成] をクリックします。
    7. 作成した ServiceNow 統合を開いて、[編集] をクリックします。
    8. クリップボードにコピーした構成設定 (ベンダーの URL、クライアント ID、クライアント シークレット、ServiceNow ユーザー名、パスワード、テーブル名) を入力します。
    9. JSON 形式で ServiceNow -> CoE Manager と CoE Manager -> ServiceNow フィールド マッピング属性を入力します。Shibumi 属性の API 名を最初に設定してから、ServiceNow フィールド名を設定します。以下の例を参照します。
      ServiceNow -> CoE Manager フィールド マッピング CoE Manager -> ServiceNow フィールド マッピング
      {
      "description":"idea_description",
      "name":"idea_name"
      }
      {
      "Total_Savings_c":"expected_savings",
      "Stage_c":"opportunity_status"
      }

      この 2 つのフィールド マッピング属性により、CoE Manager から ServiceNow (またはその逆) にデータを渡すことができます。マップする属性は、CoE Manager Plus の[オポチュニティ] > [詳細] > [属性] ページで確認できます。同様に、ServiceNow の属性を確認するには、[すべて] > [エクスプローラー] > [API エクスプローラーのリセット] の順に移動します。レスポンス本文の属性を確認するには、Get API メソッドを使用します。

    10. [保存] をクリックします。
    11. [オポチュニティ] メニューに ServiceNow タブが追加されました。
  5. ServiceNow にビジネス ルールを作成します。
    1. 管理者として ServiceNow にログインします。
    2. [すべて] > [システム定義] > [ビジネス ルール] > [新規] の順に移動します。
    3. ビジネス ルールの名前を入力します。
    4. ドロップダウンからテーブルを選択します。
    5. [アクティブ] と [詳細] のチェックボックスを選択します。
    6. [実行時] タブを開き、[時期] ドロップダウンで [非同期] を選択します。
    7. [挿入] チェックボックスを選択します。
    8. [詳細] タブに移動し、以下のスクリプトを貼り付けます。
      function executeRule(current, previous /*null when async*/ ) {
       try {
       var r = new sn_ws.RESTMessageV2();
       r.setEndpoint("https://util.shibumi.com/utilities/integration/service_now/create_shibumi_item_aai");
       r.setHttpMethod("post");
       
       	var k = "18856af6-fda9-41be-93cc-66548179b213"; 
       	var entId = "f79ce11f-bc4c-46e6-8d4a-4652ed132a24";
       		var parentTemplateAPIName ="Workstream__t";
       		var parentId ="1";
       		var templateAPIName = "Opportunity__t";
       		var serviceNowId = current.getValue("number"); 
       		var app = "App_29__app";
       		var snow_unique_id_attribute = "ServiceNow_ID__c";
       
       		var workstream = "Finance"; //current.getValue("business_unit");
       		var name = current.getValue("idea_name");
       		var instanceName = gs.getProperty("instance_name");
      
       
      var body = "k="+k+"&entId="+entId+"&parentTemplateAPIName="+parentTemplateAPIName+"&parentId="+parentId+"&templateAPIName="+templateAPIName+"&serviceNowId="+serviceNowId+"&app="+app+"&snow_unique_id_attribute="+snow_unique_id_attribute+"&serviceNowUrl="+instanceName;
      
      r.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
       //var body = JSON.stringify(obj);
       	gs.info("Webhook body: " + body);
       r.setRequestBody(body);
      
       		var response = r.execute();
       var httpStatus = response.getStatusCode();
       } catch (ex) {
       var message = ex.message;
             	 gs.error("Error message: " + message);
       }
      	
       gs.info("Webhook target HTTP status response: " + httpStatus);
      
      })(current, previous);

      新しい ServiceNow のアイデアが作成されると、このスクリプトが実行され、CoE Manager Plus にオポチュニティが作成されます。

      スクリプトの以下のフィールドを、[管理者 - 詳細] テーブルに指定した詳細で更新します。
      JS の変数 CoE Manager で見つかった値 CoE Manager の変数
      k [管理者 - 詳細] タブ API GUID
      entId [管理者 - 詳細] タブ Enterprise ID
      アプリ [管理者 - 詳細] タブ アプリ
      parentId ワークストリーム ID、ワークストリームの情報セクション。 ID
  6. CoE Manager Plus で ServiceNow のアイデアとオポチュニティをリンクします。
    1. ServiceNow インスタンスで、アイデアに対応する [番号] をクリップボードにコピーします。
    2. CoE Manager Plus インスタンスで、オポチュニティの ServiceNow タブに移動します。
    3. [CoEM オポチュニティの更新] または [ServiceNow レコードの更新] をクリックします。
    4. [更新] アイコンをクリックします。
      ServiceNow レコードのデータが CoE Manager Plus のオポチュニティで更新されるようになりました。[オポチュニティ] > [履歴] ページで、監査履歴全体を確認できます。
      注: ベースとなる機能は CoE Manager Plus の一部として提供されます。さらにカスタマイズして他の機能を追加することもできます。