Groovy スクリプト
Groovy スクリプトは、条件とバリデータでも事後操作でも実行できます。強力で柔軟性の高い機能ですが、上級ユーザー向けです。
Groovy コンソールを有効にしているか、 5.16 より前のバージョンの Jira Service Management を使用している場合は、 Groovy スクリプトの設定に関する以前のドキュメント を参照してください。
始める前に
Groovy スクリプトの使用を開始する前に知っておくべきことがいくつかあります。
- Jira管理者またはJira システム管理者である必要があります。
- アセット全体で Groovy スクリプトの使用を開始するには、スクリプトを共有ホームの次のディレクトリに追加します。
<JIRA_SHARED_HOME>/plugins/assets/groovy_scripts
また、スクリプトを上記のパスのサブディレクトリ内に保存することもできます。ファイルを別の場所に保存したい場合は、 シンボリックリンクを作成します。 - ディレクトリ、Groovy スクリプトが配置されているサブディレクトリ、および Groovy スクリプト ファイルは、Jira を実行しているユーザーによって読み取り可能で実行可能であることを確認します。スクリプト ディレクトリにアクセスできるユーザー アカウントを制限することをお勧めします。
- 本番環境でスクリプトを実行する前に、必ず非本番環境でスクリプトをテストしてください。
Groovy スクリプトの表示と実行
共有ホームのスクリプト ディレクトリにスクリプトを追加したら、スクリプトの内容を表示したりスクリプトを実行したりすることができます。
Jira Service Management 5.16.x にアップグレードする前に、 Groovy スクリプト設定ページで許可リストに追加されたファイルを使用することもできます。これらのスクリプトの読み取り専用リストは、 Groovy スクリプト ページで入手できます。
スクリプトを表示して実行するには、次の手順に従います。
- [管理 ] > [アプリを管理 ] の順に移動します。
- [Groovy スクリプト] > [スクリプトの表示と実行] の順に選択します。
[ スクリプト パス] フィールドに、ファイルの絶対パスを入力します。 パスは、スクリプト ディレクトリからの相対パスにすることもできます。
許可リスト スクリプトの場合は、絶対ファイル パスを入力します。(オプション)課題キーやオブジェクト キーなどの詳細を追加します。
[ スクリプトを実行] を選択します。
また、ワークフロー トランジションやオブジェクト スキーマ自動化など、アセットの他の領域からスクリプトを表示して実行できます。なお、アセット スキーマ マネージャーは、オブジェクト スキーマ自動化内で Groovy スクリプトを設定することもできます。
{JWD}
のプレフィックスが付いたスクリプトパスは、Jira Service Management5.16 にアップグレードする前に、Jira作業ディレクトリを基準にして保存したファイルです。
Groovy スクリプト コンソールを有効にする方法
Jira Service Management 5.16x 以降の場合、以前のバージョンに存在する Groovy スクリプト コンソールは、既定ではアセットで使用できません。Groovy コンソールを使用できますが、任意のコード実行に伴う潜在的なセキュリティ リスクを最小限に抑えるため、使用しないことをお勧めします。
コンソールを有効にする前に、次の点をご確認ください。
- アセット 許可リストページで許可リストファイルを追加または削除できます。
- コンソールを有効にした後でも、アセット間でスクリプト ディレクトリ内のファイルを引き続き使用できます。
- ワークフローの事後操作でスクリプトを使用している場合は、必ず許可リストまたはスクリプト ディレクトリに追加してください。
- ワークフロー内で指定したスクリプト パス (条件、バリデーター、事後操作) は機能しますが、スクリプト パスは変更できません。
Groovy コンソール機能フラグを有効にするには、次のシステム プロパティを設定します。 システム プロパティの設定方法
assets.groovy.console.enabled = true
Variables
Groovy スクリプトを追加する際は、アセット ワークフロー関数には次の変数が事前に定義されているため、スクリプトでこれらを使用できます。
変数 | 説明 |
---|---|
課題 | トランジションする課題。 |
originalIssue | 元の課題。 課題の属性を条件として使用できます。たとえば、担当者が変わったときに何らかの動作が必要な場合は、条件で次のコードを使用します。
|
現在のユーザー | 現在の Jira ユーザー。 報告者が現在のユーザーかどうかを確認するには、次のコードを使用します。
|
log | ログ フレームワーク。次のようにして
|
例
ヒントと例をお探しの場合は、 Groovy スクリプトの例をご参照ください。