例:GitHub 検索ソースの設定
外部 Web サイトのデータをクエリする高度な検索ソースを設定します。
始める前に
必要なロール:なし
高度な検索ソースを作成するには、REST API を介した外部 Web サイトへの認証されたアクセスと 、AngularJS の基本的な知識が必要です。
手順
- プラットフォーム UI で、 サービスポータル > ポータル をクリックし、検索ソースを追加するポータルを選択します。
- [検索ソース] 関連リストで、[ 新規] をクリックします。
-
検索ソースの名前と ID を作成します。
ID は一意である必要があり、スペースや特殊文字を含めることはできません。
- [ データソース ] タブで、[ スクリプト化されたソースである] チェックボックスをオンにします。
-
データフェッチスクリプトフィールドにコンテンツを追加します。
GitHub 統合を設定するには:
(function(query) { var results = []; /* Calculate your results here. */ var url = "https://api.github.com/search/repositories?q=" + encodeURI(query); var ws = new GlideHTTPRequest(url); ws.setBasicAuth("YOUR_USERNAME_HERE", "YOUR_PASSWORD_HERE"); var jsonOutput = ws.get(); if (jsonOutput) { var response = new JSON().decode(jsonOutput.getBody()); results = response.items; results.forEach(function(result) { result.url = result.svn_url; result.target = "_blank"; result.primary = result.full_name; }); } return results; })(query);注:前の例では、ws.setBasicAuthには外部リソースのユーザー名とパスワードが必要です。詳細については、「 GlideHTTPRequest - グローバル」を参照してください。 -
検索ページテンプレートを使用して、検索結果の表示方法をカスタマイズします。
<div> <div class="pull-right"> <strong>{{item.language}}</strong> <a ng-href="{{item.svn_url}}/stargazers" target="_blank" class="m-l-sm"><span class="fa fa-star m-r-xs"></span>{{item.stargazers_count}}</a> <a ng-href="{{item.svn_url}}/network" target="_blank" class="m-l-sm"><span class="fa fa-code-fork m-r-xs"></span>{{item.forks}}</a> </div> <a ng-href="{{item.svn_url}}" target="_blank" class="h4 text-primary m-b-sm block"> <span ng-bind-html="highlight(item.full_name, data.q)"></span> </a> <p>{{item.description}}</p> <p>Updated <sn-time-ago timestamp="item.updated_at"></sn-time-ago> ago</p> </div>