この記事はAtlassian Advent Calendar 2024に参加しています。
こんにちは。みなさん、自動化機能は使われていますか?ではアセット(資産)機能はいかがでしょうか?
ありがたいことに自動化機能は大変多くのお客様にご愛用いただいていますが、そこにアセットを組み合わせるとなると一気に数が減ってしまっているような気がしています。個人的に、自動化機能がもっとも輝くのはアセット連携、かもしれない!もったいない!!と思っているので、この記事では簡単な自動化ルールを組んでご紹介させていただければと思います。
※アセット機能を使うにはJira Service ManagementのPremiumまたはEnterpriseプランが必要です
今回は、新入社員にPCを割り当てる仕組みを作ってみます。具体的には次のような流れです。
ユーザーがリクエストを作る
エージェントは未使用のPCのアセット情報を、アセット機能にアクセスすることなく見つけて割り当てる
エージェントがPCを割り当てると対応するアセットが更新される
このうち1は通常のリクエスト管理フローなので今回はセットアップの説明を割愛します。2をアセットタイプのカスタムフィールド、3を自動化で実現していきます。
「+ スキーマを作成」を選択して新しくスキーマを作成します。ここでは次のようにしました。
テンプレート: IT資産管理
スキーマ名: IT資産
キー: ITA
「ラップトップ」オブジェクトタイプを選択し、右側の画面で「属性」タブを選択します。このオブジェクトタイプに関連付けられた属性の一覧が確認できます。
画面下部のテキストボックスを使って新しく「使用者」属性を作りましょう。
名前: 使用者
説明: 空のままでOK
タイプ: ユーザー
タイプ値: 空のままでOK
それでは要件の実現に入っていきます。前述のとおり、「1. ユーザーがリクエストを作る」の説明は割愛して2から取り組んでいきます。
まずは、エージェントが過不足のないアセット情報をJira内で見つけられるようにします。これは、Jiraとアセットとの間の架け橋になる「アセット」タイプのカスタムフィールドを用意して課題に追加するだけで、簡単に行えるんです。
Jiraで右上の歯車アイコンをクリックし、「課題」を選択します。画面が表示されたらサイドバーから「カスタムフィールド」を選択します。
右上の「カスタム フィールドを作成」をクリックし、次の設定で新しいフィールドを作成します。
フィールドタイプ: アセット オブジェクト
(「すべて」または「詳細」を選択すると一覧に表示されます)
名前: 「未使用のPC」
画面との関連付け: 先ほど確認したプロジェクトの、対象のリクエストで使う画面。
ここでは「ITSM: Jira Service Management: リクエスト対応の表示/編集画面」を設定しました
今回作ったアセットタイプのカスタムフィールドでは、アセットの取得条件を個別に定義する必要があります。
カスタムフィールド一覧に戻ったら、いま作った「未使用のPC」フィールドを見つけて右側の … アイコンから「コンテキストと既定値」を選択します。
「アセット オブジェクト フィールド設定を編集」リンクをクリックします。
次のように設定します。
オブジェクトスキーマ: IT資産
フィルタースコープ (AQL): 「objectType=ラップトップ」
フィルター課題スコープ: 「使用者 is empty」
カスタム フィールドでこれらの属性を表示、検索します: Name
課題ビューにこれらの属性を表示します: Name
AQL(アセットクエリ言語)の詳細についてはこちらを、アセットオブジェクトフィールドの設定の詳細についてはこちらをご確認ください。
これにより、
「使用者」属性が空である、
「ラップトップ」オブジェクトタイプに対応するアセット
のみを「未使用のPC」カスタムフィールドに取り込むことができます!
それではアセットの更新処理を自動化でセットアップしていきましょう。任意のトリガーを選んで、それにアセットの更新用アクションを組み合わせるだけです!
用意したサービスプロジェクトに移動し、「プロジェクト設定」→「自動化」の順に選択します。
右上の「ルールを作成」をクリックして次のように設定します。
トリガー: 適当なものを設定します。ここでは「課題から手動トリガー」にしました。
アクション
アクションの種類: アセット フィールド属性を編集
「アクションを検索」ボックスの下にある「すべてのアクション」ボタンを選択すると、「課題の操作」セクションの一番上に表示されます
アセット フィールド: 未使用のPC
設定する属性を選択: 使用者
一覧に出ない場合はテキスト入力で検索できます
使用者テキストボックスの内容: {{reporter.accountId}}
右側の {} ボックスをクリックして「報告者」→「報告者 - アカウント ID」の順に選択すると表示される値をコピーできます!
{{issue.reporter}}
でもOK
{{}} で使われているスマート値の詳細についてはこちらをご確認ください
右上の「ルールをオンにする」をクリックし、適当な名前をつけて公開します。ここでは「報告者にアセットを割り当て」としました。
おつかれさまでした!それではいよいよ一連の処理を動かしてみましょう。
サービスプロジェクトで、アセットフィールドを設定した画面に紐づくリクエストタイプで課題を作成し、内部ビューに移動します。ここまで私と同じ手順でプロジェクトをセットアップしてきた場合は次の流れです。
プロジェクト設定にいる場合はサイドバーの←ボタンを押してプロジェクトのトップに移動する
「チャンネル」をクリックし、「ポータル」にカーソルを合わせて「オープン」を選択
「コンピューター」をクリックし、「新規ハードウェアのリクエスト」を選択
適当な情報を入力して「送信」
作成できたら、画面上部のパンくずリストで課題キー(ITSM-1など)をクリックして内部ビューにアクセスできます。
内部ビューで、エージェントとして情報を確認してみましょう。画面右側の「その他のフィールド」配下に、先ほど作ったアセットタイプの「未使用のPC」カスタムフィールドが表示されていることがわかります。ここで「+ オブジェクトを追加」をクリックすると、最初に作成したアセットが表示されます。これで、エージェントとして未使用のPCを見つけることができました
いかがでしたでしょうか?手数が多いので少し複雑に見えますが、1つ1つ分解していくと比較的内容がイメージしやすいのかなと思います。
自動化は応用の余地が広く、今回ご紹介したフロー1つを取っても、承認後のトランジションをトリガーにする、作業完了の内部コメントを追加する、アセットがすべて使用中だったときに調達を依頼できるワークフローやルールを追加する、「未使用のPC」オブジェクトの「使用者」属性にユーザーをそのまま入れる代わりに従業員を定義したオブジェクトスキーマを作ってそれを紐づける、などなど、さまざまな可能性が考えられます。
また、アセット x 自動化はほかにも次のようなさまざまなユースケースがあります。
IT資産のサポート期限をアセット属性として登録し、自動化ルールをスケジュール実行して、サポート期限までひと月以内のアセット用にライセンス更新用のJira課題を作成
リクエストの作成者に関連付けられたITアセットを自動的にJiraチケットに読み込み、エージェントが備品依頼の妥当性を判断できるような情報として提供する
社員をアセットとして登録し(「ユーザー」という便利なテンプレートがあります)、リクエストに応じて上長を承認者として設定
執務室ごとの備品一覧をアセットとして登録し、問い合わせ時に自動応答であるべき備品の一覧を返す
…
また、Jira Service Managementのフォーム機能にアセットフィールドを連携させる方法をこちらの記事でご紹介しております。よろしければ併せてご覧ください
Ai Hirama
Technical Support Manager
61 accepted answers
0 comments