レポートを公開または非公開にする方法 (レポートビルダーインターフェイス)Issue ServiceNow レポートは、公開して URL を生成できます。その URL を使用することで、ユーザー以外の人を含め、誰でもレポートにアクセスできます。その URL に移動すると、インスタンスから現在のデータでレポートが生成されます。レポートは非公開になるまで利用可能です。これらのことは、レポートを公開することで可能になります。この記事では、クラシックのレポートビルダーインターフェイスを使用してインスタンスからレポートを公開または非公開にする手順について説明します。 目的、権限、アクセシビリティなど、レポートの公開機能に関する詳細については、記事「レポートの公開」を参照してください。 ただし、レポートへのアクセシビリティについて、レポートを公開する前に慎重に考慮すべきことがあります。それは以下のとおりです。 特定のレポートが公開されると、特別な URL が割り当てられます。その URL には、インスタンスへのパブリックアクセス権を持つすべてのユーザーがアクセスできます。ログインや資格情報は不要なため、公開することで、データが保存および取得されるインスタンスにアカウントを持っていないユーザーにデータへのアクセスを提供できます。このことを念頭に置いてレポートをレビューし、適切な権限がないユーザーが使用できないデータが含まれていないことを確認する必要があります。 手順 特定のレポートが安全に公開できると判断された場合、管理者は次の手順を使用して、インスタンスからそのレポートを公開できます。 レポートの公開 レポートを実際に公開する前に、レポートに必要な情報が含まれていること、および独占所有権のある情報や一般公開すべきでないその他の情報が含まれていないことを確認する必要があります。公開する準備が整ったら、次の手順を実行して公開できます。 その特定のレポートにアクセスして公開するために必要な権限を持つアカウントで、インスタンスにログインします。つまり、ユーザーは admin ロールまたは report_admin ロールを持っているか、アカウントに関連付けられた report_publisher ロールと report_user ロールの両方を持っている必要があります。 メニューナビゲーターを使用して、インスタンスで [レポート] -> [表示/実行] にアクセスします。レポートリストから、公開するレポートを見つけ、編集するために開きます。アクション矢印ボタン ([保存] ボタンのすぐ右にあります) をクリックします。表示されるメニューから、[公開] というタイトルのオプションを選択します。しばらくすると、レポートが公開されたことを示すメッセージと、公開されたレポートにアクセスするための URL が表示されます。 レポートビルダーインターフェイスで、編集するためにこのレポートを開くたびに、URL が同じ方法でレコード表示の上部に表示されます。この URL をコピーして、そのレポートをレビューする必要があるユーザーに配布できます。 レポート用に生成されるこの共有可能な URL は、次のような形式になります。 https://<instance-name>.service-now.com/sys_report_display.do?sysparm_report_id=<SYS_ID> ここで、 は公開されたレポートがある ServiceNow のインスタンス名であり、<SYS_ID> はそのインスタンス上にあるこの特定のレポートに対する、システムが生成した一意の ID です。 レポートの非公開 レポートの公開と同様の手順を使用して、以前に公開されたレポートを非公開にすることもできます。その詳細な方法は、次のとおりです。 インスタンスの admin または report_admin 権限を持つアカウントで、インスタンスにログインします。ログインするアカウントには、インスタンス上のこのレポートレコードへのアクセス権も必要です。メニュー ナビゲーターを使用して、インスタンス上の次の場所を参照します。 [Reports] -> [View/Run]レポートリストから、非公開にするレポートを見つけ、編集するために開きます。アクション矢印ボタン ([保存] ボタンのすぐ右にあります) をクリックします。表示されるポップアップメニューから、「非公開」というタイトルのオプションをクリックします。しばらくすると、レポートが公開されなくなったことを示すメッセージが表示され、レポートはパブリックインターネットからアクセスできなくなります。 7. 公開された場所からレポートが削除されると、そのレポートの URL を使用してアクセスすることはできなくなります。 Related Linksインスタンスで公開されているレポートを検索する方法 2 つのオプションがあります。 オプション 1: インスタンスから「sys_report」テーブルに移動します。フィルター条件「roles = public」(埋め込みクエリ:roles=public) で「sys_report」テーブルをフィルターします。 リストを参照し、必ずしも公開する必要がないレポートを特定します。 オプション 2: 次のスクリプトを実行して、事前定義されたレポートだけでなく、公開されたすべてのレポートの数を出力します。 var grReport = new GlideAggregate('sys_report');var reportQueryString = "roles=public";grReport.addEncodedQuery(reportQueryString);grReport.addAggregate('COUNT');grReport.queryNoDomain();if (grReport.next())gs.print(grReport.getAggregate('COUNT')); *注意:「is_published」ブーリアン列は、レポートのリストページに表示するために使用される単なる情報列です。「roles」列は、どのレポートが公開され、どのレポートが公開されないかを制御する列です。 (レポートデザイナーの [非公開 (unpublish)] ボタンをクリックするか、「公開 (public)」ロールを削除することで) レポートを非公開にすると、ビジネスロールが適用され、「is_published」ブーリアン値が変更されます。 これらの手順は、クラシックのレポートビルダーインターフェイスを使用したレポートの公開または非公開に固有です。新しいレポート デザイナー インターフェイスを使用したレポートの発行手順については、「 レポートをパブリッシュまたはパブリッシュ解除する方法 (レポート デザイナー インターフェイス)」を参照してください。 また、すべてのレポートを一度に非公開にすることもできます。本番環境で実行する前に、以下のスクリプトをテストしてください。 function publicReports() { var reports = []; var grReport = new GlideRecord('sys_report'); grReport.addEncodedQuery('roles=public'); grReport.query(); while (grReport.next()) { reports.push(grReport.title + ': https://yourinstance.service-now.com/sys_report_display.do?sysparm_report_id=' + grReport.sys_id); grReport.roles = grReport.roles.replace("public",""); grReport.is_published = false; grReport.update(); } return reports;}var goGetEm = publicReports();goGetEm;