ほとんどのウィジェットは DTP Server 上のリソースにアクセスしますが、他のサーバーの情報を表示するウィジェットもあります。ただし、現在のブラウザーは外部サーバーへのリクエストをウィジェットに許可しません。なぜなら、セキュリティへの影響が考えられるからです。

<DTP_DATA_DIR>/conf/ExternalApiWhitelist.xml ファイルでホワイトリストにホストを追加することで、外部リソースの情報をウィジェットに表示できます。そうすれば、外部リソースを取得して内容をウィジェットに返す DTP サービスに、ウィジェットがリクエストを行うことができます。

ホワイトリストの影響を受けるのは以下のウィジェットです。

ビルド結果Jenkins ジョブ結果
テスト

Jenkins Cobertura カバレッジ - パーセント

Jenkins Cobertura カバレッジ - サマリー

Jenkins テスト結果 - サマリー

これらのウィジェットを動作させるには、ウィジェットがアクセスするホストをホワイトリスト ファイルに追加する必要があります。

  1. エディターで <DTP_DATA_DIR>/conf/ExternalApiWhitelist.xml ファイルを開きます。以下のスキーマに従って、ウィジェットで参照される各ホスト用のエントリを追加します。
     

    <external-api-whitelist>
    <host>host1.companyname.com</host>
    <host>host2.companyname.com</host>
    </external-api-whitelist>
  2. ファイルを保存します。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> を追加する必要があります。 

DTP 5.2.3 へのアップグレード

5.2.3 よりも前のバージョンの DTP では、外部リソースを取得するサーバーに制限はありませんでした。しかし、DTP 5.2.3 にアップグレードした後は、ホワイトリストが適用されます。

既存のウィジェットへの影響を最小限に抑えるために、5.2.3 へのアップグレード時に、既存のウィジェットが使用しているホスト名が自動的に ExternalApiWhitelist.xml ファイルに追加されます。アップグレードの後、ExternalApiWhitelist.xml ファイルを確認して不要なエントリを削除してください。

初回のアップグレード処理が完了した後、DTP が自動的にホワイトリストにエントリを追加したり、ウィジェットの構成と同期を取ることはありません。そのため、必要に応じて必ずホワイトリストを変更してください。

  • No labels