検証済みのAI要約◀▼
自動化ルールを使用して、ZendeskチケットのステータスとリンクされたJira課題のステータスとを同期させます。Jira課題のステータスが変更されると、リンクされたZendeskチケットのステータスが自動的に更新されます。このような連携操作を設定するには、両プラットフォームの管理者アクセス権が必要です。トリガ、条件、アクションを含むJira自動化ルールを作成し、APIリクエストでチケットスのテータスを更新します。不正なアクセスや不正なJSONペイロードなどの一般的なエラーをトラブルシューティングします。
このガイドでは、Jiraの自動化ルールを使用して、ZendeskチケットのステータスとリンクされたJira課題のステータスとを同期させる方法について説明します。たとえば、リンクされたJira課題のステータスが「完了」に変更されると、Zendeskチケットのステータスが自動的に「解決済み」に更新されます。
この連携操作を設定するには、以下の権限が必要です。
- Zendeskの管理者アクセス権(APIトークンを生成する)
- Jiraの管理者アクセス権(自動化ルールの作成と設定を行う)
この記事では、以下のトピックについて説明します。
Zendesk資格情報を作成する
Zendesk資格情報を作成するには
- Zendeskアカウントの管理センターでZendesk APIトークンを生成します。詳しくは「APIトークンを生成する」を参照してください。
- Zendesk認証情報はAPIトークンとメールアドレスで構成します。生成したAPIトークンと自分のメールアドレスで、次の文字列のプレースホルダーの値を置き換えます。
{zendesk_email}/token:{copied_api_token}例:
jdoe@company.com/token:abc123def456ghi789 - Base64を使用して資格情報をエンコードします。
Base64はエンコーディング方式です。Base64エンコーディングのツールはオンラインで検索できます。例として、https://www.base64encode.org/を使用できます。
ステップ2の例で作成した資格情報をBase64でエンコードすると、以下のようになります。
amRvZUBjb21wYW55LmNvbS90b2tlbjphYmMxMjNkZWY0NTZnaGk3ODk= - エンコードされたこの資格情報を保存し、後でJiraの自動化ルールに使用します。
Jira自動化ルールを作成してチケットステータスを同期する
Jira自動化ルールを使用すると、設定した条件に基づいてJira内で実行するタスクのアクションを自動化できます。自動化ルールは次の3つの部分から構成されます。
- ルールを起動するトリガ
- トリガが実行されるタイミングを決定する条件
- トリガが実行された際にJira内でタスクを実行するアクション
- 詳細な手順については、Jiraドキュメントの「Create and edit Jira automation rules(Jira自動化ルールの作成と編集)」を参照してください。
Jiraのこの機能の動作は随時変更されるため、常にJiraの公式ドキュメントを参照し、最新情報を得るようにしてください。
- 「System」で「Global automation」を選択してルールを作成します。
- わかりやすいルール名を付けます(「Zendeskとの同期 - エスカレーション」など)。
- Zendeskとの連携動作を作成するルールを設定するには、以下のセクションを参照してください。
- ルールを有効にします。
自動化ルールのトリガの定義
課題のステータスが別のステータスに変更された(遷移した)ときに自動化ルールが実行されるよう、トリガを定義します。
自動化ルールのトリガを定義するには
- 「Issue transitioned」トリガを選択します。
- 「From status」フィールドに、開始ステータス(「進行中」など)を入力します。
- 「To status」フィールドに、新しいステータス(「完了」など)を入力します。
リンクされた課題の条件の追加
課題がZendeskチケットにリンクされている場合にのみトリガが実行される条件を追加できます。
この条件を定義するには、Zendeskチケットにリンクされた課題に自動的に追加される jira_escalated ラベルを使用できます。
リンクされた課題の条件を追加するには
- 「Add component」をクリックして条件を追加します。
- JQL条件を選択します。
- 「JQL」フィールドに「
Label = jira_escalated」と入力します。
チケットステータスを更新するアクションの追加
Jiraでリンクされた課題があるステータスから別のステータスに移行した場合、Zendeskのチケットステータスも更新される必要があります。これを実現するには、ZendeskにAPIリクエストを送信してチケットステータスを更新するアクションを、自動化ルールに追加します。
チケットステータスを更新するアクションを追加するには
- 「Add component」をクリックしてアクションを追加します。
- 「Webリクエストを送信」アクションを選択します。
- 次のセクションの説明に従って、「Webリクエストを送信」アクションを設定します。
「Webリクエストを送信」アクションの設定
以下の手順に従って「Webリクエストを送信」アクションを設定します。
-
WebリクエストURL:以下のZendesk APIエンドポイントを入力します。
https://{subdomain}.zendesk.com/api/v2/integrations/jira/{jira_external_key}/post_function
subdomainのプレースホルダは自分のZendeskサブドメインに置き換えます。
jira_external_keyの値を取得するには、Zendesk管理センターで「アプリおよびインテグレーション」>「インテグレーション」>「Jira」>「編集」を選択します。 -
HTTPメソッド:POSTを指定します
-
Webリクエストボディ:「カスタムデータ」を選択します。
-
カスタムデータ:アクションのカスタムデータは、以下のJSON形式のJSONオブジェクトとして表現されます。
名前 タイプ 必須 説明 zendesk_status 文字列 false Zendeskでのターゲットステータス:「オープン」、「保留中」、または「解決済み」。カスタムステータスを指定できますが、文字列はZendeskの文字列と完全に一致している必要があります comment 文字列 true Zendeskチケットに追加するコメント。HTMLコメントをサポート is_public_comment ブール値 false コメントがエンドユーザーに表示されるかどうか issue_id 文字列 true Jiraスマート値 {{issue.id}}を指定。実行時に動的に課題 ID を提供issue_key 文字列 true Jiraスマート値 {{issue.key}}を指定。実行時に動的に課題キーを提供tags 配列 false Zendeskチケットに追加するタグ 例
{ "zendesk_status": "solved", "comment": "Issue has been resolved", "is_public_comment": false, "issue_id": "{{issue.id}}", "issue_key": "{{issue.key}}", "tags": ["in-assist". "resolved-jira"] } - 実行遅延オプション:「このWebリクエストの応答を受信するまで、後続のルールアクションの実行を遅延させる」オプションを選択します。
-
ヘッダー:以下のヘッダーを指定します。
課題キー 値 非表示チェックボックス Authorization 「Basic[Base64エンコード済み資格情報]」 選択済み Content-Type application/json 未選択
アクションは完了時に以下のようになります。
自動化ルールのテスト
このテストでは、自動化ルールが以下のように設定されていることを前提とします。
- Jira課題が「進行中」から「保留中」に移行する
- 課題に jira_escalated ラベルが含まれている
ルールの設定方法に応じて、テストに変更を加えることができます。
自動化ルールをテストするには
- Zendeskでテストチケットを作成します。
- チケットインターフェイスでJiraアプリを使用して、チケットからJira課題を作成します。
アプリは自動的に新しいJira課題に jira_escalated ラベルを追加します。
- Jiraで、リンクされた課題のステータスを「進行中」から「保留中」に変更します。
- リンクされたZendeskチケットを開き、以下の状態になっているか確認します。
- ステータスが更新されている
- コメントが追加されている
- タグが適用されている
監査ログでも確認できます。
監査ログで結果を確認するには
- Jiraの自動化ルールに移動します。
- ツールバーの「監査ログ」をクリックします。
- 実行履歴を確認します。
トラブルシューティング
テスト中に以下のエラーが発生する可能性があります。
401 不正なエラー
- Base64エンコード済みの資格情報が正しいか確認します
- APIトークンがZendeskでまだ有効であることを確認します
-
AuthorizationヘッダーがBasic {base64_string}のフォーマットになっていることを確認します
404 ページが見つかりませんエラー
- エンドポイントURLが正しいか確認します
- URL内の外部IDが有効であることを確認します
400 不正なリクエストエラー
- JSONペイロードの構造を検証します
- 必要なフィールドがすべて存在することを確認します
-
zendesk_statusの値が有効であることを確認します
自動化がトリガされません
- 条件が課題のステータスと一致しているか確認します
- ラベル jira_escalated が存在することを確認します
- 自動化ルールの監査ログを確認します
例
以下の例は、Jira課題のステータスが特定のステータスに変更された際に、Zendeskのチケットスのテータスを更新する方法を示しています。
Jira課題のステータスが「エスカレーション済み」に変更
自動化ルールのトリガ
- 課題が「エスカレーション済み」に移行
{
"zendesk_status": "open",
"comment": "Issue has been escalated",
"is_public_comment": false,
"issue_id": "{{issue.id}}",
"issue_key": "{{issue.key}}",
"tags": ["escalated"]
}
Jira課題のステータスが「完了」に変更
自動化ルールのトリガ
- 課題のステータスが「完了」に移行
{
"zendesk_status": "solved",
"comment": "Issue has been resolved",
"is_public_comment": true,
"issue_id": "{{issue.id}}",
"issue_key": "{{issue.key}}",
"tags": ["resolved"]
}
Jira課題のステータスが「カスタマー待機中」に変更
自動化ルールのトリガ
- 課題のステータスが「カスタマー待機中」に移行
{
"zendesk_status": "pending",
"comment": "Waiting for customer response",
"is_public_comment": false,
"issue_id": "{{issue.id}}",
"issue_key": "{{issue.key}}",
"tags": ["awaiting-response"]
}