예: GitHub 검색 소스 설정
외부 웹 사이트의 데이터를 쿼리하는 고급 검색 소스를 설정합니다.
시작하기 전에
필요한 역할: 없음
고급 검색 소스를 만들려면 REST API를 통해 외부 웹 사이트에 대한 인증된 액세스와 AngularJS에 대한 기본 지식이 필요합니다.
프로시저
- 플랫폼 UI에서 다음으로 이동합니다. Service Portal > 포털 을 클릭하고 검색 소스를 추가할 포털을 선택합니다.
- Search Sources(검색 소스) 관련 목록에서 New(새로 만들기)를 클릭합니다.
-
검색 소스의 이름과 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>