新增 Jira Cloud 動作

啟用 Jira 動作後,使用者可以要求 Google 助理執行下列 Jira Cloud 動作:

  • 建立 Jira 問題
  • 編輯 Jira 問題

舉例來說,使用者可以在應用程式中輸入「在 ABC 專案中建立名為『推出 Y 專案』的 Jira 故事」,或「將 Jira 票證 JCD-1 的標題更新為『推出 Y 專案』」。如果需要其他詳細資料,助理會詢問使用者,然後要求使用者確認建立或編輯要求。

助理可透過動作讀取及編輯下列 Jira 欄位:

欄位 說明
問題 ID 這是必要旗標,要修改的問題 ID,例如 KAN-123。
標題 問題標題。
問題類型 問題類型。
優先順序 問題優先順序。
狀態 問題狀態。
說明 以 Markdown 格式說明問題。
元件 問題元件。
指派對象 問題的指派對象,例如 user@google.com。

在 Jira 中設定驗證和權限

啟用 Jira 動作前,Jira 管理員必須先為 Jira 中的動作設定專屬 OAuth 2.0 憑證。這是連線 Jira 整合服務的必要步驟,可授予動作的讀寫權限。

Jira 動作的授權用戶端與擷取 Jira 資料的授權用戶端不同。這兩者使用不同的權限和回呼網址設定。如要瞭解如何為 Jira Cloud 連接器設定授權用戶端來擷取資料,請參閱「連結 Jira Cloud」一文。

這些操作說明會說明如何透過 Atlassian 開發人員控制台建立用戶端 ID 和用戶端密鑰、設定必要的 OAuth 2.0 範圍,以及為使用者設定權限。最後,請擷取執行個體網址和 ID、設定角色,以及進行驗證,以便在 Jira Cloud 和 Google 之間讀取及寫入資料。

建立用戶端 ID 和用戶端密鑰

  1. 登入 developer.atlassian.com
  2. 按一下右上角的個人資料圖示,然後選取「開發人員控制台」
  3. 點按「Create」(建立),然後選取「OAuth 2.0 Integration」(OAuth 2.0 整合作業)
  4. 輸入應用程式名稱。
    • 勾選核取方塊來確認條款及細則。
    • 點選「建立」
  5. 點按「Authorization」(授權)
  6. 在「Authorization type」(授權類型) 表格中找到「OAuth 2.0 (3LO)」,然後點按旁邊的「Add」(新增)
  7. 在「Callback URL」(回呼網址) 欄位中,輸入 https://vertexaisearch.cloud.google.com/oauth-redirect,然後按一下「Save changes」(儲存變更)
  8. 按一下「權限」

    1. 找到「Jira API」,依序點按「Add」(新增) 和「Configure」(設定)
    2. 前往「Classic scopes」(傳統範圍) 分頁,然後按一下「Edit Scopes」(編輯範圍)。選取下列範圍,然後儲存變更:

      • 傳統範圍:

        • read:jira-work
        • read:jira-user
        • write:jira-work
      • 精細範圍:

        • read:user:jira
  9. 點按「發布」,然後選取「編輯」,並執行下列操作:

    1. 請先選取「共用」圓形按鈕,才能編輯其他欄位。
    2. 填寫其餘欄位。
      1. 在「Vendor」中選取 Google
      2. 在「Privacy policy」(隱私權政策) 中輸入 https://policies.google.com
      3. 在「Does your app store personal data?」(您的應用程式是否會儲存個人資料?) 中,選取 Yes
      4. 選取「I confirm that I've implemented the personal data reporting API」(我確認已導入 Personal data reporting API) 核取方塊。
    3. 按一下 [儲存變更]。
  10. 選取「Settings」(設定),並複製「Client ID」(用戶端 ID) 和「Client Secret」(用戶端密鑰)

擷取執行個體網址和執行個體 ID

如要取得執行個體網址,請按照下列步驟操作:

  1. 前往 atlassian.net,然後使用管理員帳戶登入。
  2. 選取您要同步處理的應用程式,例如同步處理第一個應用程式。
  3. 找到執行個體網址,也就是網址列中的子網域。

如要取得執行個體 ID,請按照下列步驟操作:

  1. 開啟新分頁並複製執行個體網址,然後在該網址後方附加 /_edge/tenant_info,例如:https://YOUR-INSTANCE.atlassian.net/_edge/tenant_info
  2. 開啟連結並找到 cloudId 值,cloudId 是您的執行個體 ID。

設定權限和角色

  1. 使用管理員帳戶登入 atlassian.com
  2. 按一下左上角的選單圖示,或前往 admin.atlassian.com
  3. 在「管理」頁面中,按一下「管理使用者」,然後前往「群組」頁面。
  4. 按一下「建立群組」。輸入群組名稱並建立群組。
  5. 在新的群組頁面中,點按「Group product access」(群組產品存取權) 部分的「Add products to group」(將產品新增至群組)
  6. 將「Jira」的產品角色設為「User access admin」(使用者存取權管理員)
  7. 將「Jira Admin」(Jira 管理員) 的產品角色設為「Product admin」(產品管理員),然後儲存變更。
  8. 在「Groups」(群組) 頁面中,按一下「Add group members」(新增群組成員),並新增連接器將驗證的使用者或帳戶。

取得更新權杖

如果您打算使用 Google Cloud 控制台設定 Jira 動作,則不需要取得更新權杖。

如要使用 API 設定 Jira 動作,必須提供重新整理權杖。如要取得更新權杖,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台中的應用程式。
  2. 選取「授權」
  3. 選取「OAuth 2.0 (3LO)」旁的「設定」
  4. 重新導向網址請使用預留位置,例如 https://example.com。
  5. 如要在初始授權流程中取得更新權杖,請將 offline_access 新增至授權網址的範圍參數。例如:https://auth.atlassian.com/authorize?audience=api.atlassian.com&client_id=your_client_id**&scope=offline_access**%20read%3Ajira-user&redirect_uri=https%3A%2F%2Fyour-redirect-url&state=%24%7BYOUR_USER_BOUND_VALUE%7D&response_type=code&prompt=consent
  6. 授權完成後,系統會將您重新導向回重新導向網址。網址列中應該會顯示名為「code」的查詢參數。請記下該值。
  7. 使用 curl 或 Postman 等工具,將 POST 要求傳送至 https://auth.atlassian.com/oauth/token,並使用含有下列鍵的 JSON 物件:

    1. grant_type: authorization_code
    2. client_id:您的用戶端 ID
    3. client_secret:您的用戶端密鑰
    4. code:您在步驟 6 取得的代碼
    5. redirect_uri:您的重新導向 URI
  8. 您會在回覆中取得 refresh_token

如要進一步瞭解更新權杖,請參閱 Atlassian 說明文件中的「實作更新權杖流程」。

設定 Jira 動作

本節說明如何建立 Jira 連接器以執行動作,以及如何為助理啟用 Jira 動作。

事前準備

設定動作前,請先完成下列步驟:

  • 專案必須加入 Google 助理動作的許可清單
  • Jira 管理員已完成「在 Jira 中設定驗證和權限」一文中的步驟,並提供下列資訊:
    • 用戶端 ID
    • 用戶端密鑰
    • 執行個體 ID
    • 更新權杖。只有透過 API 建立 Jira 動作時才需要,透過 Google Cloud 控制台建立則不需要。Google 建議透過 Google Cloud 控制台建立動作。

在 Google Cloud 控制台中設定 Jira 動作

Google 建議透過 Google Cloud 控制台建立動作。

如要使用控制台將動作新增至應用程式,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Gemini Enterprise」頁面
  2. 前往應用程式。
  3. 在導覽選單中,按一下「動作」
  4. 如果是 Jira,請按一下「連結」
  5. 選取 Jira 執行個體。
  6. 如果系統顯示提示,請輸入連接器的授權資訊。如果執行個體尚未設定任何動作,則必須執行這項操作。
  7. 選取要啟用的動作。
  8. 按一下「完成設定」。您的動作會顯示在「動作」頁面。

使用 API 建立及啟用 Jira 動作

Google 建議您透過 Google Cloud 控制台建立動作。如要使用 API 建立動作,請按照下列步驟操作:

  1. 建立 Jira 連接器,並設定搜尋功能:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "X-GFE-SSL: yes" \
    -H "X-Goog-User-Project: PROJECT_NUMBER" \
    "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/global:setUpDataConnector" \
    -d '{
      "collectionId": "COLLECTION_ID",
      "collectionDisplayName": "COLLECTION_DISPLAY_NAME",
      "dataConnector": {
        "dataSource": "jira",
        "params": {
          "client_id": "{Client ID of your Jira integration}",
          "client_secret": "{Client Secret of your Jira integration}",
          "refresh_token": "{Refresh Token of your Jira integration}",
          "instance_id": "{Your Jira Cloud instance ID}"
        },
        "refreshInterval": "{ >1800 }s",
        "entities": [
          {
            "entityName" : "project",
            "params" : {
              "inclusion_filters" : {}
            }
          },
          {
            "entityName": "{attachment/comment/issue/worklog}" // Optional, you can build up to 4 different entities
          }
        ],
        "syncMode": "PERIODIC"
      }
    }
    

    更改下列內容:

    • PROJECT_NUMBER:您的 Google Cloud 專案編號。
    • COLLECTION_ID:集合的 ID。
    • COLLECTION_DISPLAY_NAME:集合的顯示名稱。
  2. 在 Jira 連接器中加入動作設定:

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \
      -H "Content-Type: application/json" \
      -H "X-Goog-User-Project: PROJECT_NUMBER" \
      "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/global/collections/COLLECTION_ID/dataConnector?update_mask=action_config" \
      -d '{
      "name": "projects/PROJECT_NUMBER/locations/global/collections/COLLECTION_ID/dataConnector",
      "action_config": {
        "is_action_configured": true,
        "action_params": {
            "client_id": "{Client id from Jira integration}",
            "client_secret": "{Client secret from Jira integration}",
            "instance_uri": "{instance URI of your Jira instance}"
          }
        }
      }'
    
  3. 為 Google 助理啟用 Jira 動作:

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token --project "<var>PROJECT_NUMBER</var>")" \
      -H "Content-Type: application/json" \
      -H "X-Goog-User-Project: PROJECT_NUMBER" \
      "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=enabledActions" \
      -d '{
        "name": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant",
        "enabledActions": {
          "projects/PROJECT_NUMBER/locations/global/collections/CONNECTOR_ID/dataConnector": {
            "actionInfo": [
              {
                "actionName": "create_jira_issue",
                "actionDisplayName": "Create Jira Issue"
              }
            ]
          }
        }
      }'
    

    更改下列內容:

    • PROJECT_NUMBER:您的 Google Cloud 專案編號。

    • APP_ID:應用程式的 ID。

    • CONNECTOR_ID:您在上一個步驟中產生的連結器集合 ID。

新增動作後,Google 助理就能在應用程式中代表使用者執行這些動作。使用者首次要求 Google 助理執行 Jira Cloud 動作時,系統會提示他們授權存取 Atlassian 帳戶。