Jira Server (Data Center)

您可以使用 Jira Server (Data Center) 連接器連線至 Jira Software Data Center,並執行插入、刪除、更新和讀取作業。

支援的版本

這個連接器支援 Jira Server Data Center API V2 和 V3 版。

事前準備

在 Google Cloud 專案中,執行下列工作:

  • 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
  • roles/connectors.admin IAM 角色授予設定連結器的使用者。
  • roles/secretmanager.viewerroles/secretmanager.secretAccessor IAM 角色授予要用於連接器的服務帳戶
  • 啟用下列服務:
    • secretmanager.googleapis.com (Secret Manager API)
    • connectors.googleapis.com (Connectors API)

    如要瞭解如何啟用服務,請參閱「啟用服務」。如果先前未啟用這些服務或權限,系統會在您設定連結器時提示啟用。

設定連接器

連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:

  1. Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。

    前往「連線」頁面

  2. 按一下「+ 建立新連線」,開啟「建立連線」頁面。
  3. 在「位置」部分中,選擇連線位置。
    1. 區域:從下拉式清單中選取位置。

      如需所有支援的地區清單,請參閱「位置」一文。

    2. 點按「下一步」
  4. 在「連線詳細資料」部分,完成下列步驟:
    1. 連接器:從可用連接器的下拉式清單中,選取「Jira Server (Data Center)」
    2. 連接器版本:從可用版本的下拉式清單中選取連接器版本。
    3. 在「連線名稱」欄位中,輸入連線執行個體的名稱。

      連線名稱必須符合下列條件:

      • 連線名稱可使用英文字母、數字或連字號。
      • 字母必須為小寫。
      • 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
      • 連結名稱不得超過 49 個字元。
    4. 視需要輸入連線執行個體的「Description」(說明)
    5. 或者,可啟用 Cloud Logging,然後選取記錄層級。記錄層級預設為 Error
    6. 服務帳戶:選取具備必要角色的服務帳戶。
    7. 如要將連線用於事件訂閱,請選取「啟用事件訂閱」。系統隨即顯示下列選項:
      • 啟用事件訂閱功能,並使用實體和動作:選取這個選項,即可將連線用於事件訂閱和連接器作業 (實體和動作)。
      • 只啟用事件訂閱項目:選取這個選項,即可只將連線用於事件訂閱。如果選取這個選項,請按一下「下一步」,然後設定事件訂閱
    8. 視需要設定「連線節點設定」

      • 節點數量下限:輸入連線節點數量下限。
      • 節點數量上限:輸入連線節點數量上限。

      節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連接器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。

    9. (選用) 在「進階設定」部分,選取「使用 Proxy」核取方塊,為連線設定 Proxy 伺服器,並設定下列值:
      • Proxy 驗證機制:選取與 Proxy 伺服器進行驗證的驗證類型。系統支援下列驗證類型:
        • 基本:基本 HTTP 驗證。
        • 摘要:摘要 HTTP 驗證。
      • Proxy 使用者:用於向 Proxy 伺服器驗證的使用者名稱。
      • Proxy Password:使用者的密碼 Secret Manager 密鑰。
      • Proxy SSL Type:連線至 Proxy 伺服器時要使用的 SSL 類型。系統支援下列驗證類型:
        • 自動:預設設定。如果網址是 HTTPS 網址,則會使用「通道」選項。如果網址是 HTTP 網址,系統會使用「永不」選項。
        • 一律:連線一律啟用 SSL。
        • 從未:連線未啟用 SSL。
        • 通道:連線是透過通道 Proxy 建立。Proxy 伺服器會開啟與遠端主機的連線,流量則會透過 Proxy 來回傳輸。
      • 在「Proxy 伺服器」部分中,輸入 Proxy 伺服器的詳細資料。
        1. 按一下「+ 新增目的地」
        2. 選取「目的地類型」
          • 主機位址:指定目的地的主機名稱或 IP 位址。

            如要與後端系統建立私人連線,請按照下列步驟操作:

    10. 如要使用 SSL,請選取「啟用 SSL」。系統隨即顯示 SSL 設定詳細資料。
      1. 選取信任儲存區類型。可以是「公開」、「私人」或「不安全連線」
      2. 根據信任存放區選取項目,選取顯示的憑證。
      3. 如果您使用 mTLS,請在「金鑰儲存區」部分選取金鑰儲存區憑證。
    11. 選用:按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
    12. 點按「下一步」
  5. 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。
    1. 目的地類型:選取目的地類型
      • 如要指定目的地主機名稱或 IP 位址,請選取「主機地址」,然後在「主機 1」欄位中輸入地址。
      • 如要建立私人連線,請選取「Endpoint attachment」(端點連結),然後從「Endpoint Attachment」(端點連結) 清單中選擇所需連結。

      如要建立與後端系統的公開連線,並加強安全性,建議為連線設定靜態輸出 IP 位址,然後設定防火牆規則,只允許特定靜態 IP 位址。

      如要輸入其他目的地,請按一下「+新增目的地」

    2. 點按「下一步」
  6. 在「Authentication」(驗證) 部分中,輸入驗證詳細資料。
    1. 選取「驗證類型」並輸入相關詳細資料。

      Jira Server (Data Center) 連線支援下列驗證類型:

      • 使用者密碼
      • API 權杖
      • 個人存取權杖
      • OAuth 2.0 - 授權碼
    2. 如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。

    3. 點按「下一步」
  7. 檢查:檢查連線和驗證詳細資料。
  8. 點選「建立」

事件訂閱詳細資料

在「Event subscription details」(事件訂閱詳細資料) 部分,提供將建立事件訂閱項目的 Jira Server (Data Center) 帳戶詳細資料。

  1. 目的地類型:選取「主機位址」
  2. 主機:輸入 Jira Server (Data Center) 帳戶的註冊網址。系統會為這個網址建立事件訂閱。
  3. API 權杖:選取 Secret Manager 密鑰,內含與使用者名稱相關聯的 API 權杖。
  4. 密鑰版本:選取密鑰版本。
  5. 啟用資料擴充功能:如要讓 Jira Server (Data Center) 觸發程序從 Jira Server (Data Center) 執行個體擷取完整事件酬載,請勾選這個核取方塊。如需範例,請參閱「觸發條件輸出」。
  6. 選取「啟用私人連線」,在後端應用程式和連線之間建立安全連線。如果選取這個選項,您必須在建立連線後執行額外設定步驟。詳情請參閱「活動訂閱的私人連線」。
  7. 輸入無法傳送郵件的設定。如果設定無效信件,連線會將未處理的事件寫入指定的 Pub/Sub 主題。輸入下列詳細資料:
    1. 無法傳送的訊息專案 ID: 您已設定無法傳送的訊息 Pub/Sub 主題的 Google Cloud 專案 ID。
    2. 無效信件主題: 要寫入未處理事件詳細資料的 Pub/Sub 主題。

設定驗證機制

根據要使用的驗證方式輸入詳細資料。

  • 使用者密碼
    • 使用者名稱:輸入用於驗證的 Jira Server (Data Center) 使用者帳戶。
    • 密碼:輸入與帳戶相關聯的密碼。
  • API 權杖
    • 使用者名稱:輸入用來建立 API 權杖的 Jira Server (Data Center) 使用者名稱。
    • API 權杖:選取內含 API 權杖的 Secret Manager 密鑰。
  • 個人存取權杖
    • 個人存取權杖:提供包含個人存取權杖的 Secret Manager Secret。
    • 密鑰版本:選取所選密鑰的密鑰版本。
  • OAuth 2.0 - 授權碼
    • 用戶端 ID:提供外部應用程式提供的用戶端 ID。
    • 範圍:指定必要的權限範圍。
    • 用戶端密鑰 :選取 Secret Manager 密鑰。 設定這項授權前,您必須先建立 Secret Manager 密鑰。
    • 密鑰版本:選取用戶端密鑰的 Secret Manager 密鑰版本。
    • 授權網址: 提供在建立用戶端時產生的網址。
    • 如果是 Authorization code 驗證類型,建立連線後,您必須執行幾個額外步驟來設定驗證。詳情請參閱建立連結後需執行的額外步驟

Jira Server (Data Center) 設定

設定 Atlassian 帳戶並登入 Jira Cloud

如要瞭解如何設定 Atlassian 帳戶及登入 Jira Cloud,請參閱 Atlassian 首頁

設定主機地址和驗證詳細資料

  1. 登入 Jira Cloud 執行個體。
  2. 輸入主機地址,也就是執行個體詳細資料。
  3. 輸入使用者名稱,也就是您的 Atlassian 帳戶 ID。
  4. 前往「設定」產生 API 權杖。
  5. 從個人設定中選取「Atlassian 帳戶設定」
  6. 按一下「安全性」分頁標籤,找到 API 權杖,然後按一下「建立及管理 API 權杖」
  7. 按一下「建立 API 權杖」
  8. 在隨即顯示的對話方塊中,輸入容易記憶的簡短權杖標籤,然後按一下「建立」
  9. 按一下「複製到剪貼簿」,將權杖貼到指令碼中,然後儲存以供後續使用。

建立連結後需執行的其他步驟

如果您選取 OAuth 2.0 - Authorization code 進行驗證,建立連線後必須執行下列額外步驟:

  1. 在「連線」頁面中,找出新建立的連線。

    請注意,新連接器的「狀態」會顯示「需要授權」

  2. 按一下「需要授權」

    系統隨即會顯示「編輯授權」窗格。

  3. 將「重新導向 URI」值複製到外部應用程式。
  4. 驗證授權詳細資料。
  5. 按一下「Authorize」

    授權成功後,「連線」頁面的連線狀態會設為「有效」

重新授權授權碼

如果您使用 Authorization code 驗證類型,且已在 Jira Server (Data Center) 應用程式中進行任何設定變更,則必須重新授權 Jira Server (Data Center) 連線。如要重新授權連結,請按照下列步驟操作:

  1. 在「連線」頁面中,按一下所需連線。

    系統隨即會開啟連線詳細資料頁面。

  2. 按一下「編輯」即可編輯連結詳細資料。
  3. 在「驗證」部分中,確認「OAuth 2.0 - 授權碼」詳細資料。

    視需要進行必要變更。

  4. 按一下 [儲存]。系統會將您帶往連線詳細資料頁面。
  5. 在「驗證」部分中,按一下「編輯授權」。系統會顯示「Authorize」(授權) 窗格。
  6. 按一下「Authorize」

    如果授權成功,「連線」頁面的連線狀態會設為「有效」

連線設定範例

本節列出建立 Jira Server 連線時設定的各個欄位範例值。

Jira 網路連線類型

欄位名稱 詳細資料
位置 us-east1
連接器 Jira Server (Data Center)
連接器版本 1
連線名稱 google-cloud-jira-rest-conn
服務帳戶 my-service-account@my-project.iam.gserviceaccount.com
節點數量下限 2
節點數量上限 50
目的地類型 主機地址
主機 192.0.2.0
使用者名稱 使用者名稱
API 權杖 API_TOKEN
Secret 版本 1

系統限制

Jira Server (Data Center) 連接器每秒最多可處理 15 筆交易 (每個節點),並節流任何超出此限制的交易。根據預設,Integration Connectors 會為連線分配 2 個節點 (以提高可用性)。

如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一文。

在整合中,使用 Jira Server (Data Center) 連線

建立連線後,Apigee Integration 和 Application Integration 都會提供該連線。您可以在整合中透過「連接器」工作使用連線。

  • 如要瞭解如何在 Apigee Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。
  • 如要瞭解如何在 Application Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。

實體作業範例

本節提供範例,說明如何在這個連接器中執行實體作業

範例 - 清單問題

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「問題」。
  3. 選取「LIST」作業,然後按一下「完成」
  4. 在「連線器」工作的「工作輸入」部分,您可以根據客戶需求設定 filterClause

  5. 篩選子句的值必須以單引號 (') 括住。您可以使用篩選子句,根據資料欄篩選記錄。

    您可以使用篩選子句,根據資料欄篩選記錄。 舉例來說,如要篩選記錄,請使用下列 filterClauseLocation='US'region='us-east1'

    如果只傳遞實體 ID 會導致錯誤,您也可以在實體中使用 filterClause

範例 - 取得問題

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「問題」。
  3. 選取「GET」作業,然後按一下「完成」
  4. 將實體 ID 設為 10000,這是要傳遞給問題的 ID。如要設定實體 ID,請在「Connectors」(連結器) 任務的「Task Input」(工作輸入) 部分中,按一下「EntityId」(實體 ID),然後在「Default Value」(預設值) 欄位中輸入 10000

    實體 ID 的值應直接傳遞。例如 10000。這裡的 10000 是傳遞的不重複主鍵值。

    如要使用 Get 作業,實體必須具備不重複的主鍵,否則無法執行 Get 作業。

範例 - 刪除問題

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「問題」。
  3. 選取「DELETE」作業,然後按一下「完成」
  4. 將實體 ID 設為 10000,也就是要傳遞的鍵。如要設定實體 ID,請在「Connectors」(連結器) 任務的「Task Input」(工作輸入) 部分中,按一下「EntityId」(實體 ID),然後在「Default Value」(預設值) 欄位中輸入 10000

範例 - 建立 IssueType

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 IssueTypes。
  3. 選取「Create」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "Name": "task123456",
      "Description": "New description is added."
    }

    如果整合成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    {
      "Id": "10041"
    }  

範例 - 建立問題

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「問題」。
  3. 選取「Create」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
        "IssueTypeName": "Subtask", 
        "ProjectName": "kanban4", 
        "Summary": "Summary Added", 
        "ParentKey": "KN-6" 
    }
    

    如果整合成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    {
      "Id": 10071.0
    }
    

範例 - 建立衝刺

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「衝刺」。
  3. 選取「Create」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "Name": "PROJ Sprint Googlecloud",
      "State": "future",
      "Goal": null,
      "OriginBoardId": 2.0,
      "StartDate": "2023-06-27 07:06:08",
      "EndDate": "2023-07-27 07:06:08"
    }
    

    如果整合成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    {
      "Id": 23.0
    }   

範例 - 建立留言

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「留言」。
  3. 選取「Create」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "IssueId": 10001.0,
      "Body": "Adding comments to above ID by editing it"
    }
    

    如果整合成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    {
      "Id": 10023.0,
      "IssueId": null
    }
    

範例 - 建立使用者

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「使用者」。
  3. 選取「Create」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "GroupName": null,
      "DisplayName": "Sample",
      "EmailAddress": "sample@gmail.com",
      "Active": true,
      "TimeZone": null,
      "Locale": "en_US",
      "AccountType": "atlassian"
    }

    如果整合成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    {
      "AccountId": "557058:0a04612c-746d-4d47-a909-71ba797fe228"
    }
    

範例 - 建立工作記錄

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「工作記錄」。
  3. 選取「Create」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "IssueKey": "GJCT-1",
      "Started": "2023-06-10 08:08:08",
      "TimeSpent": "2000"
    }
    

    如果整合成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    {
      "Id": "41718",
      "IssueId": 10000.0
    }
    

範例 - 更新問題類型

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取 IssueTypes。
  3. 選取「Update」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "Name": "NEW_TASK",
      "Description": "New Description"
    } 
    
  5. 將實體 ID 設為 IssueTypes 的實體。如要設定實體 ID,請按一下 entityId,然後在「Default Value」(預設值) 欄位中輸入 10038

    如果整合成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    {
      "Id": "10038"
    }
    

範例 - 更新問題

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「問題」。
  3. 選取「Update」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "AssigneeAccountId": "61d572aa7c6f9800705289a1",
      "AssigneeName": "Charlie b"
    }
    
  5. 將實體 ID 設為「問題」的實體。如要設定實體 ID,請按一下 entityId,然後在「Default Value」(預設值) 欄位中輸入 10024

    如果整合成功,連接器工作的 connectorOutputPayload 回應參數值會類似以下內容:

    {
      "AssigneeDisplayName": "Charlie b"
    }
    

範例 - 更新衝刺

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「衝刺」。
  3. 選取「Update」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "Name": "PROJ Sprint Googlecloud_Updated",
      "State": "future",
      "StartDate": "2023-06-27 07:06:08",
      "EndDate": "2023-07-27 07:06:08"
    }
    
  5. 將實體 ID 設為「衝刺」實體。如要設定實體 ID,請按一下 entityId,然後在「Default Value」(預設值) 欄位中輸入 2

    如果整合成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    {
    }
    

範例 - 更新留言

  1. 在「Configure connector task」對話方塊中,按一下 Entities
  2. Entity 清單中選取「留言」。
  3. 選取「Update」作業,然後按一下「完成」
  4. 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下 connectorInputPayload,然後在 Default Value 欄位中輸入類似下列的值:
    {
      "Name": "PROJ Sprint Googlecloud_Updated",
      "State": "future",
      "StartDate": "2023-06-27 07:06:08",
      "EndDate": "2023-07-27 07:06:08"
    }
    
  5. 將實體 ID 設為「留言」的實體。如要設定實體 ID,請按一下 entityId,然後在「Default Value」(預設值) 欄位中輸入 2

    如果整合成功,連接器工作 connectorOutputPayload 回應參數的值會類似於下列內容:

    {
    }
    

向 Google Cloud 社群尋求協助

如要發布問題及討論這個連接器,請前往 Cloud 論壇的 Google Cloud 社群。

後續步驟