この質問は尋ねられてからしばらくありました。うまくいけば、次はまだ役に立つ。
変更データ(インシデントではない)を抽出していますが、プロセスは同じである必要があります。インシデントテーブルと列情報を収集する必要があります。次に、問題にアプローチする方法がいくつかあります。
1)抽出するデータに固定期間や固定列やグループなどの固定パラメータがある場合は、servicenow内でレポートを作成し、REST/SOAP APIを使用してテキスト/ CSVフォーマット。必要に応じて、異なるPythonモジュールを使用してcsvからxlsまたはxlsxに変換することができます。私は
openpyXL
、
csv
、
xlsreader
、
xlswriter
などを使用した例はこちら
ServiceNow - How to use SOAP to download reports
2を参照)のデータを使用して、列を変更する必要がdynmaicパラメータ、日付を持っているかなどをフィルタリングする場合は、あなたはまだ使用することができます石鹸/ RESTのAPIが、静的なレポートを持つ代わりにpythonスクリプト内でフォームのクエリを実行します。このようにして、オンザフライで要件に基づいて変更することができます。
ここでは、DBのクエリの例を示します。上記の例を使用することができます。ちょうどurl
を次のように切り替えてください。
table_name = 'u_change_table_name' #SN DB holding change/INCIDENT info
table_limit = 800
table_query = 'active=true&sysparm_display_value=true&planned_start_date=today'
date_query = 'chg_start_date>=javascript:gs.daysAgoStart(1)^active=true^chg_type=normal'
table_fields = 'chg_number,chg_start_date,chg_duration,chg_end_date' #Actual column names from DB and not from SN report.
url= (
'https://yourcompany.service-now.com/api/now/table/' +table_name +\
'?sysparm_query=' + date_query + '&sysparm_fields=' \
+ table_fields + '&sysparm_limit=' + str(table_limit)
)
あなたが持っているデータを抽出するための唯一の他のオプションは、Service-NowのREST/SOAPインタフェースです。しかし、私はあなたがExcelでそれを行うことはできないと思う。 – makim