Azure Automationで「Jira」の定例タスクを自動生成する方法

運用・保守

スクラムなどを採用してアジャイルな仕事の進め方をしているチームも多くなってきているのではないでしょうか。

「スクラム」=「アジャイル」,「アジャイル」=「開発」
∴「スクラム」=「開発」?

「スクラムは、開発プロジェクトで使うもの」と考えている方も多いかもしれませんが、個人的に「スクラム」は「システム運用」と相性が良いと考えています。

「デイリースクラム(朝会)」で、前日までの認識合わせと今日実施する予定をチームで共有し、突発的なインシデントもスプリント(週間予定)のバッファ等で対応できます。運用改善もバックログ(実行タスク)で管理可能です。

開発では「定例タスク」というものが少ないかもしれませんが、システム運用では、しばしば定例化されたタスクが発生します。今回は、「Jira」に定例タスクを自動的に登録する仕組みを考えてみます。

そもそも「Jira」とは?

「Jira」については、以前のブログでご紹介していますので、そちらをご参考にしてください。

自動化のアーキテクチャ

「Jira」のタスクを「PowerShell」で生成する方法を以前のブログでご紹介しました。

「JiraPS」を使ってみましょう。オンプレミスのサーバやPC等でタスク実行することも可能ですが、今回は「Azure Automation Runbook」というものを採用してみます。

Azure Automationとは?

Azure Automation は、Azure 環境だけでなくオンプレミスも含めてクラウドベースで管理の自動化をサポートするツールです。プロセスの自動化、構成管理、更新管理、共有機能などを提供しています。

Azure Automation Runbook

Azure Automation のプロセスの自動化機能として「Runbook」というもがあります。PowerShell や Python スクリプトなどを実行することが可能です。

Azure Automation の価格

今のところ Azure Automation は、基本料金などのベースとなる費用はなく、従量課金です。プロセスの自動化は、「ジョブ実行時間」で課金されますが、

1 か月あたり 500 分間は、無料で利用できる枠が用意されています!

定例タスクの自動生成手順

それでは、自動生成させる手順を見ていきましょう。

Azute Automation アカウント の作成

まずは、Automation アカウント を作成します。Azure Portal でアカウントを作成するリソースグループに移動し、[ +作成 ] > [ リソースの作成 ] > [ 検索: Automation ] を入力し、候補表示された「Automation」をクリックします。

①「作成」、②アカウント名や地域などを調整、③「確認および作成」をクリックします。

Automation へのモジュール追加

「JiraPS」を利用するため、Automation アカウントにモジュールを追加します。

Automation アカウントへ移動し、左ペイン①「モジュール」、②「モジュールの追加」をクリックします。

①「ギャラリーで参照」②「ギャラリーで参照するには、ここをクリックします」をクリックします。

①検索ボックスに「JiraPS」と入力し、②表示された「JiraPS」をクリック。③モジュール内容を確認して「選択」をクリックします。

最後に「インポート」をクリックして「JiraPS」モジュールを追加します。

資格情報の埋め込み

「PowerShell」などに資格情報をそのまま記載するのは、セキュリティ的に好ましくありません。Automation アカウントには、資格情報を格納する機能が備わっていますので、そちらを使ってみましょう。

左ペイン①「資格情報」、②「資格情報の追加」をクリックします。

Jira ログイン用トークンを①資格情報として入力し、②「作成」をクリックします。

Runbookの作成

続いて、Runbook を作成します。Automation アカウント画面の左ペイン①「Runbook」から②「Runbookの作成」をクリックします。

①「Runbookの名前、種類、バージョンなど」を入力し、②「作成」をクリックします。

①実行するスクリプトを記入し、②「保存」をクリックします。

最後に①「公開」、②「はい」をクリックします。

PowerShell からの Automation 認証情報読み込み

先ほど Automation アカウントで認証情報を登録しましたが、Runbook の PowerShell からの読み込みは、以下のようなスクリプトで可能です。

$JiraToken = Get-AutomationPSCredential -Name 'JiraToken'
$cred = New-Object System.Management.Automation.PSCredential($JiraToken.UserName,$JiraToken.Password)

Cmdlet Get-AutomationPSCredential を利用して、登録した ‘JiraToken’ を読み込みます。UseNamePassword 属性でそれぞれの値を取得可能です。 Password は、SecureString 型で格納されています。

定期実行スケジュールの作成

Runbook の定期実行スケジュールを作成します。作成した Runbook を開き、「スケジュールのリンク」をクリックします。

①「スケジュールを Runbook にリンクします」、②「スケジュールの追加」、③新しいスケジュールとして「名前などを記入」し、④「作成」をクリック。⑤最後に「OK」をクリックします。

まとめ

今回は、Jira に定期タスクを Azure Automation Runbook を利用して自動化する方法をご紹介しました。本記事が皆さんの運用管理の一助となりましたら幸いです。

PNCでは「サーバ設計・構築サービス」として、メーカーやベンダーに依存しない中立な立場でご支援します。ネットワーク/サーバインフラに関することならどのようなことでもご相談ください。

タイトルとURLをコピーしました