2

Webhook (로그인 이벤트)을 사용하여 내 Play! 앱. 나는 방법에 해당 사용자의 사용자 및 IP 주소를 통과해야하지만이 오류 얻을 :Atlassian Confluence Webhook이 Play를 호출하지 않습니다! 방법 : Atlassian Connect Plugin을 사용합니다.

[httpclient-callbacks:thread-37]   
[atlassian.webhooks.plugin.PublishTaskFactoryImpl$PublishTaskImpl] apply Unable to post the information to http://<host>:9000/geoip/login due to null 

를 내가 널 (null)이 무엇인지 알 수 및 이유를 파악하기에 충분한 문서가 아니다? 도와주세요.

atlassian-connect.json는 :

{ 
    "baseUrl": "${localBaseUrl}", 
    "key": "confluence-webhook", 
    "authentication": { 
     "type": "jwt" 
    }, 
    "vendor": { 
     "name": "Wikistrat", 
     "url": "http://www.wikistrat.com" 
    }, 
    "description": "Atlassian Connect add-on that connects to GeoIP2", 
    "name": "GeoIP2", 
    "lifecycle": { 
     "installed": "/installed", 
     "uninstalled": "/uninstalled" 
    }, 
    "scopes": [ "READ", "WRITE" ], 
    "modules": { 
     "webhooks": [ 
      {  
     "key": "confluence-webhook", 
       "event": "login", 
       "url": "geoip/login" 
      } 
     ] 
    } 
} 

나는 변수를 포함하는 방법을 알고하지 않는 한 PARAMS 하드 코딩했습니다.

은 재생의 조각입니다 '의 URL에 해당하는 루트 파일!

POST /geoip/login controllers.GeoIp.getLocation() 

getLocation() 방법은 PARAMS을 읽고 그 물건을한다.

login 
{ timestamp: 1392816071138, 
    remoteIP: '0:0:0:0:0:0:0:1', 
    user: 'savbalac', 
    remoteHost: '0:0:0:0:0:0:0:1' } 
POST /login 204 37ms 
:

2014-02-19 13:21:11,175 WARN [httpclient-callbacks:thread-29] 
[atlassian.webhooks.plugin.PublishTaskFactoryImpl$PublishTaskImpl] apply Unable to post the information to http://<host>:9000/geoip/login due to null 

나는이 출력을 생성 노드 app.js 실행 (포트 3000)가 :합니다 (은 webhook를 트리거해야하는) 합류에 로그인 할 때

나는 ...\Atlassian Run Standalone\amps-standalone\target\confluence-LATEST.log에서이 오류가

및이 있습니다 confluence-latest.log :

2014-02-19 13:21:11,176 WARN [httpclient-callbacks:thread-29] 
[atlassian.webhooks.plugin.PublishTaskFactoryImpl$PublishTaskImpl] apply Unable to post the information to http://<host>:3000/login due to null 

관리자 페이지에서 모든 로깅을 사용하도록 설정 했으므로 Webhooks 및 모든 샘플에 대한 설명서를 읽었으나 아무 곳에도 표시되지 않습니다. Atlassian Answers에는 많은 답변이없는 Webhook에 대한 질문이 있습니다.

답변

2

The Play! 앱의 메소드는 자체 인증 메커니즘에 의해 보호 되었기 때문에 호출되지 않았습니다. 즉 메소드에 주석이 있습니다 (@Security.Authenticated(Secured.class)).

Confluence의 요청에는 JWT 인증이 필요합니다.