6. マニフェスト
Ops Iでは、マニフェストファイル(YAML形式)で運用要件を定義します。
これは運用のコード化(Operations as Code)の考え方に基づいており、マニフェストファイルをOps Iに登録することで、自動的に運用機能に変換されます。
マニフェストファイルで記載することができる運用機能の一覧を以下に示します。
| 名称 | 説明 |
|---|---|
| Workflow | 運用に必要となるワークフローの定義を行います。 |
| UI | 画面に表示するデータ項目やレイアウトなど、UIの定義を行います。 |
| Uipath | UIのURLの定義を行います。 |
| Datamodel | 各種データを保存するためのデータモデルの定義を行います。 |
| Catalog | ユーザーが各種申請を行う際の入り口となるサービスカタログの定義を行います。 |
| Script | 画面表示時やボタンをクリックした時など、何かしらのイベントを契機に実行されるアクションの定義を行います。 |
| Library | 複数のユーザーから参照できる共有コンテナの定義を行います。 |
| Attachment | 運用の中で扱う添付ファイルの命名ルールの定義を行います。 |
| Distribution | 運用の中で発生する各種ドキュメントをどのようなルールでどこに保存するか定義を行います。 |
| ACL | Statementで定義した認可に対してユーザーやグループなどの適応先を定義します。 |
| Statement | URIやテーブルのレコードなどさまざまなリソースに対しての認可設定の定義を行います。 |
| Notification | Ops I上でのイベントによる通知、およびワークフローの任意のタイミングで行う通知について、通知の宛先や通知する内容などの定義を行います。 |
| Notifier | Notificationで定義された通知内容をどのように通知するか通知手段の定義を行います。 |
| Application | Ops Iのアプリケーションの定義を行います。 |
| Skill | 各ユーザーが保有する経験値や資格などのスキルを可視化するための定義を行います。 |
| Skillset | ワークフローの各ステップを実行するために必要なスキルをセット化して定義します。 |
| Calendar | スケジュールの予定表テンプレートを定義します。 |
| Import | カスタムテーブルのレコードをインポートする場合の、アップロードするCSVファイルとカスタムテーブルのカラムのマッピングなどを定義します。 |
| BusinessLogicTrigger | チケット、ナレッジ、カスタムテーブルの操作をトリガーにスクリプトを実行する機能について、トリガーの条件とスクリプトの動作設定を定義します。 |
例として、サービスカタログからワークフローを実行する場合の運用機能の関係を以下に示します。
- マニフェストファイルのファイル名は「manifest.yaml」にする必要があります。
- 第1階層のnameキーで指定した名称と同じ名称のディレクトリ配下に、マニフェストファイルを保存する必要があります。
- kindキーとnameキーの組み合わせはOps Iで一意である必要があります。
- マニフェストファイルのnameキーとデータモデルのテーブル名には、システム側が使用する予約語があります。予約語は使用しないでください。
やむを得ず予約語を使用する場合は、プレフィックスを付けるなどの対応を行い、衝突を回避してください。予約語と衝突した場合はエラーが発生する場合があります。予約語の詳細については、「マニフェストファイルのnameキーとデータモデルのテーブル名でエラーが発生しマニフェストファイルが登録できない場合の対処」を参照してください。 - Include対象となるマニフェストファイルで、他のnameキーと衝突していると意図しない動作になります。詳細については「エラーメッセージが表示されないが、意図しない動作になる場合の対処」を参照してください。
マニフェストファイルはユーザーが定義したグループ内の任意のリポジトリに登録することで、Ops Iから読み込むことができます。その結果、Ops Iが自動的に対応した運用機能を生成します。マニフェストファイルの登録は「マニフェストファイルのGitLab登録方法(GUI)」と「マニフェストファイルのGitLab登録方法(CUI)」を参照してください。
また、マニフェストファイルを定義する際、一部のキーでテンプレート機能を使用することができます。
テンプレート機能はドキュメント機能の1つで、マニフェストファイルに環境パラメータとして定義した用語を、「{{」と「}}」を用いてユーザー定義パラメータやシステム定義パラメータなどに置き換えることができる機能です。多言語に対応させる場合などに有用です。
テンプレート機能を利用できるキーで「{{」や「}}」を文字列として使用する場合は、それぞれ「{{ "{{" }}」や「{{ "}}" }}」のようにエスケープしてください。
【ユーザー定義パラメータ】
テンプレート機能を使用する「マニフェストファイル」と参照先となる値を記載する「テンプレートファイル」は、以下の条件を満たす必要があります。
- マニフェストファイルとテンプレートファイルは同フォルダに配置
- テンプレートファイルのファイル名は「values.yaml」
- マニフェストファイルに記載する構文は以下の形式
"{{.Values.テンプレートファイル記載のパス}}"
'{{.Values.テンプレートファイル記載のパス}}'
<パラメータを使用できるマニフェストファイル>
- workflow
- ui
- uipath
- datamodel
- catalog
- library
- application
- skill
- skillset
【システム定義パラメータ】
Ops Iで使用できるシステム定義パラメータは以下の通りです。
| システム定義パラメータ | 説明 |
|---|---|
| .System.domain | Ops I環境のドメイン |
マニフェストファイルに記載する構文は以下の形式で記載してください。
<記載例>
"{{.System.domain}}"
'{{.System.domain}}'
<パラメータを使用できるマニフェストファイル>
- workflow
- ui
- catalog
- library
- statement(authzType: uri の場合のみ)
- notification
- application
- skill
- skillset
これらに加えて一部のマニフェストには固有のテンプレート定義があります。詳細は各マニフェストの章を参照してください。
章構成
6.1 Workflow
6.2 UI
6.3 Datamodel
6.4 Catalog
6.5 Script
6.6 Library
6.7 Attachment
6.8 Distribution
6.9 ACL、Statement
6.10 Notification、Notifier
6.11 Application
6.12 Skill、Skillset
6.13 Calendar
6.14 Import
6.15 BusinessLogicTrigger