Kompira Cloud APIサイトでJSON投入・実行した際にエラーが発生する(ルールの作成)

完了

コメント

44件のコメント

  • michelle

    お世話になっております。
    補足情報です。

    そもそものお話なのですが、今回curlで以下のコマンドを実行して新しい架電環境作成する想定でいます。
    しかし、この想定が間違っている可能性があると判断しました。

    この点も齟齬がないか(さらに必要な情報がないか等)確認よろしくお願いします。

     実行順 登録環境 登録情報   実行API                      APIエラー
        =========================================================================
       1 AlertHub 受信スロット /api/apps/alerthub/receive-slots(POST)       なし
       2 AlertHub スコープ   /api/apps/alerthub/scopes(POST)           なし
       3 AlertHub ルール    /api/apps/alerthub/rules(POST)            あり
       4 Pigeon    ガイダンス  /api/apps/pigeon/guidances(POST)          なし
       5 AlertHub アクション  /api/apps/alerthub/actions(POST)           なし
       6 AlertHub トリガー   /api/apps/alerthub/scopes/{scopeId}/triggers(POST)     あり

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。
    矢次早ですみませんが、トリガーのエラー情報を共有します。

    実行対象API:スコープのトリガー設定作成
    投入JSONイメージ:
    ※白抜き部分は任意値(値あり)。
    ※actionIdは作成したアクションのものを設定して登録予定。
    (既存のactionIdを設定しても同様のエラーになります)
    実行結果:

    エラー部分拡大:
     →エラー内容としては初回投稿時のもの同じ認識です。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。

    此方の件、如何でしょうか?
    追加で情報が必要な場合は連絡よろしくお願いします。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お問い合わせありがとうございます。

    こちらの問い合わせについてですが、現在確認中です。
    お待たせして申し訳ございませんが、もうしばらくお待ちください。

    よろしくお願いします。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    確認しましたが、最初の画面の白抜きされていない部分については問題は見当たりませんでした。
    足りていない情報もなさそうです。
    白抜き部分の記述次第ではエラーになる可能性がありますので、以下の点について問題ないか確認してください。

    ・2行目: receiveSlotId に指定している受信スロットは存在しますか?
    ・6行目: eventParams のキーは深刻度を設定する対象のスコープのIDです。対象のスコープは存在しますか?
    ・17行目: operatorId は処理フローによって決まった値を設定する必要があります。parameters の内容から推測するに、「フィールドが正規表現にマッチするかどうか確認する」だと思います。
    この operatorId は 1c9ac850-6bc1-4c02-b69a-b072f6ba13af ですが合っておりますでしょうか?
    ・21行目: P1 にはおそらく正規表現を指定しているものと思われます。正規表現のために \ という文字を記述したい場合、JSON 文字列としてはエスケープが必要なことに注意してください。例えば正規表現として foo:\s*bar と記述したい場合、 foo:\\s*bar と \ を二重に書く必要があります。

    特に6行目 eventParams に存在しないスコープIDを設定した場合と、21行目の P1 で \ を二重にするのを忘れた場合 (JSON として正しく解釈できなくなる) は、エラーメッセージにどのパラメーターがおかしかったか表示されませんので、ご注意ください。

    よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。
    回答ありがとうございます。

    確認しましたが、最初の画面の白抜きされていない部分については問題は見当たりませんでした。
    足りていない情報もなさそうです。
     →確認ありがとうございます。

    白抜き部分の記述次第ではエラーになる可能性がありますので、以下の点について問題ないか確認してください。
    ・2行目: receiveSlotId に指定している受信スロットは存在しますか?
     →API実行時には存在する受信スロットのIDを設定しています。
      また、ルールに対するcurlコマンドを実行する際には、事前に受信スロットを新規作成したうえで
      作成した受信スロットIDを
    指定する予定です。

    ・6行目: eventParams のキーは深刻度を設定する対象のスコープのIDです。対象のスコープは存在しますか?
     →API実行時には存在する既存スコープIDを設定しています。
      こちらについても、ルールに対するcurlコマンドを実行する際には、事前にスコープを新規作成したうえで
      作成したスコープIDを指定する予定です。

    ・17行目: operatorId は処理フローによって決まった値を設定する必要があります。parameters の内容から推測するに、「フィールドが正規表現にマッチするかどうか確認する」だと思います。
     →ご認識の通りです。
    この operatorId は 1c9ac850-6bc1-4c02-b69a-b072f6ba13af ですが合っておりますでしょうか?
     →operatorIdは上記の通りでした。

    ・21行目: P1 にはおそらく正規表現を指定しているものと思われます。正規表現のために \ という文字を記述したい場合、JSON 文字列としてはエスケープが必要なことに注意してください。例えば正規表現として foo:\s*bar と記述したい場合、 foo:\\s*bar と \ を二重に書く必要があります。
     →ご認識の通り正規表現ですが、稼働中の設定をそのまま使用しているので設定自体は問題ない想定です。
      参考までに正規表現内容は以下のようになっています。
       "P1": "^{内部変数名}:\\s*(\\S+)$" ※{内部変数名}にアルファベット変数名を設定しています。

    念のためにですが・・・
    Kompira APIドキュメントサイトにて新規登録予定のJSONを投入・実行した際にエラーになるケースが
    あります。
    何故エラーになっているか教示よろしくお願いします。
    →本件は記載の通り、curlコマンドを実行したのではなく、以下のURLでJSON内容の確認した結果の
     確認となります。
      実際にcurlコマンド実行時に同様のエラーになることを懸念視しています。

       https://fixpoint.cloud.kompira.jp/docs/apidoc/#/alerthub/post_api_apps_alerthub_rules
      レスポンスコードとして201が帰ってきているので、登録は出来る想定ですが400も帰ってきて
      いるのでこの点が謎です。。


    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    返されたエラーの内容を提示いただくことはできますでしょうか。
    フロンプトの実行画面のスクリーンショットを張り付けていただければと思います。

    よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。

    返されたエラーの内容を提示いただくことはできますでしょうか。
    フロンプトの実行画面のスクリーンショットを張り付けていただければと思います。
    →これはcurlコマンド実行時のということでしょうか?
     curlコマンドは実行していませんので提供は出来ないです。
     (弊社環境<本番環境>に対してコマンドは現段階では実行できない。
     それともAPI画面の結果でしょうか?そうでしたら初回投稿分の提示済かと思います。
     さらにマスクしている情報の中で、必要であれば連絡よろしくお願いします。


    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    curlコマンドではなく今回の再現結果の方を送っていただければと思います。
    また、初回送っていただいたのは、API ドキュメントに記載されている例示に見えましたため、別途あるかと思いますがいかがでしょうか。

    よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。

    再現結果を添付します。
    【JSON】
    {
        "receiveSlotId": "8020f01b-ea83-4f84-b884-c511d1f8b1a7",
        "displayName": "WEBHOOK_KENCHI_Shared_r",
        "remarks": "検知切り分け地区LAN対応に伴う自動架電ルール",
        "eventParams": {
            "01531d15-8426-43e4-8611-6aa487e197aa": {
                "severityName": "K-severity",
                "method": "set",
                "value": 0
            }
        },
        "conditionalEventParams": [],
        "flow": {
            "steps": [
                {
                    "comment": "",
                    "operatorId": "1c9ac850-6bc1-4c02-b69a-b072f6ba13af",
                    "parameters": {
                        "F1": "message.content.text",
                        "O1": "does",
                        "P1": "^callflow:\\s*(\\S+)$"
                    }
                }
            ]
        },
        "disabled": false
    }

    【API実行結果(スクリーンショット)】

    さらに必要な情報がありましたら、連絡よろしくお願いします。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    いただいた JSON の receiveSlotId と eventParams を弊社開発担当の手元の環境に合わせて調整したものを curl コマンドライン実行で試したところ問題なく成功しましたのでJSONそのものには問題ないかと思われます。

    頂いたAPI実行結果(スクリーンショット)の状況からですと、恐らくネットワークエラーが発生し、たとえ正しい内容を送信したとしてもうまく内容を送受信できていない上程であると思われます。もし、他のネットワークは問題がないのにもかかわらず、ここだけうまくいかないという場合は、ブラウザを再起動して再度試していただくとうまく動作する可能性があります。
    また、ブラウザを再起動した後は認証情報が外れていると思われますので、実行前にAuthorize のし直しをお願いいたします。

    以上、よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。
    お忙しい中、検証等ありがとうございます。助かります。

    JSONが問題ない件、承知しました。安心しました。
    ネットワークエラーの件は、生憎現在別環境のネットワークがないため確認が出来ません。
    現存ネットワーク環境でもキャッシュクリア等を行なって再度実行していてみます。
    追って結果は連絡します。

    一方で気になった事があります。
    ステータス201と400が順に帰ってきており、201が帰ってきた時点で目的である
    ルールの追加は完了しているはずなのに、その後400が帰ってきている認識です。

    ①この400のステータスが帰ってきている処理は何をしているのでしょうか?
     差し支えなければ教示よろしくお願いします。
    ②①で行なっている処理次第ですが、ステータス201が帰ってきている時点で
     400は別途帰ってきているが、無視しても問題ないという解釈もできると思います。
     この解釈は楽観視しすぎでしょうか?

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    送付していただきましたスクリーンショットの画面の味方について説明しておらず申し訳ございません。
    201や400が記載されているResponseの欄は解説のためのドキュメントであり、レスポンス結果ではございません。
    実際のレスポンス結果はその少し上にあるServer Responseの項目に記載されています。
    そこのDetailの項目を見ますと「Undocumented  TypeError: Failed to fetch」とあり、これが直接の原因となります。

    以上、よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。

    回答ありがとうございます。
    直接原因は「Undocumented  TypeError: Failed to fetch」ということは承知しました。
    エラー内容もネットワーク関係ということで再認識しました。

    使用しているブラウザはGoogle Chromeですが、同ブラウザの開発者ツールでAPI実行時のネットワークエラーがないかを確認したところ、以下の結果でした。
    以下のURLにアクセスした際に404のエラーが出ているようでした。URLにアクセスしてもページはなさそうです。
    何か関係はないでしょうか?
     https://www.googletagmanager.com/gtm.js?id=GTM-5W9B6FH

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。
    矢次早にすみませんが、Edgeでも同API、同JSONで実行したところ、開発ツール・コンソールで以下のメッセージが表示されました。
    (メッセージ内容)
    Access to fetch at 'https://ajs-kompira.cloud.kompira.jp/api/apps/alerthub/rules' from origin 'https://fixpoint.cloud.kompira.jp' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

    CORS(Cross-Origin Resource Sharing)ポリシーに違反しているため、ブラウザがリクエストをブロックしたものと思われるのですが、如何でしょうか?
    #外していたらすみません。

    もし原因がそうでしたら、対応が必要であればその内容を教えてください。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。

    本日別ネットワーク環境の使用が出来たので、APIを実行してみたところ
    同じエラーになりましたので共有させていただきます。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    404の方についてですが、こちらは弊社コミュニティサイトの画面をChromeのデベロッパーツールで開いたときのものかと思われます。(ここのページで開いたところ再現できました。)

    ですので、本件と関わりはございません。
    2枚目のCORSポリシー関連表示の画面についてはもう少しお待ちください。

    よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。

    404については承知しました。
    CORSポリシーについてはよろしくお願いします。

    関連してですが、教示よろしくお願いします。
    API画面のAuthorizeボタン押下時に表示される以下のダイアログですが
    入力するのは弊社環境で生成したアクセストークンである認識です。
    齟齬はないでしょうか?

    ※そもそもAPI実行方法がまずかったのでは?と思い
     確認させていただきます。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    CORSポリシーの件ですが、エラーメッセージから推測するに参照している API ドキュメントの URL が https://fixpoint.cloud.kompira.jp/docs/apidoc/ になっているようです。
    API ドキュメントこのドメインの URL の先頭部分をお客様のスペースIDと合わせてもアクセスできますので、その URL を利用すると CORS に抵触しないと思いますので、一度ご確認いただけますでしょうか。
    (おそらく https://ajs-kompira.cloud.kompira.jp/docs/apidoc/ になるかと思います。)
    また、上記 URL を直接入力せずとも、お客様の Kompira Cloud スペースのヘルプメニューから API ドキュメントに遷移していただくとドメインが一致した URL に飛ぶことができますので、それを活用する方法もございます。

    以上、よろしくお願いします。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    ご質問いただきましたAuthorizeをクリックしたときに開かれるダイアログですが、
    こちらは「Token XXXX」と入力して実行していただけます。
    ※ XXXX はお客様の環境で生成した API トークン

    必ず頭に Token を付ける必要があることにご留意ください。

    よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。
    回答ありがとうございます。

    複合的に間違えてた認識です。すみません。
    ・URLでの参照指定先は弊社Kompira Cloud環境でないといけなかったという認識です。
    ・アクセストークンも設定値の前に「Token 」が必要だった認識です。

    そのうえで実行したところ以下のようになりました。
    →Server Responseは201となっている。
    →Responsesは201、400となっている。

    最後の400は問題ないのでしょうか?

    ※当然ながらEdgeで出ていたエラーは解消しています。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    Response以下に記載されている201や400は解説のためのドキュメントであり、
    レスポンス結果ではございません。
    実行結果はServerResponseにございますが、201となっており特に問題はございません。

    以上、よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。

    Response以下に記載されている201や400は解説のためのドキュメントであり、
    レスポンス結果ではございません。
    実行結果はServerResponseにございますが、201となっており特に問題はございません。
    →問題ないと解釈しました。承知しました。

    スコープ登録時にエラーとならずに、ルール登録時にエラーとなったのは、登録対象データによって
    登録時のふるまいが異なるためと想定しています。
    (ルールの場合、受信スロットやスコープの存在確認等も行なっているから)

    1点確認があります。
    APIページで設定するアクセストークンですが、URLにアクセスする都度設定が必要なのでしょうか?
    毎回設定している気がしているので、情報を保持する方法がありましたら教示よろしくお願いします。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になります。

    すみません。本APIサイトですが、稼働環境に各定義体が実際には出来ない想定でしたが
    出来てしまうのでしょうか?

    #既存のスコープをもとにルール及びアクションを追加した形になっていたので
    #メールを受けて多重に自動架電されている現象が発生していました。

    また、稼働環境に影響せずにJSONの正当性を確認する方法はあるでしょうか?

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になります。
    本件、如何でしょうか?

    回答よろしくお願い致します。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。
    まず、API ドキュメントの Try it out は、実際に API 呼び出しを行う機能となっております。
    API キーを要求する理由も、本物の API 呼び出しをするためです。
    そのため、正しく実行されると、結果が実際にスペースに反映されます。

    APIページで設定するアクセストークンですが、URLにアクセスする都度設定が必要なのでしょうか?
    毎回設定している気がしているので、情報を保持する方法がありましたら教示よろしくお願いします。

    一度設定した後は、設定を解除する操作 (トークン設定ダイアログで Logout を選択) をするか、API ドキュメントページを閉じたりリロードしたりするまでは有効です。
    それまでは API トークン設定を保持したまま連続で API を呼び出すことが可能です。

    本APIサイトですが、稼働環境に各定義体が実際には出来ない想定でしたが出来てしまうのでしょうか?

    API ドキュメントからの Try it out の結果は、スペースに反映されます。

    稼働環境に影響せずにJSONの正当性を確認する方法はあるでしょうか?

    残念ながらございません。

    よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になります。
    回答ありがとうございます。

    APIが呼び出されるので実際に反される旨承知しました。
    「Try it out」という言葉のニュアンスから、実際にAPIは実行されても実環境には
    反映されないと想定していました。
    正当性を確認する方法もない旨も、残念ですが承知しました。

    ー追記ー
    仮に現在使用している環境が本番環境で、別途検証環境を用意したいというお話になる場合は
    別途契約が必要になる想定です(URLを変えるだけで検証環境等の別環境になるわけではない)。
    齟齬はないでしょうか?

    APIページで設定するアクセストークンですが、URLにアクセスする都度設定が必要なのでしょうか?
    毎回設定している気がしているので、情報を保持する方法がありましたら教示よろしくお願いします。

    一度設定した後は、設定を解除する操作 (トークン設定ダイアログで Logout を選択) をするか、API ドキュメントページを閉じたりリロードしたりするまでは有効です。
    それまでは API トークン設定を保持したまま連続で API を呼び出すことが可能です。
    →承知しました。リロードでも消えてしまうんですね。。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。

    以下の件、如何でしょうか?

    ー追記ー
    仮に現在使用している環境が本番環境で、別途検証環境を用意したいというお話になる場合は
    別途契約が必要になる想定です(URLを変えるだけで検証環境等の別環境になるわけではない)。
    齟齬はないでしょうか?

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク
  • Kompiraサポートチーム

    お世話になっております。

    ご認識の通り、検証用の環境を本番とは別にスペースを作って運用する場合は別途契約が必要です。

    よろしくお願いします。

    0
    コメントアクション パーマリンク
  • michelle

    お世話になっております。
    回答ありがとうございます。

    本件、承知しました。
    本件はクローズとさせてください。

    以上、よろしくお願い致します。

    0
    コメントアクション パーマリンク

サインインしてコメントを残してください。