ほとんどのウィジェットは DTP Server 上のリソースにアクセスしますが、他のサーバーの情報を表示するウィジェットもあります。しかし、最近のブラウザーはセキュリティ上の理由からウィジェットが外部サーバにリクエストすることを許可していません。
<DTP_DATA_DIR>/conf/
ディレクトリにある ExternalApiWhitelist.xml ファイルでホワイトリストにホストを追加することで、外部リソースの情報をウィジェットに表示することができます。そうすれば、外部リソースを取得して内容をウィジェットに返す DTP サービスに、ウィジェットがリクエストを行うことができます。
ホワイトリストの影響を受けるのは以下のウィジェットです。
ビルド結果 | Jenkins ジョブ結果 |
---|---|
テスト | Jenkins Cobertura カバレッジ - パーセント Jenkins Cobertura カバレッジ - サマリー Jenkins テスト結果 - サマリー |
これらのウィジェットを動作させるには、ウィジェットがアクセスするホストをホワイトリスト ファイルに追加する必要があります。
<DTP_DATA_DIR>/conf
ディレクトリにある ExternalApiWhitelist.xml ファイルをエディターで開きます。次のスキーマに従って、ウィジェットで参照されるホストごとにエントリを追加します。<external-api-whitelist> <host>host1.companyname.com</host> <host>host2.companyname.com</host> </external-api-whitelist>
- ファイルを保存します。DTP サービスの再開は不要です。
ホワイトリスト ファイルのエントリはホスト名であり、完全な URL ではありません。リソースの URL は、任意のポート番号、HTTP か HTTPS のいずれか、および任意のパスを使用できます。ほとんどのウィジェットの場合、ホスト名とポートの後に手動でパスを指定する必要はありません。たとえば、ホスト alpha.companyname.com
をホワイトリストに追加した場合、以下のすべての URL は許可されます。
http://alpha.companyname.com/a
https://alpha.companyname.com/b
http://alpha.companyname.com:8080/x?y=z
https://alpha.companyname.com:9091/path/to/something?param=22
この例では、たとえ DTP Server が alpha
と alpha.companyname.com
を同じ IP アドレスに解決したとしても、URL http://alpha/path?x=y
は許可されません。単純に "alpha" としてホストを参照してリソースにアクセスするには、ホワイトリスト ファイルに <host>alpha</host>
を追加する必要があります。