WorkdayワーカーをPythonでCSVにエクスポートし、Google Driveにアップロードするレシピ

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

このユースケースでは、WorkdayPythonスニペット by WorkatoGoogle Driveを接続して、強力なオートメーションを作成する手順を説明します。

このレシピの機能

このレシピは、Workdayでワーカーを毎日検索し、Pythonを使用して出力データをJSONからCSV形式に変換して、生成されたCSVファイルをGoogle Driveにアップロードします。

レシピの作成

Workdayでワーカーを検索し、Pythonを使用して出力JSONデータをCSV形式に変換して、CSVファイルをGoogle Driveにアップロードするレシピを作成するには、次の手順を完了します:

ユースケースは例示のみを目的としています

このユースケースは一例です。 このレシピをワークフローに合わせて適応させるには、トリガー、アクション、または条件ロジックの変更が必要になる場合があります。

1

Workatoにサインインします。

2

レシピを作成する予定のプロジェクトを選択します。

3

WorkdayとGoogle Driveのコネクションを作成します:

Workatoユーティリティコネクターにはセットアップが不要です

Pythonスニペット by Workatoコネクターでは、コネクションのセットアップは不要です。

Workdayコネクションの作成。

Workdayコネクションの作成

このステップでは、WorkatoとWorkdayアカウント間のコネクションを作成します。

Workdayに接続する前に

Workatoなどのサードパーティサービスを使用してWorkdayと連携する前に、統合システムユーザー(ISU)を使用することをお勧めします。 ISUを使用すると、すべての連携操作が通常のワークフロープロセスとは別の指定ユーザーの下でログに記録されます。 通常のワーカーのセキュリティプロファイルの変更や退職により、そのアカウントに依存する連携が中断される可能性があるため、これは不可欠です。 セキュリティを強化するため、各ISUはWorkatoなどの単一の連携システムに限定してください。

さらに、連携でWorkdayのカスタムオブジェクトを使用する場合は、Workday APIクライアントを登録する必要があります。 このステップは、Workday REST APIでOAuthクライアント設定による認証が必要なため、必須です。

認証要件

Workdayコネクターは、OAuth 2.0と基本認証の両方の方法をサポートしています。 ただし、Workday REST APIおよびカスタムオブジェクトを使用するには、OAuth 2.0認証が必要です。 非推奨のHybrid認証方式は使用しないことをお勧めします。

OAuth 2.0認証を使用したコネクション設定

OAuth 2.0認証を使用してWorkatoでWorkdayコネクションを設定するには、次の手順を完了します:

1

WorkatoでWorkdayアカウントを識別するために、一意のConnection nameを入力します。

Workdayコネクションコネクションにラベルを付ける

2

Authentication typeとしてOAuth 2.0を選択します。 この方法は、カスタムオブジェクトの使用、およびWorkday REST APIでWorkday Query Language(WQL)を使用してデータをクエリする場合に必要です。

3

Workdayテナントに適したWorkday Webサービスのバージョンを選択します。 最新の機能および更新にアクセスするため、利用可能な最新バージョンを選択することをお勧めします。

4

WorkdayにログインしているときのURLからTenant IDを特定して入力します。 たとえば、https://impl.workday.com/sample_company/d/home.htmldでは、テナントIDはsample_companyです。

5

Workdayサービスに関連付けられたWSDL URLを指定します。

6

APIクライアント設定のClient IDClient Secretを入力します。

7

任意です。 連携用のAPIクライアントを使用している場合は、Refresh tokenを入力します。

8

OAuthフローを完了するには、APIクライアント設定のAuthorization endpointToken endpointを入力します。

9

Workdayテナントの設定と一致するWorkday tenant timezoneを選択します。 デフォルトでは、Workdayは太平洋標準時(PST)を使用します。

10

任意です。 Advanced settingsをクリックして、Advanced XML payload for multiple ID valuesフィールドを設定します。

デフォルトでは、Workatoは入力からXMLを構築する際に、複数の値を持つフィールド内の各値を個別のコンテナ内にラップします。

例:

xml
<languages><language>english</language></languages><languages><language>chinese</language></languages>

Workatoが値のラップを解除し、単一のコンテナ内に値を表示できるようにするには、値をYesに設定します。

xml
<languages><language>english</language><language>chinese</language></languages>

無効なペイロードエラーが発生する場合は、このフィールドをYesに設定することを検討してください。

11

入力した情報を確認し、正しいことを確認します。

12

接続をクリックして認証プロセスを開始し、コネクションのセットアップを完了します。

基本認証を使用したコネクション設定

基本認証を使用してWorkatoでWorkdayコネクションを設定するには、次の手順を完了します:

1

WorkatoでWorkdayアカウントを識別するために、一意のConnection nameを入力します。

Workdayコネクションコネクションにラベルを付ける

2

認証タイプとしてBasicを選択します。 この方法では、連携にWorkdayのユーザー名とパスワードを使用します。

3

Workdayテナントに適したWorkday Webサービスのバージョンを選択します。 最新の機能および更新にアクセスするため、利用可能な最新バージョンを選択することをお勧めします。

4

WorkdayにログインしているときのURLからTenant IDを特定して入力します。 たとえば、URLがhttps://impl.workday.com/sample_company/d/home.htmldの場合、テナントIDはsample_companyです。

5

Workdayサービスに関連付けられたWSDL URLを指定します。

6

WorkdayのLogin namePasswordを入力します。

7

Workdayテナントの設定に一致するWorkdayテナントのタイムゾーンを選択します。 デフォルトでは、Workdayは太平洋標準時(PST)を使用します。

8

Advanced settingsをクリックして、Advanced XML payload for multiple ID valuesフィールドを設定します。 デフォルトでは、複数の値を持つフィールドはコンテナ内にラップされます。 値のラップを解除するには、このオプションをyesに設定します。

9

入力した情報を確認し、正しいことを確認します。

10

接続をクリックして認証プロセスを開始し、コネクションのセットアップを完了します。

Google Driveコネクションを作成する。

Google Driveコネクションの作成

この手順では、WorkatoとGoogle Driveアカウント間のコネクションを作成します。

1

作成 > コネクションをクリックするか、Cを2回押します。

2

新規コネクションページでGoogle Driveを検索して選択します。

3

コネクション名フィールドにコネクションの名前を入力します。

Google Driveコネクション設定Google Drive

4

ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。

5

認証タイプドロップダウンメニューを使用して、認証方法を選択します。 オプションにはOAuth 2.0およびサービスアカウントがあります。

6

任意です。 詳細設定を展開して、コネクションに対してリクエストする権限を選択します。 デフォルトでは、Workatoは次の権限をリクエストします。

  • Google Driveファイルすべての表示、編集、作成、削除
7

任意です。 Custom OAuth profileドロップダウンメニューを使用して、このコネクションで使用する予定のCustom OAuth profileを選択します。

8

Googleでサインインをクリックします。

9

Workatoへの接続に使用する予定のアカウントを選択します。

10

リクエストされた権限を確認し、許可をクリックします。

4

プロジェクトに戻り、Create > Recipeをクリックするか、C+Rを押します。

新しいレシピを作成新しいレシピを作成

5

Nameフィールドにレシピの名前を入力します。

6

Locationドロップダウンメニューから、レシピを保存する予定のプロジェクトを選択します。

7

ビルドを開始をクリックします。

レシピの構築を開始レシピの構築を開始

8

Pick a starting pointをクリックし、Run on a scheduleを選択します。 これにより、スケジューラー by WorkatoのNew recurring eventトリガーを使用する新しいレシピが作成されます。 このトリガーにはコネクションは不要です。

9
スケジューラー by Workato New recurring eventトリガーを設定します。

スケジューラー by Workato New recurring eventトリガーの設定

このトリガーは、レシピを実行する頻度の間隔を設定します。 スケジューラー by Workatoトリガーでは、コネクションのセットアップは不要です。

1

レシピエディターでトリガーをクリックします。

トリガーをクリックトリガーをクリック

2

時間単位ドロップダウンメニューを使用して、を選択します。

  • 使用可能なオプションには、MinutesHoursDaysWeeksMonths、またはCustom scheduleがあります。
3

レシピを毎日実行するには、トリガー間隔フィールドに1を入力します。

4

レシピを実行する時刻をトリガー時刻フィールドに指定します。 たとえば、12:00 AMと入力します。

5

任意です。 Timezoneフィールドでタイムゾーンを選択します。 空白のままにした場合、デフォルトはAmerica/Los_Angelesです。

6

任意です。 開始日時フィールドに開始日時を設定するか、空白のままにして、レシピを開始した直後にトリガーを有効にします。 レシピを実行またはテストした後は、この値を変更できません。

トリガーを設定トリガーを設定

7

保存をクリックします。

10

+ Add stepをクリックし、Action in appを選択します。

アクションを追加Add step > Add action in appをクリック

11
WorkdayのSearch business object(batch)アクションを設定します。

Workday Search business object batchアクションを設定

このステップでは、Workday内のワーカーをバッチで検索します。

1

Workdayを検索し、アプリとして選択します。

Workdayを選択Workdayを選択

2

ビジネスオブジェクトを検索(バッチ)アクションを選択します。

Search business objectアクションを選択Search business objectアクションを選択

3

前の手順で作成したWorkdayコネクションを選択します。

4

ビジネスオブジェクトドロップダウンメニューを使用して、ワーカーを選択します。

Workdayでワーカーを検索Workdayでワーカーを検索

5

保存をクリックします。

12

+ Add stepをクリックし、Action in appを選択します。

13
Pythonスニペット by WorkatoのExecute codeアクションを設定します。

Pythonスニペット by WorkatoのExecute codeアクションの設定

このステップでは、JSON形式のWorkday内のワーカーを検索するステップの出力を取得し、Pythonを使用して出力をCSV形式に変換します。

1

アプリとしてPython snippets by Workatoを検索して選択します。 このコネクターで使用できる唯一のアクションであるため、コードを実行アクションが自動的に選択されます。

Pythonを選択Pythonを選択

2

このステップの処理内容を指定するには、名前フィールドにConvert JSON to CSVと入力します。 これにより、レシピエディターのアクションタイトルが更新されます。

ステップの目的を指定ステップの目的を指定

3

入力フィールドに移動し、フィールドを追加をクリックして、新規フィールドを追加ダイアログを開きます。

入力フィールドを追加入力フィールドを追加

4

ラベルフィールドにJSONと入力します。

5

フィールドを追加をクリックします。

6

JSONフィールドをFormulaモードに切り替え、WorkdayのDataStep 2リストデータピルをマッピングします。 このリストデータピルをマッピングするには、フィールドがFormulaモードになっている必要があります。

7

出力フィールドに移動し、フィールドを追加をクリックして、新規フィールドを追加ダイアログを開きます。

8

ラベルフィールドにcsvと入力します。

9

フィールドを追加をクリックします。 これにより、csvフィールドが出力スキーマに追加されます:

CSV出力フィールドを追加CSV出力フィールドを追加

10

コードフィールドのコンテンツをクリアします。

11

次のPythonコードをコピーしてコードフィールドに貼り付けます:

python
# Import required libraries
import pandas as pd
import base64
import io

def main(input):
  # Normalize the JSON data to flatten nested structures into a flat table format
  normalized_json = pd.json_normalize(input['JSON'])

  # Remove the 'Worker_' prefix from all column names for cleaner headers
  normalized_json.columns = normalized_json.columns.str.replace('Worker_', '')

  # Drop any columns that contain 'Compensation_' in their name to exclude compensation data
  normalized_json = normalized_json[normalized_json.columns.drop(list(normalized_json.filter(regex='Compensation_')))]

  # Convert the modified DataFrame to CSV format as a string without the index column
  csv = normalized_json.to_csv(path_or_buf=None, index=False)

  # Return the CSV data as a dictionary output
  return { 'csv': csv }

このコードはJSON入力を受け取り、フラットなテーブル形式に正規化し、列名からWorker_を削除し、Compensation_を含む列を除外して、結果のデータをCSV形式に変換します。 その後、コードはCSVコンテンツを文字列として返します。

12

保存をクリックします。

14

+ Add stepをクリックし、Action in appを選択します。

15
Google DriveのUpload fileアクションを設定します。

Google Drive Upload fileアクションを設定

このステップでは、前のステップのCSV出力を、Google Driveで指定したフォルダにアップロードします。

1

Google Driveを検索し、アプリとして選択します。

Google Driveを選択Google Driveを選択

2

ファイルをアップロードアクションを選択します。

Upload fileアクションを選択Upload fileアクションを選択

3

Pythonスニペット by WorkatoのCsvStep 3データピルをファイルコンテンツフィールドにマッピングします。

CsvデータピルをマッピングCsvStep 3データピルをマッピング

4

ファイル名フィールドをFormulaモードに切り替え、次の内容を入力します:

plaintext
"Workday-flattened-#{today}.csv"

このFormulaにより、CSVファイルの名前が次の形式で作成されます:Workday-flattened-YYYY-MM-DD

ファイル名を設定ファイル名を設定

5

親フォルダドロップダウンメニューを使用して、このファイルをアップロードするフォルダを選択します。 この例では、親フォルダとしてWorkday-workers-flattenedという名前のフォルダを選択します。

6

オプションフィールドを表示をクリックし、アップロードファイルのMIMEタイプを選択します。

7

変更を適用をクリックして、このフィールドを表示します。

8

アップロードファイルのMIMEタイプフィールドにtext/csvと入力します。

ファイルタイプを指定ファイルタイプを指定

9

保存をクリックします。

WorkdayワーカーをPythonでCSVにエクスポートし、Google Driveにアップロードレシピは、テストと実装の準備ができています。

レシピ設定の例。

Workday、Pythonスニペット by Workato、Google DriveのレシピPythonでWorkdayワーカーをCSVにエクスポートしてGoogle Driveにアップロードレシピ

Last updated: