申請管理:バンドル申請
バンドル申請プロセスでは、サービスの集合を 1 つの申請にまとめた、バンドルの申請を処理できます。このプロセスでは、バンドルの承認を行い、バンドルに含まれる各サービスについて、子申請を自動的に作成します。全ての子申請が完了すると、バンドル申請が完了します。
このプロセスの開始時点における承認フローは、「申請管理:一般サービス申請」で説明している一般サービス申請の改良版です。
承認が完了すると、申請が承認されたことが作成者に通知されます。次に、2 つの自動処理によって、バンドルを構成するサービスの子申請が作成されます。
- 最初に、親申請のサービス項目として選択されたバンドルが、親申請の [バンドル] に入力されます。[バンドル] フィールドは [申請] ウィンドウに追加されません。
ここでは、次の計算が使用されます。
import System
static def GetAttributeValue(Request):
Value = null
if Request._ConfigItemRequested != null:
if Request._ConfigItemRequested.Class.Name == "Bundle":
Value = Request._ConfigItemRequested
return Value
この計算式の 3 行目と 4 行目は 1 スペース分、5 行目は 2 スペース分、6 行目は 3 スペース分インデントされ、最後の行はインデントされていません。
この計算式では、選択されたサービス項目がバンドルである場合に、[バンドル] フィールドの値を [申請] ウィンドウの [サービス項目] フィールドで選択された値に設定します。
この計算式は、[バンドル] フィールドの値をヌル (空白) に設定することで動作します。次に、申請の ConfigItemRequested フィールドの値がヌル以外の場合、ConfigItemRequested フィールドのクラスの名前が「バンドル」に設定されているかどうかを確認します。「バンドル」に設定されている場合、ConfigItemRequested がバンドルであることを意味します (ConfigItemRequested は [申請] ウィンドウの [サービス項目] フィールドに保存されます)。
計算によって選択した ConfigItemRequested がバンドルであると判断された場合、計算によって [バンドル] フィールドの値が [申請] ウィンドウの [サービス項目] フィールドで選択された値に設定されます。
- 次の自動処理により、バンドルの各 CI に必要な値が、子申請の [サービス項目]、[申請タイプ]、および [プロセス] フィールドに入力されます。
この処理は、最初の自動処理でコピーされたバンドルを参照する値タイプを使用します。
バンドルの CI はカタログ項目と呼ばれるコレクションに保存されます。カタログ項目は、構成項目バンドルと呼ばれるオブジェクトとリンクする関係です。つまり、次の値タイプを選択する必要があります。
Service Item – _Bundle/CatalogueItems*/ConfigItem.
Request Type – {_Bundle/CatalogueItems*/ConfigItem/CatalogueHierarchy}
Process – {_Bundle/CatalogueItems*/ConfigItem/Lifecycle}
次の自動処理では、子申請のブール属性の「親はバンドル」が True に設定されます。この属性は、子申請の承認ステップを省略するために、子申請で使用されます。
ライフサイクルが設定されていない CI がバンドルに含まれている場合、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」エラーが発生します。サービス カタログで利用可能なすべてのサービスに対して、ライフサイクルが関連付けられていることを確認してください。
子申請が作成されると、バンドル申請が完了し、子申請のサービス プロビジョニングが完了します。
「承認待ち」ステータスでは、任意の処理として「メモを追加」および「割り当ての追加」処理を使用できます。