2
1
0

現在、webhook機能を利用してJIRAからchatworkへ通知するシステムの検証を

行っているのですが、うまく動作しません。

JIRAのサーバ上から該当サービス(webhook設定画面で指定したURL)へ

curl --insecure -X POST 対象URLでokが返ってくるのですが、だめなようです。

原因の切り分けのためにログを取得したいのですが、どのように設定すればいいでしょうか。(成功+失敗ログ)そもそもログは出ているのでしょうか。

    Commentコメントを追加...

    3 回答

    1.  
      2
      1
      0

      英語ですが以下公式ドキュメントがありますので、参考になりましたら幸いです。

      How to collect data for Atlassian Support for troubleshooting JIRA WebHooks 

      要約すると…

      1. Webhookのデバックログ出力設定

      1. JIRA管理者画面 → ログとプロファイルの作成 に遷移します。
      2. 下にスクロールして「既定のロガー」にある『別のパッケージのログ レベルを設定する』の設定リンクをクリックします。
      3. パッケージ名に「com.atlassian.webhooks」を設定し、ログレベルを「DEBUG」にします。

      このログ出力設定はJIRAを再起動すると初期化され削除されます。

      確認後はログレベルをOFFに設定して下さい。

      2. Webフックの通知確認

      (警告) RequestBinという外部サービスを使います。JIRAからリクエストが飛んでいるか対象システム(今回の場合だとchatworkですかね…)にチェックする仕組みがあれば、このチェックは不要です。

      1. RequestBin へアクセスし、「+Create a RequestBin」をクリックします。
      2. Request Bin側で受け取るURLが、「Bin URL」に表示されます。このURLをコピーします。
      3. JIRAのWebフックで、URL欄に2のURLを貼り付けます。
      4. JIRAでWebフック通知する操作を行います(例:課題作成)
      5. RequestBinで、画面右上の●をクリックしますと、受信結果が表示されます。
      1. masaru iwai

        ご丁寧にご回答下さいましてありがとうございます。

        取り急ぎ、ご教示いただいたRequestBinで問題なく動作していることは

        確認できましたので、連携先のサービス間での問題のようです。

        デバッグログを取るようにして確認を進めたいと思います。

      Commentコメントを追加...
    2.  
      1
      0
      -1

      証明書をキーストアに入れたのですが、ログを確認してもsuccessfullyのログが出ていないので

      うまくいっていないような気がします。。

      ちなみに証明書をキーストアに入れた際はjiraのサービスを再起動しないとダメでしょうか?

        Commentコメントを追加...
      1.  
        1
        0
        -1

        デバッグログを有効にして確認したところ、通信が成功しているRequestBinでは以下のように

        successfullyとログが出るのですが、失敗しているほうでは出ていませんでした。

        対象サーバとの通信が出来ていないということでしょうか?ちなみに対象となるサーバへの通信は

        SSLとなっております。

        #以下ログ抜粋

        2016-09-29 13:44:24,773 httpclient-callbacks:thread-873 DEBUG anonymous     [atlassian.webhooks.plugin.PublishTaskFactoryImpl$PublishTaskImpl] WebHook successfully sent

        1. Kengo Ohsaki

          エラーでも何かしら出力された記憶ですが…違ってましたらすみません。

          ちなみに対象となるサーバへの通信はSSLとなっております。

          ちなみに curl --insecure で OKとなるということでしたが…

          自己署名証明書(いわゆるオレオレ証明書)ではないですよね…

          通信先が認証局に署名されてないSSL証明書を使っている場合、以下のような方法が必要です。

           

        2. masaru iwai

          証明書ですが、、オレオレです。

          その場合はキーストアに入れないとダメということですよね?

          #JIRA-Confluenceの連携時にもこれをやらないとダメだった記憶があります。。(そっちはオレオレではないのですが。)

        3. Kengo Ohsaki

          証明書ですが、、オレオレです。その場合はキーストアに入れないとダメということですよね?

          はい。ご認識の通りです。

          #JIRA-Confluenceの連携時にもこれをやらないとダメだった記憶があります。。(そっちはオレオレではないのですが。)

          Java標準に入ってない認証局で証明された証明書などはそうですね…


        4. masaru iwai

          承知しました!

          ご丁寧にありがとうございます!

          証明書をキーストアに入れて試してみます。

        5. masaru iwai

          証明書をキーストアに入れたのですが、ログを確認してもsuccessfullyのログが出ていないので

          うまくいっていないような気がします。。

          ちなみに証明書をキーストアに入れた際はjiraのサービスを再起動しないとダメでしょうか?

        Commentコメントを追加...