Zammad: APIを介してチケットを削除すると、レポートはチケットリストの生成時に例外をスローします

作成日 2019年04月16日  ·  3コメント  ·  ソース: zammad/zammad

こんにちは。問題を提出していただきありがとうございます。 問題を作成する前に、次のことを確認してください-ありがとうございます! 🤓11月15日以降、コミュニティボードで、実際のバグを除くすべてのリクエストを処理します。 完全な説明:https://community.zammad.org/t/major-change-regarding-github-issues-community-board/21投稿してください:-機能のリクエスト-開発の質問-ボード上の技術的な質問-> https:/ /community.zammad.org! バグが発生したと思われる場合は、続行してください。-既存の問題とCHANGELOG.mdで問題を検索します-すでに解決策がある可能性があります-可能であれば最新バージョンのZammadを使用してください-`log/productionを追加してください。システムからのlog`ファイル。 重要:機密データが含まれていないことを確認してください。 -問題を英語で書いてください-テンプレートを削除しないでください-それ以外の場合は、コメントなしで問題を閉じます-メーリングリストでZammadの構成と使用法について質問してください。 参照:https://zammad.org/participate注:私たちは常に最善を尽くします。 残念ながら、リクエストが多すぎて、一度にすべてを処理できない場合があります。 問題に優先順位を付けたりエスカレーションしたりする場合は、サポート契約を使用して行うことができます(https://zammad.com/pricing#selfhostedを参照)。 *問題を送信すると、上部のテキストブロックは自動的に削除されます*

この投稿は@MrGenerationによって編集されており、必要な形式を満たしています。また、より多くの情報を入力するために

情報:

  • 使用済みZammadバージョン:3.0
  • インストール方法(ソース、パッケージ、..):任意
  • オペレーティングシステム:任意
  • データベース+バージョン:任意
  • Elasticsearchバージョン:5.6(おそらく任意)
  • ブラウザ+バージョン:任意
  • チケットID:#1047094、#1048216

予想される行動:

スケジューラーを使用してチケットを削除する場合(またはAPIまたはコンソールを介して手動で削除する場合)、これはレポートモジュールに影響しません。 つまり、レポートは正常に機能し、利用可能なすべての有効なデータを返します。

実際の動作:

スケジューラー、コンソール、またはAPIを使用してチケットを削除するときに、elasticsearchがデータベースに存在しなくなったチケットを返すと、エラーがスローされます。

コンソールは以下をスローします:
image

グラフは問題なく作成されますが、以下のチケットリストは更新も作成もされません。

これは、部分的には#2246のリグレッションです(レポートの別の部分でひざのエラーが発生するエラーを抑制しているためです)。

動作を再現する手順:

  • いくつかのチケットを作成する
  • ブラウザコンソールを開く
  • レポートを開いて統計を確認すると、すべてが機能しているはずです(ブラウザコンソールは「クリーン」です)
  • 1つまたは2つのチケットを削除します
  • リロードしてレポートを再度開きます(ブラウザコンソールは上記のエラーをスローします)

この振る舞いの理由:

この問題は、古いelasticsearchインデックス(これはすぐに別の問題でカバーされます)と、それほど堅牢ではないエラーエスケープが原因で発生します。

はい、これはバグであり、機能のリクエストや一般的な質問はないと確信しています。

元の投稿

情報:

  • 使用済みZammadバージョン:docker最新2.9.x
  • インストール方法(ソース、パッケージ、..):docker

予想される行動:

  • チケットのリストはこのように表示されます
    image

実際の動作:

  • チケットテーブルが表示されていません。jsコンソールにエラーが表示されます。
application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:22 > Uncaught TypeError: Cannot read property 'customer_id' of null
    at Function.n._fillUp (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:22)
    at Function.n.fullLocal (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:21)
    at Object.success (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:42)
    at c (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:2)
    at Object.fireWith [as resolveWith] (application->a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:2)
    at i (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:3)
    at XMLHttpRequest.<anonymous> (application-a35ba2c058c01543bd0e17e5377c39817d3a79131917e530a74dfaea7a7fe689.js:3)

動作を再現する手順:

  • 次のようなAPIを介していくつかのチケットを削除します。
export TOKEN=`cat TOKEN`
TICKETS=``curl -H "Authorization: Token token=$TOKEN" https://YOURDOMAINHERE/api/v1/tickets/search?query=group:_delete_these_tickets_|jq ".tickets[]"`
for i in $TICKETS ; do
        echo $I
        curl -H "Authorization: Token token=$TOKEN" -s https://YOURDOMAINHERE/api/v1/tickets/$i -X > DELETE
done

現在もチケットは' https:// YOURDOMAINHERE / api / v1 / reports/sets'AJAXコールに表示されます

duplicate

最も参考になるコメント

あなたが言ったように動作します@thorsteneckel
修正していただきありがとうございます

全てのコメント3件

ねえ@SummerStorm-私はこれを@MrGenerationと一緒に顧客のマシンでデバッグしていて、根本的な原因と実行可能な解決策を見つけました。 修正が進行中です。 ここから引き継ぎます👍

この問題は、Zammad 3.1ですでに修正されている#2611の症状であることがわかりました。 Zammadのインストールを最新の安定版に更新し、検索インデックスを再構築して( zammad run rake searchindex:rebuildを実行して)、再試行してください。 これで解決するはずです。 そうでない場合は、私に知らせてください。 とりあえずこれを閉じます。

あなたが言ったように動作します@thorsteneckel
修正していただきありがとうございます

このページは役に立ちましたか?
0 / 5 - 0 評価