この記事では、自動化におけるチケットフィールドやタグなどの値を削除することによって生じる影響と、値の削除によるエラーを修正する方法について説明します。
この記事では、次のトピックについて説明します。
削除された値について
自動化を作成する場合は、さまざまな条件を選択できます。「自動化の条件およびアクションのリファレンス」を参照してください。一部の自動化は、常にアカウントに存在します。以下はその例です。
Zendesk Supportでは、チケットには常にステータスがあるため、この条件のステータスは常に「終了」になります。常に存在するステータスを使用することもできますが、変更や削除が可能なチケットフィールドなどの他の要素についてはどうでしょう。
自動化で削除された値
フィールド値を変更すると、自動化の結果にさまざまな影響を受けます。たとえば「pears」という値を持つ「テストドロップダウン」というドロップダウンフィールドに依存する条件を作成し、そのフィールド値の名前を「pears」から」pears v 2.0」に変更すると、その自動化の条件名が更新されます。
一方、バックエンドでは自動化の多くの機能をタグに依存しています。では、先ほどの「pears」フィールド値について、フィールド値の名前ではなくタグを変更するとどうなるでしょうか。
タグを別のタグに変更してから、自動化条件に戻ると、条件が満たされなくなるため、「(値はもう存在しません。別の値を選択してください)」というエラーが表示されます。
タグを変更する代わりに、フィールド値「pears」ごと削除すると、まったく同じ状況が発生し、自動化条件に「(値はもう存在しません。別の値を選択してください)」というエラーが表示されます。
このエラーは悪い知らせのようですが、では実際にどういうことなのでしょうか。
削除された値によるエラーメッセージ
自動化が依存しているチケットフィールド値を変更または削除した結果、自動化条件にエラーが発生しています。自動化の残りの部分を見て、何が起こったかを調べてみましょう。自動化の残りの部分は次のとおりです。
このように、1番目の条件にエラーメッセージが表示されています。その後、条件はエラーとしてマークされ、スキップされます。
次に、自動化は、この自動化がチェックしているチケットが終了ステータス未満であり、かつ「cricket」タグを含んでいないかどうか調べます。
残念なことに、2番目以降の条件はこのアカウントの残りの有効なチケットと一致します。したがって、この自動化が実行された後、「cricket」チケットタグが自分のチケットすべてに追加されてしまいます。
削除された値に関するエラーの解決
削除された値のエラーを解決するには、次のようにいくつかの方法があります。
チケットフィールドを変更する前に自動化を更新する
この問題を発生させないための最善の解決策は、自動化の条件を特定し、依存するフィールドを変更する前にそれらを調整することです。
それには、条件がチェックするフィールド値を別のフィールド値に変更します。または、フィールドを削除すると自動化が不要になるため、自動化を完全に無効にしてもかまいません。あるいは、まったく違うフィールド値をチェックするように自動化を調整することもできます。この場合、条件は、今後チケットに発生する新しい状況に一致します。
どのような決定をしたとしても、重要な目的は、フィールドを削除または変更したときに、アカウント内のアクティブな自動化がそれらの値に依存しないようにすることです。
自動化を逆方向に実行しチケットをクリーンアップする
自動化を逆方向実行してチケットをクリーンアップするには
- 新しい自動化を作成し、前の自動化によって行われた処理をもとに戻します。
- 当初に意図していた処理を行う別の自動化を作成します。
上の例では、誤って「cricket」というタグをすべてのチケットに追加してしまいました。新しい自動化では、「cricket」タグのすべてのインスタンスを削除するアクションを追加しました。この自動化は、以下の画像のようになります。
この最初の新しい自動化は、「cricket」タグを取り除きます。この自動化を数時間実行して、アカウント内のすべてのチケットからタグを削除した後、実際にタグを追加したいチケットに対して「cricket」チケットタグを配置する別の新しい自動化を作成する必要があります。例:
これで、誤りを元に戻し、チケットを修正することができました。当初「cricket」タグを追加するはずだったチケットに、正しくタグが付けられます。
Zendesk APIを使用して修正を行う
このソリューションは、習熟しているスクリプト言語、APIへのアップデート、プログラミング言語へのアップデート、テクノロジの進化によって大きく異なります。ここでは、主に概要を述べるだけですが、Zendesk APIの詳細情報へのリンクなども紹介します。
影響を受けるチケットを特定するスクリプトを作成するには
- 自動化が開始されたとき、またはフィールドに変更が加えられたときのUNIXタイムスタンプを取得します。
-
incremental events APIエンドポイントにタイムスタンプを入力してアカウントを呼び出し、タイムスタンプの時刻以降に発生したチケットイベントを取得します。
正確な日付と時刻がわからない場合は、チケットを調べて変更が発生し始めた時刻を確認するか、そのフィールドが最後に更新された時刻を確認するか、適切なタイムバッファを使用して推測します。
- これらのイベントを取得すると、不要なアクションを実行した自動化IDを検索できます。
自動化IDがわからない場合は、List Automationsエンドポイントのリストを確認します。次に、自動化が含まれているイベントからチケットIDを取得します。
影響を受けるチケットのリストを作成したら、問題を修正するためにそれらのチケットに対して実行する必要があるアクションを決定し、それらの更新を適用するために検出した影響を受ける各チケットをループする必要があります。Update Many Ticketsエンドポイントを使用すると、チケットのリストを使用して一括アクションをすばやく実行できます。