ラベル Paris の投稿を表示しています。 すべての投稿を表示
ラベル Paris の投稿を表示しています。 すべての投稿を表示

2021年4月12日月曜日

同姓同名のユーザ(あるいは同一文字列で表現される)の情報をルックアップ元のテーブルから正しく識別してインポートする

Servicenowのインポート機能は強力なのだが、時に躓くことがある。

この例も実際自分が躓いた例。Type がReferenceになっていて同名レコードが元テーブル(参照先テーブル)に存在するフィールドの正しいインポート方法。

例えばであるがsys_userに「山田 太郎」という名前の人物が2名いる。

例えばこんなケース。

yamada.taro1とyamada.taro2は「User ID」や「Sys_ID」では区別ができるので、sys_userテーブルに対するインポートや更新では特に問題になる事はない。

問題になるのはこの同名のエントリをルックアップしているテーブルのインポートを行うときである。

例えばグループとユーザの関係性を定義している、sys_user_grmemberテーブルを見ると次のようになっている。

Help Deskグループに山田 太郎が二人とも所属している場合こうなる。

インポート機能を使った事がある方はお分かりと思うが、このようなデータをインポートしようとして、テーブルをエクスポートしたり、更新インポート用のエクセルフォーマットを出力したとしても、次のようなフィールドが得られるだけである。

要するにこのままでは、「山田 太郎」がyamada.taro1とyamada.taro2のいずれなのかを区別して扱う事が出来ない。

当然ながらこのようなデータをインポートしても、1と2どちらの山田太郎が選択されたデータが出来上がるかが不明である(ちゃんと検証していないがSys_IDが若い方が勝手に選ばれていた様な気がする)。

これでは困るので、SYS IDなりユーザIDなり一意の情報を指定してインポートしたいわけだが、User列にyamada.taro1のIDなりSYS_IDなりを記載してインポートしてもエラーになるだけなのである。

色々と検索してみても(どこかにはあるのかもしれないが)なかなかこれを解決するためのドキュメントが見つからず困った。

2021年3月11日木曜日

Servicenowにブックマークから一発で自動ログインする(ローカルアカウントのみ)

ちょっとセキュリティ的には良く無さそうだが、↓のURL([]内は書き換え)をブックマークしておくとローカルアカウントであれば自動ログインできる。

https://[YourInstanceName].service-now.com/login.do?user_name=[UserName]&sys_action=sysverb_login&user_password=[PassWord]

会社のアカウントとか重要な情報入りのアカウントとかではpassword直書きのURLになってしまうので、セキュリティ的にNGだろうが、developerインスタンスのブックマークとかはこれにしとくと便利かも。ちなみに[PassWord]の部分は普通に平文でOK。

2021年3月10日水曜日

Servicenowでチケットを複数のメンバーにアサインしたい。

チケットを複数の人にアサインしたい。

個人的には「誰がこのチケットに責任を持つのか?」が不明確になるので辞めた方が良いと思うが、曖昧を好む日本企業ではありがちと言えばありがちな要望かもしれない。

標準では出来ない?と思っていたが、よくよく見てみたらデフォルトで「Additional assignee list」というフィールドが表示されてはいないものの、用意されているではないか。

これを表示して、どう動くのかを確認してみる。

2021年2月22日月曜日

Servicenowのフローデザイナーを使って、ローカルアカウント発行時のパスワード設定やユーザへのアカウント情報通知を自動化する

ServiceNowの管理者として避けて通れないのがアカウント管理。AD連携等でうまい事グループや権限まで含めた自動連係が綺麗に作りこめればいいが、恐らくそこまで環境の整っている会社もそれほどないのではなかろうか。

比較的新しめの機能であるフローデザイナーを活用して、アカウント発行時の処理を一部自動化してみたい。

2021年2月20日土曜日

ServiceNowのチャットボット(Virtualagent)を設定してみた~①

世の中理不尽な事はあるもので、個人的にはチャットボット否定派なのだが、なんだか周りが盛り上がってチャットボットの導入検証みたいな事をやる、みたいなシチュエーションもなくはないと思う。

個人的な持論ではユーザの立場で使用しているシステムの問い合わせ窓口にチャットボットがあって良かったと思った事は今まで一度たりとも無く、正直チャットボットに何か質問を入力したところですでに調べて使えなかった情報や的外れな回答しか返ってこず、オペレータにつなぐまでに無駄な手間を掛けさせられる事しかないので大嫌いである。

単なるボットであればもちろんのこと、AI機能がどうたらこうたらという類のサービスでも正直2021年現在ユーザとしての私には到底利便性が向上するようなものではなく、ストレスの現況でしかないからだ。

まぁAIチャットボットとやらが何とか、ある程度のリテラシのあるユーザにも役立つと感じられるレベルに到達するには早くてもあと10年くらいかかるんじゃなかろうか、というのが個人的な感触ではある。

とはいえサラリーマンはそんなことばかり愚痴っていても仕方ないので、とりあえず使えるようにしてみることにする。

2021年2月19日金曜日

ServiceNowでチケットのステータス毎に動的に必須項目を制御する

ServiceNowのデフォルトのアプリケーションでは基本的にあまり必須項目は設定されていない。またテーブルの通常の定義ではカラム毎に必須項目を設定する事になる。

つまり最初の保存時に必須項目を設定できる。

ただ実際の使用シチュエーションではステータスに応じて必須項目を設定したいケースがある。

ケースのクローズの承認をエライ人がやる場合に、メンバーが空欄ばかりで承認依頼を出してくる様なケースがあると、起票時は必須でもよいが、クローズ前には最低限すべて埋めて出させるくらいの事はツール側で設定できないのか?という様なわがままな要望が出てくるケースは多い。

偉い人=発言力もあり要望に応じざるを得ないケースも多い。これを実現するためにはステータスに応じて動的に必須項目を設定することが必要になる。

2020年11月14日土曜日

フォームコンテキストメニューからレコード毎のXMLによるエクスポートをadmin以外のユーザに許可する

Form context menu =フォーム画面の左上の「≡」マークのいわゆるハンバーガ―メニューから、adminであれば今見ているレコードの情報をxmlでエクスポート可能である。

2020年11月13日金曜日

データベースビューの機能を特定のユーザにだけ使用可能にする

以前紹介したデータベースビューの機能だが、どういうわけかSystem Definitionの配下のメニューとなっている。つまりデフォルトだとadminでないと使用できない。

まぁ定義の内容によってはかなりの負荷をかけてしまう可能性もあるのである程度絞るのはやむを得ないが、ユーザからのデータ抽出要望が多岐にわたってくると、正直一人で全部対応するのはつらくなってくる。

ある程度DBの知識や細かい集計が必要なユーザには公開してしまった方が良い場面もありそうなので、限定的に公開するようにしてみたい。

フィルタナビゲータのメニューを制御する

Servicenowには非常に多くの機能がデフォルトで備わっている。

基本的にフィルタナビゲータで検索して機能を使用するUIになっているが、一部のユーザからは「メニューが多すぎて訳が分からない!使う奴だけ出してくれ!」という様な要望を受けることがある。

2020年10月19日月曜日

2020年10月17日土曜日

ServiceNowのテンプレートでスクリプト(Javascript)を使う

テンプレート機能の使い方については↓以前のこのあたりの記事を参照。

ServiceNowのテンプレート機能を活用する

ServiceNowのデフォルトではテンプレート化できない項目をテンプレート化する(例)

さて時にテンプレートを使用していると動的な値を入れたくなることがある。

なぜか公式のドキュメントには丁寧な案内が見当たらないのだが、テンプレート内でJavascriptを使うことができる様になっている。

Servicenowのポータルでのナレッジ記事の表示順をタイトル順にするためのカスタマイズ

さてServicenowのポータルでのナレッジ記事の表示順がデフォルトでどのような状態かについては前回の記事を参照いただくとして今回はタイトル順に表示できる様カスタマイズを実施してみたい。

https://community.servicenow.com/community?id=community_question&sys_id=2438061ddba91b047b337a9e0f961928

↑のコミュニティの記事を参考に進めてみたい。

まずカスタマイズが必要なウィジェットを特定する。

Servicenowのポータルでのナレッジ記事の表示順の謎

Servicenowにはユーザ向けのWebサイトを構築するポータルという機能がある。

その中でナレッジを階層構造で表示する機能があるのだが、ぱっと見は綺麗で便利そうなのだが日本企業の文化の中で活用するにはなかなか細かいところで厳しい面があったりする。

例えば次の画面でHow Toというカテゴリ配下のナレッジ記事を表示させているが、何順に並んでいるか、ぱっと分からない。というか謎である。記事タイトルの文字列順でもないし作成順でもないし、閲覧数順でも、有効期限の短い/長い順でもない。普段意識しているデータの中ではどれを見ても何順で並んでいるかわからず、知らないとかなり悩むことになる。

2020年10月16日金曜日

ServiceNowの複数のテーブルを結合する

ServiceNowのデフォルト機能でテーブル毎にデータのエクスポートやレポート機能を使ったレポートの作成が可能だ。

しかし実際のレポートやデータのエクスポートにあたってはそれだけでは不足するシーンも多い。

通常のRDB等であればSQLでjoinやら where(※)やらやればよいところかもしれないが、ServiceNowではデータベースビューという機能が用意されている。

※筆者がSQLにそれほど詳しくないのでご了承ください。

2020年10月13日火曜日

Servicenowの有用なドキュメント集

ServiceNowのドキュメントは英語だがかなり充実しているといって良いと思う。
が正直いっぱいありすぎてなかなか探せないので個人的に使えるのをリストアップしておく。

※随時拡充予定。

2020年10月12日月曜日

ServiceNowのインスタンスレベルで送信元IPアドレスによるアクセス制御を設定する

基本的にServiceNowには個人情報を始めとして企業秘密に該当する情報が多数格納されることとなる。企業文化にもよると思われるがログインを求めるとは言えそもそもアクセスをさせたくないというケースは多いと思われる。

そんなときには送信元IPアドレスによるアクセス制御が必要となる。手順は次の通り。

ServiceNowのアップデートセットの作成と設定変更や開発行為を試して切り戻す方法

ServiceNowを法人で本格的に使用する場合やはり本番環境を直接ゴリゴリ設定変更したり、直接本番環境で開発を行ったりというのは非現実的であろう。

通常本番環境と開発環境(+場合により品証≒テスト環境)の2から3面を用意し、開発環境でアップデートセットと呼ばれるものを作成し、それを本番環境へ移送するという流れになるだろう。

一方でデベロッパーインスタンスは原則一人1インスタンスしか取得できないため、アップデートセットの移送という運用は難しい。また、開発環境を用意した場合でもやはり移送するのに適正なアップデートセットを作成するためには、本番環境と全く同じ状態をベースに余計な手順を踏むことなく、設定変更やスクリプトの追加を行う必要があり、開発環境と言えどもなかなか気を使う。

そんな場合にお試し用のアップデートセットを作成し、設定変更を試し、お手軽に切り戻しができると便利なのでその手順を紹介したい。

2020年10月11日日曜日

ServiceNowのデフォルトではテンプレート化できない項目をテンプレート化する(例)

テンプレートの使い方自体についてはこちらの記事を参照。

便利な機能ではあるのだが、テンプレートを使い始めてみると、必ずしもすべての項目がテンプレート化できるわけではないことに気づく。

例えばナレッジのテンプレートを作ろうとしても、↓の様にKnowledge Baseはそもそもテンプレート化対象の項目として指定できないのだ。


これにはセキュリティにかかわる設定を変更する必要がある。

2020年10月10日土曜日

ServiceNowの便利な直リンクURL集

 ServicenowのインスタンスにはなぜかフィルタナビゲータのメニューからたどれないがURL直指定で行くと時に便利な機能がいくつかある。

しかし探し方が悪いだけかもしれないがなぜか公式には一覧が見当たらない。

分かっている範囲でメモしておきたい。
※随時拡張予定。

2020年10月8日木曜日

ServiceNowのテンプレート機能を活用する

ServiceNowの便利な機能の一つとしてテンプレートがある。

テンプレートはレコードを作成するときにあらかじめ登録しておいた固定的な記入を何度でも呼び出せる機能である。

同一フォーマットで報告させたかったりナレッジ記事を作りたかったりするときに便利に使える。

ここではknowledgeの機能を例にまずは作り方から説明してみる。

ナビゲーションバーからknowledgeを検索。



knowledge -> Create Newで新規作成画面へ。

Article bodyに、

ウェブサイトのURLにおけるトレイリングスラッシュの解釈と有無による動作の違い

インターネットが現代社会におけるコミュニケーションの基盤となっている今日、ウェブサイトのURLはビジネスや個人ブランディングにとって重要な役割を果たしています。URLは単にウェブページへの経路を示すだけでなく、SEO(検索エンジン最適化)においても重要な要素です。この記事では、U...