6. YAML定義

Ops Iでは、マニフェストファイル(YAML形式)で運用要件を定義します。
これは運用のコード化(Operations as Code)の考え方に基づいており、マニフェストファイルをOps Iに登録することで、自動的に運用機能に変換されます。
マニフェストファイルで記載することができる運用機能の一覧を以下に示します。

(表)YAMLファイルで記載することができる運用機能

名称 説明
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ファイルとカスタムテーブルのカラムのマッピングなどを定義します。
Ops Iで運用機能をコード化する場合、定められた書式に従ってYAMLファイルを記述する必要があります。各運用機能のYAMLファイルの詳細な記述内容は「Workflow」~「Import」を参照してください。

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

(図)YAMLファイルと運用機能の関係の例

(図)YAMLファイルと運用機能の関係の例 (図)YAMLファイルと運用機能の関係の例

【YAMLファイル作成時の注意】

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

YAMLファイルはユーザーが定義したグループ内の任意のリポジトリに登録することで、Ops Iから読み込むことができます。その結果、Ops Iが自動的に対応した運用機能を生成します。YAMLファイルの登録は「YAMLファイルのGitLab登録方法(GUI)」と「YAMLファイルのGitLab登録方法(CUI)」を参照してください。

(図)YAMLファイルの登録方法

(図)YAMLファイルの登録方法 (図)YAMLファイルの登録方法

また、YAMLファイルを定義する際、テンプレート機能を使用することができます。
テンプレート機能はドキュメント機能の1つで、YAMLファイルに環境パラメータとして定義した用語を、ユーザー定義パラメータやシステム定義パラメータに置き換えることができる機能です。多言語に対応させる場合などに有用です。


【ユーザー定義パラメータ】

テンプレート機能を使用する「YAMLファイル」と参照先となる値を記載する「テンプレートファイル」は、以下の条件を満たす必要があります。

  • YAMLファイルとテンプレートファイルは同フォルダに配置
  • テンプレートファイルのファイル名は「values.yaml」
  • YAMLファイルに記載する構文は以下の形式

"{{.Values.テンプレートファイル記載のパス}}"

または

'{{.Values.テンプレートファイル記載のパス}}'


<パラメータを使用できるYAMLファイル>
  • application
  • ui
  • library
  • catalog
  • skill
  • skillset
  • workflow

(図)テンプレート機能

(図)テンプレート機能 (図)テンプレート機能


【システム定義パラメータ】

Ops Iで使用できるシステム定義パラメータは以下の通りです。

(表)テンプレート機能で使用できるシステム定義パラメータ

システム定義パラメータ 説明
.System.domain Ops I環境のドメイン

YAMLファイルに記載する構文は以下の形式で記載してください。

<記載例>

"{{.System.domain}}"

または

'{{.System.domain}}'


<パラメータを使用できるYAMLファイル>
  • application
  • ui
  • library
  • catalog
  • statement(authzType: uri の場合のみ)
  • notification
  • skill
  • skillset
  • workflow



章構成

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