第26章 カスタム通知でサポートされている属性
サポートされているジョブ属性のリストと、通知のメッセージテキストを構築するための適切な構文を説明します。
サポートされているジョブ属性は次のとおりです。
-
allow_simultaneous
- (ブール値) 複数のジョブが、このジョブに関連付けられたジョブテンプレートから同時に実行できるかどうかを示す -
controller_node
- (文字列) 分離された実行環境を管理したインスタンス -
created
- (日時) ジョブ作成時のタイムスタンプ -
custom_virtualenv
- (文字列) ジョブの実行に使用されるカスタムの仮想環境 -
description
- (文字列) ジョブの説明 (任意) -
diff_mode
- (ブール値) 有効になっている場合、ホストのテンプレート化されたファイルに追加されるテキストの変更を標準出力に表示 -
elapsed
- (10 進数) ジョブ実行の経過時間 (秒単位) -
execution_node
- (文字列) ジョブが実行するノード -
failed
- (ブール値) ジョブが失敗した場合は true -
finished
- (日時) ジョブが実行を完了した日時 -
Force_handlers
- (ブール値) ハンドラーを強制的に実行すると、そのホスト上でタスクが失敗した場合でも、通知されたらハンドラーが実行されます。到達不能なホストなどの状況によっては、ハンドラーが実行されない場合があることに注意してください。 -
forks
- (整数) ジョブに要求されたフォークの数 -
id
- (整数) ジョブのデータベース ID -
job_explanation
- (文字列)stdout
の実行およびキャプチャーを実行できない場合のジョブの状態を示すための状態フィールド -
job_slice_count
- (整数) スライスされたジョブの一部として実行された場合には、スライスの合計数 (1 の場合はスライスされたジョブの一部ではない) -
job_slice_number
- (整数) スライスされたジョブの一部として実行された場合には、スライス処理が行われたインベントリーの ID (スライスされたジョブの一部でなければ属性は使用されない) -
job_tags
- (文字列) 指定されたタグを持つタスクのみが実行される -
job_type
- (選択肢)run
、check
、またはscan
-
launch_type
- (選択肢)manual
、relaunch
、callback
、scheduled
、dependency
、workflow
、sync
またはscm
-
limit
- (文字列) 指定された場合は、このホストのセットに制限された Playbook を実行 -
modified
- (日時) ジョブの最終更新時のタイムスタンプ -
name
- (文字列) このジョブの名前 -
Playbook
- (文字列) 実行された Playbook -
scm_revision
- (文字列) このジョブに使用するプロジェクトからの SCM リビジョン (存在する場合) -
skip_tags
- (文字列) 指定した場合は、このタグセットをスキップして Playbook を実行 -
start_at_task
- (文字列) 指定した場合は、この名前に一致するタスクで Playbook の実行を開始 -
started
- (日時) ジョブが開始するためにキューに入れられた日時 -
status
- (選択肢)new
、pending
、waiting
、running
、success
、failed
、error
、cancel
-
timeout
- (整数) タスクが取り消されるまでの実行時間 (秒数) -
type
- (選択肢) このジョブのデータ型。 -
url
- (文字列) このジョブの URL。 -
use_fact_cache
- (ブール値) ジョブに対して有効化されている場合、データベースへの Playbook 実行の最後に Automation Controller は Ansible ファクトキャッシュプラグインとして機能し、Ansible で使用するファクトをキャッシュ。 verbosity
- (選択肢) 0 - 5 (正常 - WinRM デバッグに対応)host_status_counts
- (各ステータスに一意に割り当てられたホスト数)-
skipped
: (整数) -
ok
: (整数) -
changed
: (整数) -
failures
: (整数) -
dark
: (整数) -
processed
: (整数) -
rescued
: (整数) -
ignored
(整数) -
failed
(ブール値)
-
summary_fields:
inventory
-
id
- (整数) インベントリーのデータベース ID。 -
name
- (文字列) インベントリーの名前。 -
description
- (文字列) インベントリーの説明 (任意) -
has_active_failures
- (ブール値) (非推奨) このインベントリーのホストが失敗したかどうかを示すフラグ -
total_hosts
- (非推奨) (整数) このインベントリー内のホストの合計数 -
hosts_with_active_failures
- (非推奨) (整数) このインベントリー内のアクティブなエラーのあるホストの数 -
total_groups
- (非推奨) (整数) このインベントリー内のグループの合計数 -
groups_with_active_failures
- (非推奨) (整数) このインベントリー内のアクティブなエラーのあるホストの数 -
has_inventory_sources
- (非推奨) (ブール値) このインベントリーに外部のインベントリーソースがあるかどうかを示すフラグ -
total_inventory_sources
- インベントリー内で設定される外部インベントリーソースの合計数 (整数) -
inventory_sources_with_failures
- エラーのあるこのインベントリー内の外部インベントリーソースの数 (整数) -
organization_id
- このインベントリーが含まれる組織 -
kind
- (選択肢) (空の文字列) (ホストにインベントリーとの直接リンクがあることを示す) またはsmart
-
project
-
id
- (int) プロジェクトのデータベース ID。 -
name
- (文字列) プロジェクトの名前。 -
description
- (文字列) プロジェクトの説明 (任意) -
status
- (選択肢)new
、pending
、waiting
、running
、successful
、failed
、error
、canceled
、never updated
、ok
、またはmissing
のいずれか。 -
scm_type
- (選択肢) (空の文字列)、git
、hg
、svn
、insights
のいずれか
-
job_template
-
id
- (int) ジョブテンプレートのデータベース ID。 -
description
- (文字列) プロジェクトの説明 (任意) -
status
- (選択肢)new
、pending
、waiting
、running
、successful
、failed
、error
、canceled
、never updated
、ok
、またはmissing
のいずれか。
-
job_template
-
id
- (int) ジョブテンプレートのデータベース ID。 -
name
- (文字列) ジョブテンプレートの名前。 -
description
- (文字列) ジョブテンプレートの説明 (任意)
-
unified_job_template
-
id
- (int) 統合ジョブテンプレートのデータベース ID。 -
name
- (文字列) 統合ジョブテンプレートの名前。 -
description
- (文字列) 統合ジョブテンプレートの説明 (任意) -
unified_job_type
- (選択肢) 統合ジョブタイプ (job
、workflow_job
、project_update
など)。
-
instance_group
-
id
- (int) インスタンスグループのデータベース ID。 -
name
- (文字列) インスタンスグループの名前。
-
created_by
-
id
- (int) 操作を開始したユーザーのデータベース ID。 -
username
- (文字列) 操作を開始したユーザー名 -
first_name
- (文字列) 名。 -
last_name
- (文字列) 姓。
-
labels
-
count
- (int) ラベルの数。 -
results
- ラベルを表すディクショナリーのリスト。例: {"id": 5, "name": "database jobs"}。
-
カスタム通知メッセージ内のジョブに関する情報は、グループ化された中括弧 {{ }} を使用して参照できます。特定のジョブ属性にはドット表記を使用してアクセスされます (例: {{ job.summary_fields.inventory.name }})。中括弧の前または前後に使用されている文字、または平文は、明確にするために追加できます。たとえば、ジョブ ID の「#」や記述子を示す一重引用符などです。カスタムメッセージには、メッセージ全体で多数の変数を含めることができます。
{{ job_friendly_name }} {{ job.id }} ran on {{ job.execution_node }} in {{ job.elapsed }} seconds.
テンプレートに追加できる追加の変数は次のとおりです。
-
approval_node_name
- (文字列) 承認ノード名 -
approval_status
- (選択肢)approved
、denied
、およびtimed_out
のいずれか -
url
- (文字列) 通知が送信されるジョブの URL (start
、success
、fail
、およびapproval notifications
に適用) -
workflow_url
- (文字列) 関連する承認ノードへの URL。これにより、通知受信者は関連するワークフロージョブページに移動して状況を確認できます。たとえば、このノードは {{workflow_url }} で表示できます
。承認関連の通知の場合は、url
とworkflow_url
の両方が同じです。 -
job_friendly_name
- (文字列) ジョブの分かりやすい名前 job_metadata
- (文字列) ジョブのメタデータを JSON 文字列として置き換えます。以下に例を示します。{'url': 'https://automationcontroller.example.com/$/jobs/playbook/13', 'traceback': '', 'status': 'running', 'started': '2019-08-07T21:46:38.362630+00:00', 'project': 'Stub project', 'playbook': 'ping.yml', 'name': 'Stub Job Template', 'limit': '', 'inventory': 'Stub Inventory', 'id': 42, 'hosts': {}, 'friendly_name': 'Job', 'finished': False, 'credential': 'Stub credential', 'created_by': 'admin'}