2022年04月26日
【Jira(ジラ)ユーザーは知ってほしい】Script Runner for Jira 超入門小林 香菜子 kanako kobayashi
こんにちは。
エンジニアの小林です。
今回はアトラシアンの大人気アプリ「Script Runner for Jira」について、「Javaなどでプログラミングは少ししたことがあるけど JiraのAPIを使うのは初めて!」という方向けに、Script Runnerを使った開発の入門的な内容をご紹介します!
Jiraのサードパーティーアプリです。
Jiraのワークフロー・カスタムフィールドなどで行いたい処理を、Groovy言語(Javaと同じように書けるスクリプト言語)で記述することができます。
柔軟なカスタマイズができるのがメリットです。一方、保守の手間はかかることに留意しましょう。
まずは Script Console 機能を使って簡単なスクリプトを実行してみます。
ScriptRunner を インストールした Jira で、管理画面 > アプリを管理 > ScriptRunner > Console に進みます。
(または、gg
ショートカットキーで管理画面検索ダイアログを開き、Script Console と入力します)
Scriptエディタに下記コードを入力して「Run」をクリックします。
Resultタブに下記のように表示されます。
このように、 Script Console では実行したプログラムの戻り値が Result タブに出力されます。
次に、ログを出力してみます。
エディタに下記コードを入力して実行してみましょう。
Logs タブに下記のようなログが出力されます。
自分で書いたコードがうまく動かない時は、この方法でログを出力してデバッグできます。
JiraのJava API を使って簡単なスクリプトを実行してみます。
Jiraの課題キーから、課題の要約を取得してみましょう。
下記コードの XXXXX の部分を適当な課題キーに置き換えて、実行してみてください。
Resultタブに課題の要約が出力されます。
JiraのAPIドキュメントを見ながら確認してみてください。
その名の通り、ComponentAccessorを使うとJiraのコンポーネントを取得できます。
コンポーネントとは何なのか気になりますが、とりあえず今は置いておきましょう。
今回使った IssueManager など XXXManager を使いたい時は、このComponentAccessorから取得できることが多いです。
issue(課題)に関する様々な処理を行ってくれるクラスです。
今回は ComponentManager を使って取得しました。
Jiraのissue(課題)です。
今回は、issueManager を使って指定した課題キーの課題を取得しました。
ちなみに、GroovyではJavaと違って型宣言などを省略しても動きます。例えば下記コードでも同じことができます。
練習1 Jiraの課題キーから、課題の報告者を取得してみましょう。
練習2 Jiraのプロジェクトキーから、プロジェクト名を取得してみましょう。
ヒント
ProjectManager を使ってみましょう。
XXX:プロジェクトキー
ScriptRunner の機能を使って、ワークフローの事後操作を設定してみます。
プロジェクト管理画面 > ワークフロー から ワークフローを編集します。
適当なトランジションに事後操作を追加します。
ScriptRunner をインストール済みのJiraの場合、「Script Post-Function」という事後操作を追加することができます。
「Script Post-Function」には、自身で一からスクリプトを書く必要がある「Custom script post-function」の他にも、ビルトインの事後操作が用意されています。
今回は、「Custom script post-function」を選択します。
まずは試しに、トランジションされた課題の課題キーをログに出力してみます。
「Inline script」エディタにスクリプトを入力します。
ここで「issue」という変数は、ScriptRunner側で用意している、宣言なしで使える変数です。
スクリプトを保存し、ワークフローを発行したら、適当な課題をトランジションしてみます。
設定した事後操作が実行されたことを確認するため、ログを見てみます。
ログを確認する方法はいくつかありますが、ここでは、ScriptRunnerの機能を使って確認します。
gg ショートカットキーでJira管理画面検索ダイアログを開き、「Browse ScriptRunner」へ移動します。
ここでは、ScriptRunner側で用意されている様々な処理を実行することができます。
今回はサーバーのログを確認したいので、検索フォームに「server」と入力し、「View server log files」を選択します。
atlassian-jira.log の中身を出力します。
課題キーが出力されている行があるかどうか探してみてください。
次に、課題がトランジションされたら自動的に「説明」を変更するような事後操作を設定してみます。
先ほど設定した Custom script post-function を修正します。
この setDescription() は、IssueのサブインターフェースMutableIssueで定義されているメソッドです。
スクリプトを保存し、ワークフローを発行したら、実際に課題をトランジションして確認してみます。
練習3 ワークフローの事後操作で、テキストフィールド(一行)カスタムフィールドに値を入力してみましょう。
いかがでしたでしょうか?
Jiraを標準機能よりもさらにカスタマイズしたい方におすすめのアプリです。
おすすめリンク集を参考に、ぜひ使ってみてくださいね。
製品について詳しくはこちらをご覧ください。
ScriptRunner for Jira関連する製品についてはこちらをご覧ください。
Jira SoftwareJira Softwareを試してみたい方はこちら。
Jira Software 無料トライアル本情報はブログを公開した時点の情報となります。
ご不明な点はお問い合わせください。
アトラシアン社ではサポート範囲外となっているサードパーティ製のアドオンをリックソフトのサポートではサポートします。
リックソフトのサポートは開発元が提供するサポート以上の価値があります。
ツールを導入しただけでは成功とはいえません。利用者が効果を感じていただくことが大切です。独自で制作した各種ガイドブックはツール活用を促進します。
リックソフトからライセンス購入を頂いたお客様にはガイドブックを無料進呈いたします。
ツール操作の研修だけでなく「ウォータフォール型開発」「アジャイル型開発」のシミュレーション研修も提供。
日本随一の生産性向上にも効果のある研修サービスです。
リックソフトからライセンス購入を頂いたお客様には無料招待や割引特典がございます。