Jira アクションが有効になっている場合、エンドユーザーはアシスタントに次の Jira Cloud アクションの実行を依頼できます。
- Jira の問題を作成する
- Jira の問題を編集する
たとえば、ユーザーがアプリに「プロジェクト ABC で「プロジェクト Y のリリース」という Jira ストーリーを作成して」や「Jira チケット JCD-1 のタイトルを「プロジェクト Y のリリース」に更新して」と入力します。アシスタントは必要に応じて追加の詳細情報を求め、作成または編集のリクエストを確認するようユーザーに求めます。
アシスタントは、アクションを通じて次の Jira フィールドを読み取り、編集できます。
フィールド | 説明 |
---|---|
問題 ID | 必須。変更する問題の ID(例: KAN-123)。 |
タイトル | 問題のタイトル。 |
問題の種類 | 問題の種類。 |
優先度 | 問題の優先度。 |
ステータス | 問題のステータス。 |
説明 | 問題の説明(マークダウン形式)。 |
コンポーネント | 問題のコンポーネント。 |
割り当て先 | 問題の割り当て先(例: user@google.com)。 |
Jira で認証と権限を設定する
Jira アクションを有効にする前に、Jira 管理者は Jira のアクション専用の OAuth 2.0 認証情報を設定する必要があります。これは、Jira 統合を接続し、アクションの読み取りと書き込みの権限を許可するために必要です。
Jira アクションの認可クライアントは、Jira データの取り込みに使用されるクライアントとは異なります。権限とコールバック URL の構成が異なります。データを取り込むための Jira Cloud コネクタの認可クライアントを設定する方法については、Jira Cloud に接続するをご覧ください。
この手順では、Atlassian Developer Console を使用してクライアント ID とクライアント シークレットを作成し、必要な OAuth 2.0 スコープを構成して、ユーザーの権限を設定する方法について説明します。最後に、インスタンスの URL と ID を取得し、ロールを構成して、Jira Cloud と Google の間でデータを読み書きするための認証を行います。
クライアント ID とクライアント シークレットを作成する
- developer.atlassian.com にログインします。
- 右上にあるプロフィール アイコンをクリックし、[デベロッパー コンソール] を選択します。
- [作成] をクリックし、[OAuth 2.0 インテグレーション] を選択します。
- アプリの名前を入力します。
- 利用規約のチェックボックスをオンにします。
- [作成] をクリックします。
- [認証] をクリックします。
- [認証タイプ] テーブルで、[OAuth 2.0(3LO)] の [追加] を選択します。
- [コールバック URL] フィールドに「
https://vertexaisearch.cloud.google.com/oauth-redirect
」と入力し、[変更を保存] をクリックします。 [権限] をクリックします。
- Jira API に移動し、[追加]、[構成] の順にクリックします。
[従来のスコープ] タブに移動し、[スコープを編集] をクリックします。次のスコープを選択し、変更を保存します。
従来のスコープ:
- read:jira-work
- read:jira-user
- write:jira-work
詳細なスコープ:
- read:user:jira
[配布] をクリックして [編集] を選択し、次の操作を行います。
- まず [共有] ラジオボタンを選択して、他のフィールドの編集を有効にします。
- 残りのフィールドに入力します。
- [ベンダー] で [
Google
] を選択します。 - [プライバシー ポリシー] に「
https://policies.google.com
」と入力します。 - [アプリに個人データを保存しますか?] で、
Yes
を選択します。 - [個人データレポート API を実装したことを確認しました] チェックボックスをオンにします。
- [ベンダー] で [
- [変更を保存] をクリックします。
[設定] を選択して、クライアント ID とクライアント シークレットをコピーします。
インスタンスの URL とインスタンス ID を取得する
インスタンスの URL を取得するには:
- atlassian.net に移動し、管理者アカウントでログインします。
- 同期するアプリを選択します。たとえば、最初のアプリを同期します。
- インスタンスの URL(アドレスバーのサブドメイン)を確認します。
インスタンス ID を取得するには:
- 新しいタブを開き、インスタンスの URL をコピーして、インスタンスの URL に
/_edge/tenant_info
を追加します。例:https://YOUR-INSTANCE.atlassian.net/_edge/tenant_info
- リンクに移動して
cloudId
の値を見つけます。cloudId
はインスタンス ID です。
権限とロールを設定する
- 管理者アカウントで atlassian.com にログインします。
- 左上のメニュー アイコンをクリックするか、admin.atlassian.com にアクセスします。
- [管理] ページで [ユーザーを管理] をクリックし、[グループ] ページに移動します。
- [グループを作成] をクリックします。 グループの名前を入力して作成します。
- 新しいグループのページの [グループのプロダクトへのアクセス] セクションで、[グループにプロダクトを追加] をクリックします。
- Jira のプロダクト ロールとして [ユーザー アクセス管理者] を選択します。
- [Jira 管理者] で、プロダクト ロールとして [プロダクト管理者] を選択し、変更を保存します。
- [グループ] ページで、[グループ メンバーを追加] をクリックし、コネクタが認証するユーザーまたはアカウントを追加します。
更新トークンを取得する
Google Cloud コンソールを使用して Jira アクションを構成する場合は、リフレッシュ トークンを取得する必要はありません。
API を使用して Jira アクションを構成する必要がある場合は、更新トークンが必要です。更新トークンを取得するには:
- Google Cloud コンソールでアプリに移動します。
- [認証] を選択します。
- [OAuth 2.0(3LO)] の横にある [構成] を選択します。
- リダイレクト URL には、https://example.com などのプレースホルダを使用します。
- 最初の認証フローで更新トークンを取得するには、認証 URL の scope パラメータに 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
- 承認されると、リダイレクト URL にリダイレクトされます。アドレスバーに「code」というクエリ パラメータが表示されます。この値をメモしておきます。
curl や Postman などのツールを使用して、次のキーを含む JSON オブジェクトを使用して https://auth.atlassian.com/oauth/token に POST リクエストを送信します。
grant_type
: authorization_codeclient_id
: クライアント IDclient_secret
: クライアント シークレットcode
: 手順 6 で取得したコードredirect_uri
: リダイレクト URI
レスポンスで refresh_token が返されます。
更新トークンの詳細については、Atlassian ドキュメントの更新トークン フローの実装をご覧ください。
Jira アクションを構成する
このセクションでは、アクション用の Jira コネクタを作成し、アシスタントで Jira アクションを有効にする方法について説明します。
始める前に
アクションを構成する前に、次の手順が完了していることを確認してください。
- プロジェクトをアシスタント アクションの許可リストに追加する必要があります
- Jira 管理者が Jira で認証と権限を設定するの手順を完了し、次の情報を提供している。
- クライアント ID
- クライアント シークレット
- インスタンス ID
- 更新トークン。 Google Cloud コンソールではなく API を介して Jira アクションを作成する場合にのみ必要です。Google は、 Google Cloud コンソールからアクションを作成することをおすすめします。
Google Cloud コンソールで Jira アクションを構成する
Google Cloud コンソールを使用してアクションを作成することをおすすめします。
コンソールを使用してアプリにアクションを追加する手順は次のとおりです。
- Google Cloud コンソールで、[Gemini Enterprise ページ] に移動します。
- アプリに移動します。
- ナビゲーション メニューで [アクション] をクリックします。
- Jira の場合は、[接続] をクリックします。
- Jira インスタンスを選択します。
- プロンプトが表示されたら、コネクタの認証情報を入力します。これは、インスタンスがまだアクション用に構成されていない場合にのみ必要です。
- 有効にするアクションを選択します。
- [設定を終了] をクリックします。アクションが [アクション] ページに表示されます。
API を使用して Jira アクションを作成して有効にする
Google Cloud コンソールでアクションを作成することをおすすめします。API を使用してアクションを作成する必要がある場合は、次の操作を行います。
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
: コレクションの表示名。
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}" } } }'
アシスタントで 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。
アクションを追加すると、アシスタントはアプリ内でエンドユーザーに代わってアクションを実行できるようになります。ユーザーがアシスタントに Jira Cloud アクションの実行を初めてリクエストすると、Atlassian アカウントへのアクセスを承認するよう求められます。