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 チケット、ナレッジ、カスタムテーブルの操作をトリガーにスクリプトを実行する機能について、トリガーの条件とスクリプトの動作設定を定義します。
Ops Iで運用機能をコード化する場合、定められた書式に従ってマニフェストファイルを記述する必要があります。各運用機能のマニフェストファイルの詳細な記述内容は「Workflow」~「BusinessLogicTrigger」を参照してください。

例として、サービスカタログからワークフローを実行する場合の運用機能の関係を以下に示します。

(図)マニフェストファイルと運用機能の関係の例

(図)マニフェストファイルと運用機能の関係の例 (図)マニフェストファイルと運用機能の関係の例

【マニフェストファイル作成時の注意】

  1. マニフェストファイルのファイル名は「manifest.yaml」にする必要があります。
  2. 第1階層のnameキーで指定した名称と同じ名称のディレクトリ配下に、マニフェストファイルを保存する必要があります。
  3. kindキーとnameキーの組み合わせはOps Iで一意である必要があります。
  4. マニフェストファイルのnameキーとデータモデルのテーブル名には、システム側が使用する予約語があります。予約語は使用しないでください。
    やむを得ず予約語を使用する場合は、プレフィックスを付けるなどの対応を行い、衝突を回避してください。予約語と衝突した場合はエラーが発生する場合があります。予約語の詳細については、「マニフェストファイルのnameキーとデータモデルのテーブル名でエラーが発生しマニフェストファイルが登録できない場合の対処」を参照してください。
  5. 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