Workday HR スポークの機能を拡張

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:7分
  • Workday HR スポークをデフォルトの機能を超えて拡張します (新しい入力および出力フィールドの追加など)。

    Workday HR スポークを拡張するには、アドミンが次のことを認識していることを確認してください Workday パブリック Web サービス API Workdayシステムを設定できます。

    [ワーカーの検索 (Look up Workers)] アクションを拡張

    スポークとともに使用可能な [ワーカーを検索 (Look up Workers)] アクションは、必要な入力と出力のほとんどを提供します。このアクションに入力と出力を追加する前に、デフォルトのスポークアクションを使用する方法を確認してください。

    このアクションは、 Workday HR スポークの入力フィールドデータピルを関連する Workday 要求 XML メッセージに変換し、Workday 応答 XML メッセージを ServiceNow ワークフロースタジオ の出力フィールドデータピルとして同期的にレンダリングします。サンプル要求メッセージサンプル応答メッセージを必ず確認します。

    デフォルトの [ワーカーを検索] アクションのコピーを作成して、変更または拡張します。
    アクションのコピーを作成する。
    このアクションの要求基準の一部としてポジション参照 ID を追加するには、次を行います。
    注:
    • 通常の入力フィールドまたは [追加フィールド] 入力フィールドに目的の入力があるかどうかを必ず確認します。目的の入力が含まれていない場合は、次の手順を実行して、必要な入力フィールドを手動で作成します。
    • [ワーカーを検索] アクションは、[追加フィールド] 入力フィールドのポジション参照 ID 要求要素をサポートしています。デモンストレーションの目的で、このフィールドは UI に手動で追加されています。
    1. Workday 要求メッセージでポジション参照 ID がどのように構成されているかを評価して、理解します。ポジション参照 ID を要求メッセージに追加するための XPath は、Workday Public Web Services コミュニティ投稿のとおり、2 つあります。
      1. ポジション参照タイプ属性:Get_Workers_Request/Request_Criteria/Position_Reference/@type
      2. Public Web Services のドキュメントによると、上記の属性値はハードコードされた「ポジション ID」です。
        ポジション ID。
      3. ポジション参照値:Get_Workers_Request/Request_Criteria/Position_Reference
      4. 上記の実際の値は、スポークアクションの新しい入力フィールドです。
    2. [アクションの入力] ステップで入力変数を作成します。[ 入力の作成] をクリックし、単純な文字列タイプの入力変数を追加します。
      ポジション参照 ID 入力を作成する。
    3. 前処理スクリプトステップで入力変数を作成します。
      1. [変数の作成] をクリックします。
      2. 入力変数名を [position_reference_id] という名前で追加します。
      3. [入力変数] から [ポジション参照 ID] データピルをドラッグし、入力変数の値にドロップします。
        ポジション参照 ID
    4. [スクリプト] セクションの [var organizationReferenceStr] のデザインパターンを活用します。
      1. この例の [Workday Get Worker Request] メッセージに一致する XML ノードを作成します。
      2. それに応じて、[スクリプト] セクションで適切なデザインパターンを見つけます。この例では、ポジション参照用にこの XML ノードをビルドする必要があります。
        <bsvc:Position_Reference bsvc:Descriptor="string">
        <bsvc:ID bsvc:type="Position_ID">string</bsvc:ID>
        </bsvc:Position_Reference>
        
      3. 上記の XML を類似の XML ノードと比較する場合、関連するデザインパターンスクリプトを活用するために、組織参照が適しています。[スクリプト] セクションでは、関連するスクリプトスニペットは「var organizationReferenceStr」の下にあります。
        <bsvc:Organization_Reference bsvc:Descriptor="string">
        <bsvc:ID bsvc:type="Organization_ID">string</bsvc:ID>
        </bsvc:Organization_Reference>
        
      4. [var organizationReferenceStr] コードスニペットを利用して、ポジション参照 XML ノードを適切にビルドします。
        var organizationReferenceStr コードスニペット。
      5. 同じスクリプトの [var request] セクションで、デザインパターンを活用し、出力変数を定義します。
        var request セクション。
    5. SOAP ステップにポジション XML ノードを作成します。
      1. 適宜、「Workday Get Worker Request メッセージ」およびポジション参照ノードを参照してください。
        ポジション参照ノード。
      2. 保存して公開します。
    6. アクションをテストします。
      1. これはデータストリームアクションであるため、フローを使用してテストする必要があります。その中でアクションを含むサンプルフローを作成します。
        フロー内のアクションをテストする。
      2. ポジション ID を入力し、フローをテストします。
        ポジション ID を入力する。
      3. [実行 (execution)]を開き、SOAP ステップに移動して、ポジション参照を含む更新済み XML 要素ノードが作成されているかどうかを確認します。
        チェックの実行。

    Workday スポークアクションの出力フィールドを追加および変更

    Workday スポークを拡張して、ローカルの名と姓を取得します。

    1. Workday 要求メッセージでローカルの名前がどのように構成されているかを評価して、理解します。
      • ローカルの名:この要素の XPath は、Get_Workers_Response/Response_Data/Worker/Worker_Data/Personal_Data/Name_Data/Legal_Name_Data/Name_Detail_Data/Local_Name_Detail_Data/First_Name
      • ローカルの姓:この要素の XPath は、Get_Workers_Response/Response_Data/Worker/Worker_Data/Personal_Data/Name_Data/Legal_Name_Data/Name_Detail_Data/Local_Name_Detail_Data/Last_Name
    2. [スクリプトパーサー] ステップの正式名デザインパターンを活用して、ローカルの正式名のスニペットを作成します。
      var LocalFirstName = xmlDoc.getNodeText(Worker_DataXpath.concat("wd:Personal_Data/wd:Name_Data/wd:Legal_Name_Data/wd:Name_Detail_Data/wd:Local_Name_Detail_Data/wd:First_Name"));
              var LocalLastName = xmlDoc.getNodeText(Worker_DataXpath.concat("wd:Personal_Data/wd:Name_Data/wd:Legal_Name_Data/wd:Name_Detail_Data/wd:Local_Name_Detail_Data/wd:Last_Name"));
      
              var LocalLegalName = {
                  LocalFirstName: LocalFirstName,
                  LocalLastName: LocalLastName,
              };
      
      「スクリプトパーサー」ステップでの正式名デザインパターン。
    3. [LocalLegalName] を [PersonalData] オブジェクトに追加します。
      PersonalData オブジェクトに LocalLegalName を追加する。
    4. [出力] ステップで出力変数を作成します。
      1. [出力を編集 (Edit Output)] をクリックします。
      2. 出力フィールドは、正確な Workday 応答メッセージ階層に従う必要はありません。ステップ 2 の XPath が正しい Workday XPath に従っている限り、スポークアクションはそれに応じて要素をレンダリングできます。この場合、[個人データ (Personal Data)] の下に [ローカル正式名 (Local Legal Name)] を追加するだけで十分です。
        出力フィールド。
        注:
        [名前] セクションの文字列変数名は、上記の手順 2 で定義したものと同じ変数名と一致する必要があります。
    5. アクションを保存して公開します。
      注:
      [ワーカーを検索 (Look up Workers)] アクションには、データストリームアクションが保持できる出力要素の最大数があります。コピーしたアクションを新しい出力要素で公開中にエラーが発生した場合は、不要な出力要素をいくつか削除して、もう一度公開を試みます。
    6. アクションをテストします。
      1. テストワーカーのサブジェクトが Workday でローカルの名と姓を持っていることを確認します。
      2. サンプルフローを作成し、それにアクションを追加し、応答をログに記録して出力要素を検証します。
        アクションをテストします。
      3. フローをテストして実行するために、関連するテストワーカーサブジェクトの従業員 ID を入力します。
        フローを実行する。
      4. ログと実行を検証して、ローカルの名と姓が正しく取得されているかどうかを検証します。
        実行を検証する。