Enterprise 技術情報 Enterprise Technical information
Kompiraの機能 Kompiraオブジェクトのプロパティ,メソッド,フィールドを扱う
Kompira上で扱う管理情報は、「ジョブフロー」や「ノード情報」「環境変数」など多くの種類がありますが、これらは全て「Kompiraオブジェクト」として扱われます。例えばKompiraファイルシステム上での「ディレクトリ」もオブジェクトになります。
これらの「Kompiraオブジェクト」には「プロパティ」、「メソッド」、「フィールド」が定義されています。今回の記事では、これらの扱い方を見ていきましょう。
環境情報
本記事は、以下の環境で検証しております。
Kompiraオブジェクトの「プロパティ」
各Kompiraオブジェクトには、あらかじめシステムで定義された「プロパティ(オブジェクトの属性情報)」を持っています。例えばオブジェクトのパス、名称、作成日時などがあります。
これらのKompiraオブジェクトのプロパティをジョブフローから参照するには、ドット記法で、
”オブジェクト名.プロパティ名”
と記述します。
プロパティには以下の種類があります。
例えば、以下のジョブフローは、”sample_jobflow”というジョブフローの更新日時を表示します。
上図はジョブフローの編集画面ですが、ここの「source(ソース)」、「multiplicity(多重度)」、「defaultCheckpointMode(デフォルトチェックポイントモード)」などが「フィールド」です。
例えば、次の例は”sample_jobflow”というジョブフローのソースを表示します。
項目 | バージョン |
OS | CentOS Linux release 7.7.1908 |
Kompira | ver.1.5.5.post7 |
プロパティ名 | 説明 |
---|---|
id | オブジェクトのID値 |
abspath | オブジェクトの絶対パス |
name | オブジェクト名 |
description | オブジェクトの説明 |
display_name | オブジェクトの表示名 |
field_names | オブジェクトが備えるフィールド名の一覧 |
owner | オブジェクトの所有ユーザー |
created | 作成日時 |
updated | 更新日時 |
parent_object | オブジェクトの親オブジェクト |
children | オブジェクトの子オブジェクト一覧 |
type_object | 型オブジェクト |
type_name | 型名 |
user_permissions | ユーザ権限 |
group_permissions | グループ権限 |
print(./sample_jobflow.updated)Kompiraオブジェクトの「メソッド」 各オブジェクトは、それらの操作を行うための「メソッド」を持ちます。オブジェクトを削除する”delete”メソッドのように、全てのオブジェクトが共通して持つメソッドと、特定の型のオブジェクトが持つ固有のメソッドがあります。 例えば、以下のジョブフローは”rename”メソッドを用いて、”sample_jobflow”というジョブフローの名前を”sample_jobflow2″に変更します。
[./sample_jobflow.rename:"sample_jobflow2"]共通するメソッドは delete(オブジェクトの削除)、rename(名称の変更)、update(フィールド(後述)の値の更新) があります。 特定の型が持つメソッドとしては、ディレクトリ型の”add”メソッドがあります。これは指定のディレクトリに新しいオブジェクトを作成するものです。例えば、カレントディレクトリ”./”の下に”sample_jobflow”という名前の空のジョブフローを作成します。
[./.add: "sample_jobflow", /system/types/Jobflow]別の例としては、チャネル型の”send”メソッドがあります。これは指定されたチャネルにメッセージを送信します。Alertチャネルに”sample message”というメッセージを送り、それを読み出して表示してみます。
[/system/channels/Alert.send: "sample message"] -> </system/channels/Alert> -> print($RESULT)Kompiraオブジェクトの「フィールド」 最後に「フィールド」ですが、これらは画面で設定できる各項目に固有の名前がつけられており、それで参照できるようになっています。

print(./sample_jobflow.source)特に「テンプレート」「メールテンプレート」「環境変数」型などのオブジェクトは、ジョブフロー中からフィールド情報を参照することが多いでしょう。 次の例は”設定情報_環境変数”という環境変数型のオブジェクトのenvironmentフィールドを読み出して表示します。environmentフィールドは”名称”と”値”の組み合わせの辞書型の構造を持ちます。この例では”item1″という名称に対応する値を表示します。
[config_dic = ./設定情報_環境変数.environment] -> print(config_dic.item1)各オブジェクト型のフィールド情報の種類とデータ型はヘルプ画面の「5.2 Kompiraオブジェクト」に記載がありますので、詳細はヘルプを参照してください。
スタートガイド
Kompiraジョブフローの基礎
ジョブフローの簡単な例
Kompiraの機能
-
- フィールド修飾子でフィールドの入力内容に制約を設ける
- Kompiraでの文字列のパターンマッチング
- Kompira上でWikiページを作成する
- スケジューラを使って定期的にジョブを実行する
- ジョブフローを実行するフォームを作成する
- テーブル内の情報を選択して処理を実行する
- ジョブフローに権限設定をする
- ジョブフロー画面の各種設定
- Pythonで記述された処理をKompiraから呼び出す
- Kompiraオブジェクトのプロパティ,メソッド,フィールドを扱う
- Windowsでリモートスクリプトを実行する(その1)
- Windowsでリモートスクリプトを実行する(その2)
- Kompira上のデータをバックアップする(その1)
- Kompira上のデータをバックアップする(その2)
- Kompira上のデータをバックアップする(その3)
外部との連携
-
- Prometheusからの通知をKompiraで受信する
- Kompira cloud Pigeonを利用した通知電話の利用
- ネットワーク機器へのコマンド投入
- KompiraからWindowsGUIアプリケーションを操作する (1/2)
- メールを送信する
- メール受信をトリガーにしてジョブフローを実行する
- アラートメールをフィルタリングして転送する
- チャネルを利用して外部システムからデータを受信する
- Webページから内容を取得する
- Redmineへ新規チケットを登録する
- Redmineでのチケット作成をKompiraに通知する
- Kompira REST APIを利用して外部からジョブフローを実行する
- Kompira REST APIを利用して外部からオブジェクト情報を取得する
- KompiraからSlackに通知する
- Slackでの投稿をKompiraに通知する
- KompiraからTwilioで電話をかける
- Zabbixからの通知をKompiraで受信する
- syslogをKompiraで受信する
- snmptrapをKompiraで受信する
- KompiraでExcelファイルの読み書きをする
- KompiraでGoogle SpreadSheetの読み書きをする
- Active Directoryから情報を取得する
- Active Directoryにユーザーを登録する