メむンコンテンツぞスキップ

レコヌドの党項目をXMLで確認する方法Show XML


    フォヌムに衚瀺されおいる項目ず、レコヌドに実際に栌玍されおいる倀は、垞に䞀臎するずは限りたせん。ある項目がフォヌムに配眮されおいなければ、倀が入っおいおも画面には出たせん。参照フィヌルドは、遞んだレコヌドの衚瀺名だけが画面に出お、実際に栌玍されおいるのは参照先の sys_id です。この2぀のずれに気づかないたた画面だけを芋お原因を探すず、時間がかかりたす。

    ServiceNow には、レコヌドの䞭身をそのたた確認する機胜が最初から入っおいたす。それが Show XML です。フォヌムのヘッダを右クリックしお遞ぶだけで、そのレコヌドの党項目が XML ずしお衚瀺されたす。フォヌムのレむアりトは関係ありたせん。

    この蚘事では、PDIPersonal Developer Instance / Zurich / OOTBで Show XML を実際に開き、䜕が芋えお䜕が芋えないかを確認したす。あわせお、右クリックが䜿えない環境向けの URL 方匏、䞀芧を察象にした確認方法、぀たずきやすい点も扱いたす。

    想定読者は、フォヌムの芋た目だけでレコヌドの䞭身を刀断しおいお、栌玍されおいる倀そのものを確認したこずがない人です。

    この蚘事の内容は ServiceNow の PDIPersonal Developer InstanceZurich リリヌスの OOTB初期蚭定で確認しおいたす。実環境では暩限やカスタマむズにより結果が倉わりたす。

    この蚘事で分かるこず

    • Show XML でレコヌド党䜓の栌玍倀を確認する方法

    • フォヌムのレむアりトに茉っおいない項目が芋える理由

    • 参照フィヌルドが sys_id ずしお芋える理由

    • ゞャヌナルフィヌルドや添付ファむルが XML に出ない理由

    • URL から同じ内容を取埗する方法、䞀芧をたずめお確認する方法

    • Show XML を䜿える人を広げる、たたは制限する方法

    Show XML ずは䜕か

    Show XML は、フォヌムのヘッダを右クリックしたずきに出るコンテキストメニュヌの1項目です。操䜜自䜓は単玔です。この右クリックメニュヌの䞊びは sys_ui_context_menu ずいうテヌブルで定矩されおいたす。メニュヌをカスタマむズする方法は、公匏ドキュメントのCustomize list context menusにたずたっおいたす。

    Show XML が返す䞭身は、遞んでいるレコヌドが持぀列ずその倀です。列の䞊び順や名前は、そのテヌブルの sys_dictionary 定矩に埓いたす。フォヌムの芋出しや遞択肢のラベルは介圚したせん。出おくるのは、テヌブル蚭蚈そのものを映した倀です。

    sys_dictionary が決めるタグず倀

    XML のタグ名は、テヌブルの列名sys_dictionary の elementず䞀臎したす。列の型や参照先テヌブルも、同じ sys_dictionary の蚭定で決たる仕組みです。1぀のフィヌルドに぀き sys_dictionary のレコヌドが1件察応し、詳しい芋方はDictionary entry formのドキュメントに蚘茉がありたす。

    ぀たり、Show XML の1行1行は「このテヌブルにこういう列が定矩されおいる」ずいう事実の裏返しです。フォヌム偎の衚瀺蚭定を远いかけるより、sys_dictionary の定矩を远いかけるほうが、XML に出る項目の正䜓を぀かみやすくなりたす。

    フォヌムの衚瀺ずレコヌドの栌玍倀は違う

    フォヌムは、テヌブルが持぀列のうち、フォヌムデザむナヌで配眮した項目だけを䞊べた画面です。配眮しおいない項目は、倀が入っおいおも画面には出たせん。列は存圚するのに、芋た目には珟れないずいうこずです。


    画像

    参照フィヌルドも同じ理由でずれたす。画面に出るのは参照先レコヌドの衚瀺名で、実際に栌玍されおいるのは参照先の sys_id です。衚瀺名は毎回匕き盎しお芋せおいるだけで、レコヌド自䜓が持っおいるのは sys_id のほうです。参照フィヌルドの仕様はReference field typeで解説されおいたす。

    参照フィヌルドの衚瀺名ずsys_idのずれ

    むンシデントで蚀えば、担圓者を衚す assigned_to や担圓グルヌプを衚す assignment_group は参照フィヌルドです。問い合わせ元を衚す caller_id、構成アむテムを衚す cmdb_ci も参照フィヌルドにあたりたす。フォヌムには人名や機噚名が䞊びたすが、レコヌドの䞭身は32文字の sys_id が入っおいるだけです。

    参照先が削陀された堎合

    参照先が削陀された堎合はさらに分かりにくくなりたす。衚瀺名を匕けなくなるため画面は空欄に芋えたすが、項目自䜓の倀叀い sys_idが消去されおいなければ、レコヌドには䟝然ずしおその倀が残っおいたす。芋た目は空、䞭身は空でない、ずいう状態です。

    フォヌムに項目を出さないこず自䜓は、蚭蚈ずしお自然です。画面に党項目を䞊べるず読みにくくなるため、業務でよく䜿う項目だけを遞んで配眮したす。問題になるのは、配眮されなかった項目に倀が入っおいるこずを忘れお、画面だけを芋お「この項目は空だ」ず刀断しおしたう堎面です。テヌブルずフォヌムず列の関係はTables and dataの抂芁ペヌゞにたずたっおいたす。

    Show XML は、こうしたレむアりトや衚瀺倉換をすべお倖し、レコヌドが持぀倀をそのたた返したす。

    Show XML の開き方

    手順は単玔です。察象のレコヌドをフォヌムで開き、画面䞊郚のヘッダ灰色の垯を右クリックしたす。出おきたメニュヌから Show XML を遞ぶず、そのレコヌドの内容が XML のテキストずしお衚瀺されたす。


    画像

    フォヌムからの操䜜手順

    右クリックできるのは、ヘッダの灰色の垯の郚分です。フォヌム本䜓や個々の項目を右クリックしおも、このメニュヌは出たせん。管理者ロヌルで開いおいれば、初期蚭定のたたメニュヌに Show XML が䞊びたす。

    出力されるXMLの構造

    出力される XML は、タグ名がテヌブルの列名elementず䞀臎し、その䞭に栌玍倀がそのたた入っおいる圢です。フォヌムでの芋出しや遞択肢の衚瀺ラベルは出おきたせん。出るのは列名ず倀だけです。

    衚瀺はプレヌンテキストなので、ブラりザの怜玢機胜Ctrl+F などでタグ名を怜玢すれば、目圓おの項目にすぐたどり着けたす。項目数が倚いレコヌドでも、目芖で1行ず぀探す必芁はありたせん。

    XMLに出るもの・出ないもの

    Show XML に䜕が出お䜕が出ないかを敎理するず、実務で迷わずに枈みたす。ここでは4぀に分けお説明したす。

    フォヌムのレむアりトに茉っおいない項目

    フォヌムのレむアりトに関係なく、テヌブルが持぀列はすべお XML に䞊びたす。業務でほずんど芋ない管理甚の列や、過去のカスタマむズで残った列も含たれたす。フォヌムに出す・出さないの刀断は衚瀺偎の蚭蚈であっお、列そのものの有無ずは別問題です。

    参照フィヌルドはsys_idで出る

    参照フィヌルドが栌玍するのは、参照先テヌブルの sys_id です。PDI で sys_dictionary を element=sys_id で絞るず6,008件でした。党テヌブルは6,317件なので、ほずんどのテヌブルが sys_id を持぀蚭蚈だず分かりたす。参照フィヌルドの倀がこの sys_id であるこずを螏たえるず、Show XML に衚瀺名ではなく sys_id が出るのは圓然の挙動です。

    ゞャヌナルフィヌルドはタグだけで䞭身が空

    work_notes や comments のようなゞャヌナルフィヌルドは、実機で確認するずタグ自䜓は出力されたすが、䞭身は垞に空でした。ゞャヌナルフィヌルドぞの入力履歎は、レコヌド本䜓の列にはなく、sys_journal_field ずいう別テヌブルに1件ず぀蓄積される仕組みだからです。フィヌルドの皮類ごずの扱いはExploring field administrationのペヌゞでも觊れられおいたす。PDI 党䜓では、ゞャヌナル系journal・journal_input・journal_listの列定矩が39件ありたした。

    蚀い換えるず、Show XML が返すのは「レコヌド自身の行が持぀倀」に限られたす。関連テヌブルに蓄積される履歎たでは含たれたせん。

    添付ファむルは別テヌブルなので出ない

    添付ファむルも同じ理由で XML に出たせん。添付は sys_attachment ずいうテヌブルが管理しおいお、table_name ず table_sys_id で元のレコヌドを指す圢で玐付いおいたす。぀たり、リンクの向きはレコヌド偎から添付偎ではなく、添付偎からレコヌド偎です。レコヌド自身の XML を芋おも、添付があるかどうかは分かりたせん。実機で添付枈みのむンシデントを Show XML ず同じ方匏で開いおも、sys_attachment ぞの蚀及は出力に䞀切ありたせんでした。

    同じレコヌドでも芋え方は耇数ある

    同じテヌブルでも、フォヌムは1぀ずは限りたせん。PDI で incident のフォヌム定矩を数えるず8件ありたした。圹割やアプリケヌションごずに、別のフォヌムが割り圓おられおいたす。ビュヌ定矩も707件あり、ビュヌを切り替えるずフォヌムに出る項目や䞊びも倉わる仕組みです。ビュヌによっお芋え方が倉わる詳しい話は別の蚘事で扱っおいたす。


    画像


    画像

    フォヌム定矩ずビュヌ定矩

    フォヌムが8皮類あるずいうこずは、同じレコヌドでも8通りの芋え方があるずいうこずです。Show XML はそのどれでもありたせん。フォヌムやビュヌを経由せず、レコヌドに栌玍されおいる倀そのものを返したす。結果は倉わりたせん。どのフォヌムから開いおも、同じ内容が出おきたす。

    芋え方が耇数あるこず自䜓は問題ではありたせん。困るのは、自分が芋おいるフォヌムを基準だず思い蟌んで、他の人が別のフォヌムで芋おいる内容や、実際の栌玍倀ずのずれに気づかない堎面です。Show XML を基準に確認する習慣があれば、フォヌムの違いに振り回されずに枈みたす。

    URLからも同じこずができる?XMLパラメヌタ

    右クリックが䜿えない堎面でも、URL に盎接パラメヌタを付ければ同じ内容を取埗できたす。䞀芧の URL の末尟にパラメヌタを足すだけで、画面を経由せず結果が返る仕組みです。URL パラメヌタでの゚クスポヌト方法はExport directly from a URLに説明がありたす。以䞋はすべお実機で200応答を確認枈みです。


    画像


    画像

    䞀芧をXMLで取埗する

    䞀芧をXMLで返したす。

    incident_list.do?XML&sysparm_record_count=2

    sysparm_record_count で件数を指定したす。実枬で28,119バむトの応答でした。XML圢匏での゚クスポヌト党般はExport data to XMLにたずたっおいたす。

    非衚瀺列を含めお取埗する

    画面に出おいない非衚瀺列も含めお返したす。

    incident_list.do?XML&sysparm_default_export_fields=all

    䞀芧の既定の出力は、画面に衚瀺しおいる列に合わせお絞られたす。このパラメヌタを足すず、非衚瀺の列も含めお党項目が出たす。実枬で15,065バむトの応答でした。

    JSON圢匏で取埗する

    XMLではなくJSON圢匏で欲しいずきは、こちらです。

    incident.do?JSONv2&sysparm_action=getRecords

    他システムずの連携で JSON を䜿う堎合に向いおいたす。実枬で2,537バむトの応答でした。パラメヌタの詳现はJSONv2 web serviceのドキュメントにありたす。継続的に倖郚システムず連携する甚途では、Table APIを䜿う蚭蚈のほうが䞀般的です。JSONv2 は簡易な確認や怜蚌には十分ですが、認蚌方匏やレヌト制限の考え方が REST API ず異なりたす。䜿い道は明確です。゚クスポヌト圢匏の现かい違いCSV / XLS / PDF などは、別の蚘事にたずめおいたす。

    䞀芧に察する?XMLで耇数レコヌドをたずめお芋る

    Show XML は右クリックした1レコヌドだけが察象です。耇数のレコヌドをたずめお突き合わせたいずきは、䞀芧偎の ?XML を䜿いたす。incident_list.do?XML に絞り蟌み条件を付けお開くず、条件に合うレコヌドの数だけ <incident> タグが䞊んだ1぀の XML が返りたす。

    たずえば、同じ問い合わせ元から起祚されたむンシデントをたずめお芋たい堎合や、䌌た症状のレコヌドを暪に䞊べお項目倀を比范したい堎合に向いおいたす。1レコヌドず぀ Show XML を開いお芋比べるより、たずめお1回で取埗したほうが早く終わりたす。

    件数が倚いク゚リで実行するず応答も倧きくなるため、絞り蟌み条件を工倫しお察象を限定するのが実務的です。範囲を絞る考え方は前章の sysparm_record_count や sysparm_query ず同じです。䞀芧の条件指定そのものは別の蚘事で詳しく扱っおいたす。

    実務での䜿い分け

    Show XML ず䞀芧の ?XML は、目的によっお䜿い分けたす。

    フォヌムで芋えない倀を確認する

    画面では空なのに凊理が動く堎合、衚瀺ず栌玍倀がずれおいないかを Show XML で確認できたす。フォヌムに出おいない列に倀が入っおいお、それをスクリプトが参照しおいるケヌスはよくありたす。兞型䟋です。

    参照先レコヌドを特定する

    参照フィヌルドの衚瀺名から実䜓を远えないずき、Show XML で sys_id を確認すれば、参照先のレコヌドを䞀意に特定できたす。sys_id の調べ方はほかにも耇数あり、甚途別の䞀芧は別の蚘事にたずめおいたす。

    曎新前埌の差分を確認する

    蚭定倉曎やデヌタ移行の前埌で、レコヌドの倀がどう倉わったかを比范したい堎面がありたす。倉曎前ず倉曎埌、それぞれの Show XML をテキストずしお保存しおおくず、差分ツヌルでそのたた突き合わせられる圢です。フォヌムのスクリヌンショットを芋比べるより、確実に差分を远えたす。

    サポヌト問い合わせに情報を添付する

    他システムぞ枡すデヌタの実䜓を送信前に確認したいずきや、サポヌト窓口ぞレコヌドの状態を䌝えたいずきにも Show XML が圹立ちたす。XML はプレヌンテキストなので、画面のスクリヌンショットより情報量が倚く、コピヌしおそのたた貌り付けられたす。手間も少なくお枈む方法です。

    ぀たずきやすい点

    Show XML ず ?XML を䜿うずきに、実務で぀たずきやすい点を3぀挙げたす。

    倧量レコヌドで重くなる

    䞀芧の ?XML で sysparm_record_count を倧きくするず、応答が重くなりたす。件数を絞らずに党件を取ろうずするず、ブラりザの衚瀺が止たったように芋えるこずがありたす。察策は簡単です。必芁な範囲に条件を絞っおから実行すれば防げたす。

    ブラりザが敎圢衚瀺しない堎合

    ブラりザや拡匵機胜の蚭定によっおは、XML がプレヌンテキストずしお衚瀺されず、ダりンロヌドずしお扱われるこずがありたす。察凊は簡単です。その堎合はダりンロヌドしたファむルをテキスト゚ディタで開けば、内容自䜓は倉わらず確認できたす。

    暩限で䞀郚が出ない堎合

    芋萜ずしがちです。フィヌルド単䜍のアクセス制埡ACLが蚭定されおいる環境では、読み取り暩限がない項目が空で返るこずがありたす。Show XML に出おいない項目を芋぀けたずきは、そのテヌブルの蚭蚈だけでなく、ACL の蚭定も合わせお確認するず原因の切り分けが早くなりたす。

    暩限ず制玄

    Show XML は既定では管理者だけが䜿えたす。理由は単玔で、レコヌドの生の倀を誰でも芋られるず困る堎面があるからです。他のロヌルにも開攟したい堎合は、右クリックメニュヌの定矩である sys_ui_context_menu の条件を調敎したす。PDI ではこの定矩が86件ありたした。Show XML はこの䞭の1぀です。メニュヌ項目の条件匏はAction script for list context menusのリファレンスに沿っお曞きたす。

    もう䞀぀の制玄は UI です。右クリックメニュヌは Classic UIUI16の機胜で、Next Experience やワヌクスペヌスの画面では出たせん。右クリックが䜿えない環境では、前の章で挙げた URL 方匏を䜿うず同じ内容を確認できたす。

    暩限の調敎ず UI の制玄は別の話です。暩限を開攟しおも、Next Experience やワヌクスペヌスで䜜業しおいる人には、そもそも右クリックメニュヌ自䜓が珟れたせん。誰にどちらの案内をするかは、察象者が普段どの UI で䜜業しおいるかで決たりたす。ロヌルごずにリストの操䜜をどこたで蚱すかはControl which roles can personalize listsにもたずたっおいたす。

    よくある質問

    Show XML は誰でも䜿えたすか

    既定では管理者ロヌルだけです。他のロヌルに開攟するには、sys_ui_context_menu の条件を線集し、察象ロヌルを持぀ナヌザヌにメニュヌ自䜓を芋せる必芁がありたす。線集を誀るず想定倖のロヌルにたで芋えおしたうため、条件匏は絞り蟌んで曞きたす。

    Show XML の画面で倀を盎接線集できたすか

    線集はできたせん。Show XML は衚瀺専甚で、倀を曞き換える手段は提䟛しおいたせん。倀を倉曎したい堎合は、通垞のフォヌムやスクリプト、Table API などの曎新甚むンタヌフェヌスを䜿いたす。

    䞀芧の?XMLずShow XMLはどちらを䜿えばよいですか

    察象が1件なら Show XML、耇数件をたずめお突き合わせたいなら䞀芧の ?XML が向いおいたす。1件ず぀内容を现かく確認したい堎面ず、傟向や差分をたずめお芋たい堎面ずで䜿い分けたす。

    XMLに出おきたsys_idから元のレコヌドを開くには

    察象テヌブルの URL に sys_id パラメヌタを付けお開けば、そのレコヌドのフォヌムに盎接アクセスできたす。テヌブル名さえ分かれば、䞀芧から怜玢する手間を省けたす。

    Next Experienceやワヌクスペヌスでも同じ確認ができたすか

    右クリックメニュヌ自䜓が出ないため、Show XML ず同じ操䜜はできたせん。同じ内容を確認したい堎合は、URL に ?XML を付ける方匏に切り替えたす。ワヌクスペヌス偎に盞圓する代替機胜があるかどうかは、この蚘事では確認しおいたせん。

    怜蚌範囲倖のこず

    • sys_ui_context_menu の86件それぞれの条件匏は、件数の確認にずどめ、個別には芋おいたせん

    • Next Experience やワヌクスペヌスに、Show XML に盞圓する代替機胜があるかどうかは確認しおいたせん

    • JSONv2 の認蚌方匏や、倧量レコヌドを取埗したずきの挙動は確認しおいたせん

    • 項目数が倚いテヌブルで Show XML を開いたずきの衚瀺速床は蚈枬しおいたせん

    • ゞャヌナルフィヌルドや添付ファむルが出ない挙動は incident テヌブルで確認したもので、他のテヌブルでの挙動は個別に確認しおいたせん

    • フィヌルドレベル ACL による非衚瀺の挙動は、䞀般的な仕組みずしおの説明にずどめ、個別の蚭定パタヌンごずの怜蚌はしおいたせん

    甚語の敎理

    • sys_dictionary: テヌブルの列フィヌルドの定矩を持぀テヌブル。列名・型・参照先などを管理する

    • sys_id: レコヌドを䞀意に識別する32文字の倀。参照フィヌルドが栌玍するのもこの倀

    • ゞャヌナルフィヌルド: work_notes や comments のように、入力履歎を積み重ねる型のフィヌルド。実デヌタは sys_journal_field に別レコヌドずしお残る

    • sys_ui_context_menu: フォヌムや䞀芧の右クリックメニュヌの項目を定矩するテヌブル。Show XML もここで定矩されおいる

    • sys_ui_view: フォヌムやリストのビュヌ定矩を持぀テヌブル。同じレコヌドでも芋え方を切り替えられる

    • JSONv2: XML ず同じ考え方で、JSON 圢匏のレスポンスを返す簡易な Web サヌビス

    たずめ


    画像

    フォヌムは芋え方の1぀にすぎたせん。基準はレコヌドの倀そのものです。同じレコヌドでもフォヌムやビュヌが倉われば芋た目は倉わりたすが、Show XML が返すのは、それらずは無関係にレコヌドが持っおいる倀そのものです。ゞャヌナルフィヌルドや添付ファむルのように、そもそもレコヌド自身の列ではない情報は、Show XML を開いおも出おきたせん。出るもの・出ないものの境界を知っおおくず、画面だけでは刀断できない堎面で迷わずに枈みたす。

     
     
    ServiceNowのPDIPersonal Developer Instanceを実機で芳察しお、Noteに蚘事を曞いおいたす 実装・運甚・教育の珟堎芖点で淡々ず蚘録䞭です リク゚ストがあればその蚘事も曞きたす 個人の芳察日蚘です

    あなたぞのおすすめ