接続の確立
コネクタ内で利用可能なオブジェクトは、"cdata.jiraservicedesk" モジュールからアクセスできます。モジュールのオブジェクトを直接使用するには:
- モジュールを以下のようにインポートします。
import cdata.jiraservicedesk as mod
- 接続を確立するには、以下のような適切な接続文字列を使用してコネクタオブジェクトからconnect() メソッドを呼び出します。
mod.connect("ApiKey=myApiKey;User=MyUser;InitiateOAuth=GETANDREFRESH;")
Jira Service Management への接続
任意のJira Service Management Cloud またはJira Service Management Server インスタンスへの接続を確立できます。接続するには次のプロパティを設定します。
- URL(例:https://yoursitename.atlassian.net)
カスタムフィールドへのアクセス
デフォルトでは、本製品 はシステムフィールドのみ表示します。Issues のカスタムフィールドにアクセスするには、IncludeCustomFields を設定します。
Jira Service Management への認証
Jira Service Management はBasic、API Token、Crowd、OAuth 2.0、OAuth 1.0(ホストされたJira ユーザーのみ)、またはOkta による認証をサポートします。
Basic
Basic 認証では、ユーザーはローカルサーバーアカウントの認証情報でログインします。 次の接続プロパティを設定します。- AuthScheme:Basic。
- User:認証するユーザーのユーザー名。
- Password:認証するユーザーのパスワード。
API トークン
API トークン認証は、Cloud アカウントに接続するために使用され、APIToken を生成して取得する必要があります。 このためには、Atlassian アカウントにログインしてAPI トークン -> API トークンの作成をクリックします。生成されたトークンが表示されます。API トークンを作成して取得したら、次の接続プロパティを設定します。
- AuthScheme:APIToken。
- User:認証するユーザーのユーザー名。
- Password(Sever Instances のみ):認証するユーザーのパスワード。
- APIToken:取得したAPI トークン。
Crowd
AuthScheme をCrowd に設定し、次の接続プロパティを設定します。
- User:Crowd ユーザーアカウント。
- Password:Crowd アカウントに関連付けられたパスワード。
- SSOLoginURL:Crowd アカウントに関連付けられたログインURL。IDP URL は、自身のアプリケーション->[SSO]->[SSO information]->[Identity provider single sign-on URL]にあります。
- SSOAppName:SSO を有効にするアプリケーション名。
- SSOAppPassword:SSO を有効にするアプリケーションのパスワード。
- SSOExchangeUrl:The URL used used to exchange the SAML token for Jira Service Management cookies. This URL may have the following formats:
- https://<authority of Jira Service Management instance>/plugins/servlet/samlconsumer
- https://<authority of Jira Service Management instance>/plugins/servlet/samlsso
接続文字列の例:
AuthScheme=Crowd;Url=https://yoursitename.atlassian.net;SSOLoginURL='https://<authority>/crowd/console/secure/saml/sso.action';User=crowdUserName;Password=crowdPassword;SSOExchangeUrl=https://<authority of Jira Service Management instance>/plugins/servlet/samlconsumer;SSOAppName=CrowdAppName;SSOAppPassword=CrowdAppPassword;
OAuth 2.0
Jira Service Management の"3本足の" OAuth 2.0 サポート(3LO)を活用して、ログインクレデンシャルを提供せずにデータに接続できます。OAuth2.0 認証を使用するには、カスタムOAuth アプリケーションの作成 で説明するように、カスタムOAuth アプリケーションを作成して設定する必要があります。
デスクトップアプリケーション
カスタムOAuth アプリケーションを作成し、以下の構成パラメータを設定したら、接続の準備は完了です。
- AuthScheme:OAuth。
- InitiateOAuth:GETANDREFRESH。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
- CallbackURL:アプリケーションの登録時に定義されたリダイレクトURI。
- Url:Jira Service Management エンドポイントへのURL。例えば、https://yoursitename.atlassian.net です。
- OAuthVersion:2.0。
- 本製品 はJira Service Management からアクセストークンを取得し、それを使ってデータをリクエストします。
- コールバックURL からアクセストークンを取得し、リクエストを認証します。
- OAuth 値をOAuthSettingsLocation で指定された場所に保存します。これらの値は接続間で永続化されます。
Web アプリケーション
Web アプリケーション経由で接続する場合は、カスタムOAuth アプリケーションの作成 で説明するように、AuthScheme にOAuth を設定してJira Service Management にカスタムOAuth アプリケーションを作成および登録する必要があります。 それから本製品 を使用してOAuth トークンの値を取得および管理します。
OAuth アクセストークンの取得
OAuthAccessToken を取得するには、次の接続プロパティを設定します。
- OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。
- Url:JIRA エンドポイントへのURL。例えば、hjttps://yoursitename.atlassian.net です。
- OAuthVersion:2.0。
ストアドプロシージャを呼び出し、OAuth 交換を完了します。
- GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL をアプリケーション設定で指定したリダイレクトURI に設定します。 ストアドプロシージャは、OAuth エンドポイントへのURL を返します。
- ステップ1でストアドプロシージャが返したURL に移動します。ログインしてWeb アプリケーションを認可します。コールバックURL にリダイレクトされます。
- GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、Verifier インプットをリダイレクトURI のクエリ文字列のcode パラメータに設定します。
OAuthAccessToken 接続プロパティをストアドプロシージャで返されたアクセストークンに設定し、データに接続します。ExpiresIn 秒後にアクセストークンの期限が切れたときは、GetOAuthAccessToken ストアドプロシージャを呼び出し、新しいアクセストークンを取得します。
ヘッドレスマシン
ヘッドレスマシンのユーザーアカウントでOAuth を使用するようにドライバーを設定するには、AuthScheme をOAuth に設定してインターネットブラウザに対応した別の端末で認証する必要があります。
- 以下のオプションから選択します。
- オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
- オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
- 次に、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするように本製品 を設定します。
オプション1:Verifier code を取得および交換
Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。
インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。
- 次のプロパティを設定します。
- InitiateOAuth:OFF。
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
- OAuthVersion:2.0。
- ログインして、本製品 にアクセス許可を与えます。すると、リダイレクトURI に遷移します。リダイレクトURI にはcode というパラメータが付加されます。このパラメータの値を控えておきます。後でOAuthVerifier 接続プロパティを設定するために必要です。
OAuth 認証値を取得するには、ヘッドレスマシンで次の接続プロパティを設定します。
- InitiateOAuth:REFRESH。
- OAuthVerifier:控えておいたverifier code(リダイレクトURI のcode パラメータの値)。
- OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。
- OAuthSettingsLocation:暗号化されたOAuth 認証値を指定された場所に永続化。
接続をテストしてOAuth 設定ファイルを生成し、以下のプロパティを再設定して接続します。
- InitiateOAuth:REFRESH。
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
- OAuthSettingsLocation:暗号化されたOAuth 認証値が保存される場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
オプション2:OAuth 設定を転送
ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバーとの接続をインストールし、作成する必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続をテストしてOAuth 設定ファイルを生成し、OAuth 設定ファイルをヘッドレスマシンにコピーします。
データに接続するには、ヘッドレスマシンで次のプロパティを設定します。
- InitiateOAuth:REFRESH。
- OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
- OAuthSettingsLocation:ブラウザでマシンからコピーしたOAuth 設定ファイルの場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
OAuth1.0(ホストされたJira ユーザーのみ)
OAuth 1.0a は非推奨の認証プロトコルであり、ホストされたJira ユーザーによってのみ使用されるべきです。(Jira Cloud では使用しないでください。)すべてのユーザーにOAuth 2.0 への移行を推奨します。OAuthAccessToken 接続プロパティでOAuthClientId を設定することで、OAuth2.0 バージョンを使用できます。ホストされたJira ユーザーであり、、OAuth 1.0 経由で接続したい場合は、以下に従います。
- RSA 公開 / 秘密キーのペアを生成するには、ターミナルで以下のコマンドを実行します。
-openssl genrsa -out jira_privatekey.pem 1024
-openssl req -newkey rsa:1024 -x509 -key jira_privatekey.pem -out jira_publickey.cer -days 365
-openssl pkcs8 -topk8 -nocrypt -in jira_privatekey.pem -out jira_privatekey.pcks8
-openssl x509 -pubkey -noout -in jira_publickey.cer -out jira_publickey.pem - アカウントにアプリケーションリンクを作成するには、設定 -> アプリケーション -> アプリケーションのリンクに移動します。
- url フィールドにテストURL を入力し、新しいリンクを作成をクリックします。
エラーを無視して続行をクリックします。必要なのはアプリケーションからJira Service Management への着信コールの設定だけです。 - 'Link applications' ウィンドウでは、自由にフィールドを記入します。
- 受信リンクの作成を選択して続行をクリックします。
- 必須フィールドを埋めます。
- コンシューマーキー:任意の文字列に設定。この文字列は後にOAuthClientId となります。
- コンシューマー名:任意の文字列に設定。
- パブリックキー:先に生成したjira_publickey.pem ファイルのキーを入力。
- 続行をクリックします。
- URL:Jira Service Management エンドポイント。例えば、https://yoursitename.atlassian.net です。
- OAuthClientId:アプリケーションのConsumer Key。
- OAuthClientSecret:任意の値("testClientSecret" など)。
- OAuthJWTCert:秘密キーファイルの場所。
- OAuthJWTCertType:使用している秘密キーファイルに基づく適切なオプション。生成されたPEM キーファイルを使用する場合は、OAuthJWTCertType をPEMKEY_FILE に設定します。
- InitiateOAuth:GETANDREFRESH に設定。
Okta
Okta に接続するには、AuthScheme をOkta に設定し、次のプロパティを設定します。
- User:Okta ユーザー。
- Password:Okta ユーザーのパスワード。
- SSOLoginURL:SSO プロバイダーのログインURL。
- SSOExchangeUrl: The URL used used to exchange the SAML token for Jira Service Management cookies. This URL may have the following formats:
- https://<authority of Jira Service Management instance>/plugins/servlet/samlconsumer
- https://<authority of Jira Service Management instance>/plugins/servlet/samlsso
Okta クライアントリクエストコンテキストをオーバーライドする信頼されたアプリケーションまたはプロキシを使用する場合、またはMFA を設定している場合は、Okta を使用して認証するためにSSOProperties を組み合わせて使用する必要があります。必要に応じて、以下のいずれかを設定します。
- APIToken:Okta クライアントリクエストコンテキストをオーバーライドする、信頼されたアプリケーションまたはプロキシ経由でユーザーを認証する場合、これを顧客がOkta 組織で作成したAPI Token に設定します。
- MFAType:MFA フローを設定した場合、次の対応するタイプのいずれかに設定します:OktaVerify、Email、またはSMS。
- MFAPassCode:MFA フローを設定した場合は、有効なパスコードに設定します。
これを空欄または無効な値に設定した場合、本製品 はユーザーのデバイスまたはE メールにワンタイムパスワードチャレンジを発行します。パスコードを受信後、取得したワンタイムパスワードをMFAPassCode 接続プロパティに設定する接続を再度開きます。 - MFARememberDevice:デフォルトはTrue です。Okta は、MFA が必要な場合にデバイスを記憶させることをサポートします。設定された認証ポリシーに従ってデバイスの記憶が許可されている場合、本製品 はMFA 認証の有効期間を延長するデバイストークンを送信します。MFA を記憶させない場合は、この 変数をFalse に設定してください。
接続文字列の例:
AuthScheme=Okta;Url=https://yoursitename.atlassian.net;SSOLoginURL='https://example.okta.com/home/appType/0bg4ivz6cJRZgCz5d6/46';User=oktaUserName;Password=oktaPassword;SSOExchangeUrl=https://<authority of Jira Service Management instance>/plugins/servlet/samlconsumer;