10.0.6 CSV ファイルを使用したコントラクトのインポート

BigFix Inventory では、API および Web UI を使用してコントラクト・データをインポートできます。

コントラクトのインポートの機能

BigFix Inventory のコントラクトのインポートには、以下の機能があります。

  • CSV ファイルで提供されたデータを使用し、コントラクトの詳細を作成、変更できます。
  • コントラクトはコントラクト ID を使用して識別されます。
  • コントラクトに複数のソフトウェア製品を契約に追加できます。CSV 行 1 行につき 1 つのソフトウェア製品を追加できます。ソフトウェア製品は削除できません。
  • CSV ファイルに記載されたソフトウェア製品、メトリック、およびそれらの関係は、インポートの前に存在している必要があります。
  • 購入注文は、購入注文番号で識別されます。
  • 複数の購入注文を 1 つのコントラクトに追加したり、変更したりできます。CSV 行 1 行につき 1 つの購入注文を追加できます。購入注文は削除できません。
  • カスタム・フィールド列の前には、CUSTOM_ が付きます (例えば「CUSTOM_My custom」フィールドなど) 。カスタム・フィールド列のヘッダーは、大/小文字が区別されます。
  • CSV 分離文字は、「サーバー詳細設定」で「CSV レポートの区切り文字」 (csvReportSeparator) プロパティーを使用して変更できます。コンマ (,) はデフォルトの分離文字です。
  • インポートが失敗した場合、インポート・レポートがエラーの詳細とともに表示されます。
  • CSV ファイルは、UTF-8 (BOM なし) 形式でエンコードする必要があります。
  • BigFix Inventory バージョン 10.0.6 では、コントラクト・データ内の ASCII 文字のみが完全にサポートされます。この問題は、バージョン 10.0.7 以降は関係しません。BigFix Inventory 10.0.7 以降では、コントラクト REST API と UI の検索フィールドは非 ASCII 文字を含むソフトウェアに対応しています。REST API のコントラクト名などのコントラクト・フィールドに 非 ASCII 文字を含めることができます。

WebUI を使用したインポート

WebUI を使用してインポートするには、以下のステップを実行します。
  1. 「レポート」 > 「すべてのコントラクト」をクリックします。「すべてのコントラクト」ページが表示されます。
  2. 「編集」をクリックし、ドロップダウンから「コントラクトのインポート 」を選択します。「CSV ファイルからのコントラクトのインポート」ダイアログ・ボックスが表示されます。
  3. CSV ファイルを選択して「インポート」をクリックします。

API を使用したインポート

API 要求の例:
curl -H "Content-Type: multipart/form-data" \ 
    -X POST \ 
    -F upload[contracts]=@c:\contracts.csv \ 
    https://localhost:9081/api/sam/v2/contracts/import?token=1234567890abcdef1234567890abcdef123456 

CSV ファイル形式

コントラクトは CSV ファイルからインポートできます。以下の表は、CSV ファイルで使用可能な列名の一覧です。
Column name (列名) 説明 重要度
契約 ID コントラクト ID を使用してコントラクトを識別できます。このフィールドの目的は、コントラクトのタイプやメトリックなど、主なプロパティーを識別することです。指定された ID を使用するコントラクトが BigFix Inventory に既に存在する場合は、コントラクトは CSV ファイルの値を使って更新されます。存在しない場合は、新規コントラクトが作成されます。 Mandatory (必須)
名前 契約名 Mandatory (必須)
メトリック ID メトリック ID

メトリック ID 名については、『メトリック ID およびコード名』も参照してください。

オプション
メトリック・コード名 「メトリック ID」列が存在する場合、メトリック・コード名の値は無視されます。メトリック ID 名については、『メトリック ID およびコード名』も参照してください。 オプション
タイプ ID 1 - ライセンス、2 - サポート、3 - サービス、4 - ハードウェア、および 5 - その他など、コントラクト・タイプを表す番号。 必須
コンピューター・グループ ID コンピューター・グループの識別子。指定すると、コンピューター・グループ名の値は無視されます。 オプション
コンピューター・グループ名 コンピューター・グループ ID とコンピューター・グループ名の両方が指定されていない場合は「すべてのコンピューター」グループが割り当てられます。一致するコンピューター・グループが見つからない場合、CSV 行は拒否されます。指定された名前のコンピューター・グループが複数ある場合、CSV 行は拒否されます。
注: 大/小文字を区別する
オプション
しきい値 しきい値の値
注: 正の整数
オプション
発行者名 発行者名は、ソフトウェア製品名が指定されている場合のみ必要です。発行者は、インポートする前に BigFix Inventory に存在している必要があります。 オプション
製品名 商品の名前。

製品は、インポートする前に BigFix Inventory に存在している必要があります。

オプション
購入オーダー番号 購入オーダー番号 オプション
購入注文文書リンク 購入注文の文書リンク。

指定した場合、購入注文番号が存在する必要があります。

オプション
購入注文ベンダー 購入注文のベンダー。

指定した場合、購入注文番号が存在する必要があります。

オプション
購入注文の値 購入注文の値。値は常に正の整数 (0 を含む) です。ELA 値は、ELA または -1 を指定することで設定できます。指定した場合、購入注文番号が存在する必要があります。 オプション購入注文番号の値が指定されている場合は必須
購入注文の資格開始日 購入注文の資格の開始日。使用できる形式は「YYYY-MM-DD」です (「2019-01-31」など)。指定した場合、購入注文番号が存在する必要があります。 オプション購入注文番号の値が指定されている場合は必須。
購入注文の資格終了日 購入注文の資格の終了日。この値はオプションです。使用できる形式は「YYYY-MM-DD」です (「9999-12-31」、「Never」など)。指定した場合、購入注文番号が存在する必要があります。 オプション
カスタム・フィールド コントラクトのカスタム・フィールドを表す、任意の数のオプション列。フィールドは、既に BigFix Inventory に存在している必要があります。指定されたカスタム・フィールドが見つからない (存在しない) 場合、CSV インポートは失敗します。カスタム・フィールドの列名は、「CUSTOM_My Custom Field」など、「CUSTOM_」が先頭に付きます。指定された値タイプは、カスタム・フィールドのタイプと一致する必要があります。カスタム・フィールドが必要な場合は、値を指定する必要があります。

CSV インポートの前提条件、制限、制約事項:

  • CSV ファイルの最初の行 (ヘッダー) にはフィールド名が入ります。
  • 未使用のオプション列は省略できます。
  • CSV をインポートすると、新規ソフトウェア製品がコントラクトに追加されます。既存のエントリーは削除されません。
  • CSV をインポートすると、新規の購入注文エントリーが追加されるか、既存の購入注文エントリーが更新されます (購入注文番号の値の照合)。既存のエントリーは削除されません。
  • 複数のソフトウェア製品や購入注文を追加する場合は、それぞれ別の行を使用して指定する必要があります (名前やコンピューター・グループなど、コントラクト固有のフィールドを繰り返し使用)。
  • 列名と値は、BigFix Inventory の「サーバー詳細設定」の「CSV レポートの区切り文字」(csvReportSeparator) プロパティーで指定された文字で区切る必要があります。コンマ (,) はデフォルトの分離文字です。
  • 列ヘッダーまたは値に分離文字が含まれる場合は、引用符で囲む必要があります。
  • CSV 行は、ファイルで定義された順序で処理されます。1 つのコントラクトが複数の行で定義されている場合は、「発行者名」、「製品名」、「購入注文」フィールド以外のすべての値を、それぞれの列で繰り返す必要があります。繰り返されていない場合、1 つの行で更新されたコントラクトの値が、それより後ろの行によって後から変更される場合があります。同じ CSV ファイルをそれ以降にインポートしても、同じ結果になります。
  • 「購入注文文書リンク」、「購入注文ベンダー」、「購入注文の値」、「購入注文の資格開始日」、「購入注文の資格終了日」列は、購入注文番号列が存在する場合にのみ CSV ファイルに含めることができます。
  • 単一のコントラクト行のインポートに失敗すると、インポート全体が失敗します。インポート済みの行はロールバックされます。

既知の問題

  • エラー・メッセージのカスタム・フィールドは、ID を使用して識別されます。ID の取得にはコントラクト API が使用されます。すべてのカスタム・フィールドのリストを表示するには、コントラクト API を表示します。

複数のコントラクトがある CSV の例

Contract ID, Name, Type ID, Threshold, Metric Code Name, Computer Group ID, Computer Group Name, Purchase Order Number, Purchase Order Value, Purchase Order Entitlement Start, Purchase Order Entitlement End, Product Name, Publisher Name, CUSTOM_contact person 
CO1, Contract 1, 3, 100, INTERNAL_INSTALL, 0, All Computers, PO1, 5000, 2021-08-03, 2030-05-20, Software 1, Publisher 1, Name
CO2, Contract 2, 2, 350, CLIENT, 0, All Computers, PO2, 2, 2019-05-21, 2025-06-21, Software 2, Publisher 2, Tom 

複数の購入注文とソフトウェア製品が 2 つのコントラクトに割り当てられている CSV の例

Contract ID, Name, Metric Code Name, Type ID, Computer Group ID, Threshold, Publisher Name, Product Name, Purchase Order Number, Purchase Order Document Link, Purchase Order Vendor, Purchase Order Value, Purchase Order Entitlement Start, Purchase Order Entitlement End 
Contract 1, My contract 1, TICKETS,3,2,12, Publisher A, Sample Product A, PU001, www.test.com, My Vendor A,125,2019-03-03,2044-07-11 
Contract 1, My contract 1, TICKETS,3,2,12, Publisher A, Sample Product B, PU002,www.test2.com, My Vendor B,ELA,2020-03-03, 
Contract 1, My contract 1, TICKETS,3,2,12, Publisher B, Sample Product C
Contract 2, My contract 2, CLIENT,1,0,70, Publisher A, Sample Product B, PU003,www.test3.com, My Vendor C,200,2018-01-01,2021-12-28 
Contract 2, My contract 2, CLIENT,1,0,70,,, PU004, www.test4.com, My Vendor D, 100,2020-01-01, 2021-03-28