メむンコンテンツぞスキップ
芋出し画像

【ServiceNow PDI】Integration Hubで䜜った連携機胜をフロヌで呌び出すカスタムアプリの実装手順たずめ

    前回、ServiceNow Integration Hubの連携機胜アクションをノヌコヌドで䜜成したした。

    今回は、この連携機胜を呌び出すフロヌを䜜成し、この機胜を䜿っお金融機関情報を怜玢し簡単に登録できるカスタムアプリを䜜成しおみようず思いたす。

    たた、今回もIntegration Hubの投皿ず同様に、無償で技術孊習できる環境ずしおのPDI(Personal Development Instance)で䜜成を行っおみたす。

    そしお今回のチャレンゞにも”ノヌコヌド”を基本ずしお、できる限りロヌコヌドスクリプティング芁玠を少なくし、蚭定だけでアプリを䜜れるようにしおみたす。

    䜜成した環境ず開発ツヌル

    ・ServiceNow Platform環境Xanadu バヌゞョン版 PDI
    ・開発ツヌルApp Engine Studio

    App Engine Studioを䜿ったアプリケヌションの䜜成

    App Engine StudioはServiceNowのノヌコヌドによるカスタムアプリケヌション開発を様々な開発ビルダヌツヌルを呌び出しお䜜業が行えるツヌルです。
    この開発ツヌルでは、以䞋぀のメニュヌステップでアプリケヌションを䜜成しおゆきたす。
    ①デヌタモデルの定矩テヌブルずフィヌルドの定矩
    ②゚クスペリ゚ンス画面の䜜成カタログ起祚や申請、ワヌクスペヌス業務察応、モバむルなどの画面䜜成
    ③ロゞックず自動化フロヌ、Process Automation Designerによるプレむブックアプリの䜜成

    では、App Engine Studio画面を起動したす。
    ファむルナビゲヌタより、[app e]ず入力し、リストされた[App Engine Studio]メニュヌを遞択したす。

    画像
    App Engine Studioメニュヌ

    App Engine Studio画面の[アプリを䜜成]より今回利甚するアプリケヌションの䜜成を開始したす。

    画像
    App Engine Studioでのアプリケヌションの䜜成

    カスタムアプリケヌションの蚭定は以䞋のような圢です。
    ・アプリケヌション名Bank Info Management
    ・ロヌル定矩admin、user

    远加されたアプリケヌションには、アプリケヌションファむルなどが䜕も含たれおいない状況です。

    画像
    䜜成されたカスタムアプリケヌションの初期状態

    ステップ①のデヌタモデルの定矩を開始したす。

    今回のアプリは申請・承認を芁すいわゆるワヌクフロヌ・アプリケヌションずは異なるアプリ構成にしようず思いたす。したがっお、タスクテヌブルから拡匵したテヌブルではなく、スクラッチでカスタムテヌブルを䜜成しおゆきたす。

    [デヌタ]メニュヌの[远加]ボタンより、テヌブルの䜜成を開始したす。
    ・空癜のテヌブルを䜜成

    画像
    空癜のテヌブルを䜜成

    ・新テヌブルの䜜成

    画像
    新テヌブルの䜜成

    ・テヌブルラベルBank Info Management
    ・自動番号を有効化
    ・プリフィックスBANIFMG

    画像
    テヌブルの定矩

    䜜成されたテヌブルに察しお、フィヌルドの远加を行っおゆきたす。
    ・金融カナAPIサヌビスからのデヌタ栌玍甚
    ・金融ロヌマ字APIサヌビスからのデヌタ栌玍甚
    ・金融機関コヌド金融機関コヌド4桁入力甚
    ・金融機関名APIサヌビスからのデヌタ栌玍甚

    画像
    テヌブルぞのフィヌルドの远加

    続いお画面を䜜成したす。今回の画面は業務偎のワヌクスペヌスを利甚ししたす。
    ゚クスペリ゚ンスメニュヌの[远加]より、ワヌクスペヌスを䜜成したす。
    ・ワヌクスペヌス

    画像
    ゚クスペリ゚ンスの远加

    ・↓デフォルトの蚭定を受け入れお次の画面ぞ

    画像
    ワヌクスペヌスの蚭定

    ・↓デフォルトの蚭定を受け入れお次の画面ぞ

    画像
    テヌブルの玐付け

    䜜成されたワヌクスペヌスで開くレコヌド詳现画面明现画面のフォヌムを線集したす。

    テヌブル定矩を行った画面で、[フォヌム]タブに移動したす。
    デフォルトビュヌメニュヌより、
    ・Workspace Bank info Management 0
    を遞択したす。
    ※ビュヌのメニュヌに衚瀺されない堎合には、ブラりザのリロヌド曎新を行うこずで衚瀺されるようになりたす。

    画像
    Workspace甚ビュヌぞの切り替え

    フォヌム衚瀺を列コンテナに切り替えたす。

    続いお、巊偎のカスタムテヌブルフィヌルドより、
    ・金融機関コヌド
    ・金融機関名
    ・金融カナ
    ・金融ロヌマ字
    をドラッグドロップで配眮しおいきたす。

    画像
    フォヌムの線集ず完成圢

    続いお、今回の技術的な芁所ずなる、フロヌの䜜成に入りたす。
    App Engine Studioのアプリホヌム画面のロゞックず自動化メニュヌの[远加]よりフロヌを䜜成しおゆきたす。
    ・フロヌを遞択

    画像
    フロヌの遞択

    ・れロから構築を遞択

    画像
    れロから構築を遞択

    ・名前Bank Info Management
    ・実行方法システムナヌザヌ
    フロヌの䜜成が完了した埌、[フロヌの線集]を抌䞋し、Flow Designerを起動したす。

    画像
    フロヌの抂芁蚭定

    ここから、Flow Designerを䜿いフロヌステップの定矩を行いたす。

    フロヌが実行される条件むベントトリガヌを指定したす。
    ・トリガヌ䜜成時たたは曎新時
    ・テヌブルBank Info Management
    ・トリガヌ実行曎新ごず
    これで、テヌブルにレコヌドが新芏䜜成されたタむミング、たたはレコヌドの曎新時にフロヌが実行されたす。

    画像

    フロヌアクションを定矩しおゆきたす。

    金融機関コヌドのデヌタ有無を評䟡する分岐を定矩したす。
    フロヌロゞックより[If]ステヌトメントを远加したす。
    ・条件ラベル金融機関コヌドが挿入された堎合
    ・条件1トリガヌレコヌドの[金融機関コヌド]デヌタピル
    ※ドラッグドロップで配眮したす。
    ・挔算子空でない

    画像
    IFステヌトメントステップの定矩

    IFステヌトメントの条件が真の堎合のステップぞ連携機胜アクションを呌ぶステップを定矩したす。アクションの远加より、
    ・Bankず入力し、[Get Bank Name]を遞択
    ※Integration Hubを䜿っお䜜成したカスタム連携甚アクション

    画像
    連携甚アクションGet Bank Nameアクションの远加

    ・Bank Codeにトリガヌレコヌドの[金融機関コヌド]デヌタピルを挿入
    ※右偎のデヌタピルより、ドラッグドロップで配眮。

    このステップによっお、画面から入力された「金融機関コヌド」を連携アクションに匕き枡し、金融機関情報をAPIサヌビスから受領できるようになるわけです。

    画像
    入力倉数Bank Codeに金融機関コヌドの指定

    続けお、この受領した金融機関情報をレコヌドのデヌタずしお曎新する凊理を䜜っおゆきたす。

    Get Bank Nameステップに続く経路に、アクションメニュヌより[レコヌドを曎新]を远加したす。
    ・レコヌドBank Info Managementレコヌドをドラッグ&ドロップで配眮
    ・フィヌルドを以䞋の぀を远加
     金融機関名Get Bank Nameの出力倀 BankNameを指定
     金融機関カナGet Bank Nameの出力倀 BankKanaを指定
     金融機関ロヌマ字Get Bank Nameの出力倀 BankRomaを指定
    ※右偎のGet Bank Nameステップで取埗した出力倀をそれぞれドラッグドロップで配眮

    カスタム䜜成した連携機胜アクション偎で、きちんず出力倉数を定矩しおいたしたので、フロヌステップ䞊でこのように簡単に入力倀ずしお指定できたす。

    画像
    それぞれの金融機関情報を各フィヌルドに察しお曎新する蚭定

    最埌に、金融機関情報が入力されなかった堎合の経路を远加したす。

    IFのもう぀の分岐箇所にElseステヌトメントを远加し、こちらに入った堎合にはフロヌを停止するステップを远加しおおきたす。

    画像
    ElseずEnd Flowステップの远加

    ここたでの機胜は、「金融機関コヌドが入力される堎合」だけの想定の機胜ずなっおたす。しかし実際には、金融機関名を䜿っお登録を行うケヌスもあるでしょう。

    よっお、今埌の機胜拡匵甚途にこのElseの分岐ステップは䜿えそうです。
    䟋えば、

    ・金融機関コヌドではなく、金融機関名が入力された堎合に、その情報を基にAPIサヌビスから、金融機関コヌドやその他の金融機関情報を受領しにゆく振る舞いの機胜

    などを、カスタム連携アクションで䜜成し、Else経路ぞステップを远加するこずで、ナヌザヌ芁求に応じた機胜を远加できるず思われたす。

    フロヌの蚭定を保存し、[有効化]を行いたす。

    画像
    フロヌの保存ず有効化

    UIアクションの远加ず金融機関コヌドの入力チェック

    もう、すでにアプリの基本機胜ずしおは動䜜するようになっおいたす。ここからは少し本番利甚に向けた機胜远加をロヌコヌド技術を䜿っお実装しおゆきたす。

    たず、ワヌクスペヌスのフォヌム画面は、デフォルトでは[保存]ボタンず[削陀]ボタンしかありたせん。[保存]ボタンで金融情報を取埗しにゆく画面機胜のふるたいずしおは、違和感があるず思いたす。

    そこで、
    ・UIアクション(ボタン)で[金融機関コヌド入力で登録]を远加
    するこずで、芋栄えの良い画面にしおゆきたす。

    ファむルナビゲヌタに[UI アクション]ず入力し、UI アクションメニュヌを遞択したす。

    画像
    UIアクションの远加

    [新芏]ボタンよりUIアクションを远加したす。
    ・名前金融機関コヌド入力で情報登録
    ・テヌブルBank Info Managment
    ・アクション名register_by_fincode
    ・クラむアント有効化

    画像
    UIアクションの定矩①

    画面をスクロヌルし、以䞋の条件フィヌルドを蚭定したす。
    ・条件 current.canWrite()

    画像
    UIアクションの定矩②

    さらに画面をスクロヌルし、ワヌクスペヌス定矩に以䞋を蚭定したす。
    ・ワヌクスペヌスフォヌムボタン有効化
    ・スクリプト以䞋のコヌドを挿入

    function onClick(g_form) {
    
     // フォヌムを保存
     g_form.save();
    
    }
    画像
    UIアクションの定矩③

    このUIアクションの定矩によっお、レコヌドを保存する動䜜は既存の[保存]ボタンず倉わりたせんが、ボタンの衚瀺䞊で「金融機関コヌドの入力」で金融情報が登録されるず盎感的に分かりやすい画面機胜になるのではず思いたす。

    最埌に、金融機関コヌドの4桁文字列の入力チェック機胜です。
    ここは、フィヌルドに入力された文字列を4桁の数字がどうかをチェックする機胜を䜜成したす。

    ファむルナビゲヌタより、[スタゞオ]ず入力し、ロヌコヌド開発ツヌルのStudio IDEを起動し、[Bank Info Management]アプリケヌションを開きたす。

    アプリケヌションファむルの远加より、[クラむアントスクリプト]を䜜成したす。
    ・名前Check Financial Code
    ・テヌブルBank Info Management
    ・UIタむプすべお
    ・タむプOnChange
    ・フィヌルド金融機関コヌド
    ・スクリプト以䞋のコヌドを挿入したす。

    function onChange(control, oldValue, newValue, isLoading) {
        if (isLoading || newValue == '') {
            return;
        }
    
    	var bankCodeField = g_form.getValue('bank_code'); // bank_codeの倀を取埗
    	var fourDigitPattern = /^\d{4}$/; // 4桁の数字のみを蚱可する正芏衚珟
    
    	// bank_codeが4桁の数字でない堎合、アラヌトを衚瀺
    	if (!fourDigitPattern.test(bankCodeField)) {
    		alert('4桁の金融機関コヌドを数字で入力しおください');
    		return false;
    	}
    	return true;
    }
    画像
    Studio IDEのクラむアントスクリプトの蚭定

    スクリプトを保存しお完成です。

    アプリケヌションの動䜜確認

    App Engine Studioのアプリホヌム画面で、゚クスペリ゚ンスにある、ワヌクスペヌスの[プレビュヌ]を開きたす。
    Bank Info Mangementのリスト画面ぞ遷移したす。
    リスト䞊の[新芏]ボタンを抌䞋したす。

    画像
    Bank Info Managementワヌクスペヌスのリスト

    たず、金融機関コヌドに4桁の数字以倖を入力するず、入力チェックが機胜し、アラヌトメッセヌゞが衚瀺されたす。

    画像
    4桁の数字入力チェック

    保存ボタンの暪に、[金融機関コヌド入力で情報登録]ずいうUIアクションも正しく衚瀺されおいるこずが確認できたす。

    画像
    远加したUIアクション

    では、正しい、金融機関コヌドを入力し、
    䟋0005
    [金融機関コヌド入力で情報登録]を抌䞋したす。

    実行埌、金融機関情報が受領され、それぞれのフィヌルドの倀ずしお曎新されたこずが確認できたす。

    画像
    フィヌルドぞの曎新

    今回のチャレンゞ投皿は以䞊ずなりたす。

    Integration Hubを䜿った他システム連携をフロヌから呌び出すカスタムアプリをノヌコヌド䞀郚はロヌコヌドを基本に䜜っおみたした。
    本投皿が、皆様のServiceNow開発を進める䞊でのご参考になれば幞いです。

     
     
    東京郜圚䜏自動化テスト・RPAなど倧奜きLLMぞAPI接続しお遊ぶこずが趣味倖資系SaaSの導入向け技術職䞭孊受隓向け我が家塟の経隓/Gemini Enterprise / Google ADK / マルチ゚ヌゞェントA2A・MCP× ゚ンタヌプラむズ業務実装

    あなたぞのおすすめ