第 26 章 自定义通知支持的属性
了解支持的作业属性列表以及构建通知消息文本的正确语法。
以下是支持的作业属性:
-
allow_simultaneous
- (布尔值)指示多个作业是否可以从与此作业关联的作业模板同时运行。 -
controller_node
- (字符串)管理隔离执行环境的实例。 -
created
- (日期时间)创建此作业时的时间戳。 -
custom_virtualenv
- (字符串)用于执行作业的自定义虚拟环境。 -
description
- (字符串)作业的可选描述。 -
diff_mode
- (布尔值)如果启用,标准输出中会显示对主机上任何模板文件进行的文本更改。 -
elapsed
-(decimal)作业运行经过的时间(以秒为单位)。 -
execution_node
- (字符串)作业执行的节点。 -
failed
- (布尔值)如果作业失败,则为 True。 -
finished
- (日期时间)作业完成执行的日期和时间。 -
force_handlers
- (布尔值)当处理程序被强制运行时,它们也会在通知时运行,即使该主机上的任务失败也是如此。请注意,一些条件(如不可访问的主机)仍然可以阻止处理程序运行。 -
forks
- (整数)此作业请求的 fork 数量。 -
id
- (整数)此作业的数据库 ID。 -
job_explanation
- (字符串)在无法运行和捕获stdout
时指示作业状态的 status 字段。 -
job_slice_count
- (整数)如果作为分片作业的一部分运行,则这是分片(如果为 1,则作业不是分片作业的一部分)的总数。 -
job_slice_number
- (整数)如果作为分片作业的一部分运行,这是在其上操作的清单分片的 ID (如果不是分片作业的一部分,则不使用属性)。 -
job_tags
- (字符串)仅执行具有指定标签的任务。 -
job_TYPE
-(选择)这可以可以运行
、检查
或scan
。 -
launch_type
- (选择)这可以是手动
、重新启动
、回调
、计划
、依赖项
、工作流
、同步
或scm
。 -
limit
- (字符串)如果指定,则 playbook 执行仅限于这组主机。 -
modified
- (日期时间)最后一次修改此作业的时间戳。 -
name
- (字符串)此作业的名称。 -
playbook
-(字符串)执行的 playbook。 -
scm_revision
- (字符串)用于此作业的项目中的 scm 修订(如果可用)。 -
skip_tags
- (字符串)如果指定,playbook 执行将跳过此组标签。 -
start_at_task
- (字符串)如果指定,playbook 执行从与此名称匹配的任务开始。 -
started
- (日期时间)作业加入启动队列的日期和时间。 -
状态
-(选择)可以是新的
、pending
、waiting
、running
、successful
、failed
、error
或Canceled
。 -
timeout
- (整数)取消任务前运行的时间(以秒为单位)。 -
type
- (选择)此作业的数据类型。 -
url
- (字符串)此作业的 URL。 -
use_fact_cache
- (布尔值)如果已为作业启用,自动化控制器会在 playbook 运行到数据库和缓存事实的末尾充当 Ansible 事实缓存插件。 verbosity
- (选择)0 到 5 (与 Normal 到 WinRM Debug 相对应)。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
-(id)包含此清单的机构。 -
kind
-(选择)(空字符串)(代表主机与清单有直接链接)或smart
-
project
-
id
- (整数)项目的数据库 ID。 -
name
- (字符串)项目名称。 -
description
(字符串)项目的可选描述。 -
status
- (选择)新
、pending
、waiting
、running
、successful
、failed
、error
、canceled
、never updated
、ok
或missing
之一。 -
scm_type
(选择) 其中一个(空字符串)、git
、hg
、svn
、insights
.
-
job_template
-
id
- (整数)作业模板的数据库 ID。 -
description
- (字符串)项目的可选描述。 -
status
- (选择)新
、pending
、waiting
、running
、successful
、failed
、error
、canceled
、never updated
、ok
或missing
之一。
-
job_template
-
id
- (整数)作业模板的数据库 ID。 -
name
- (字符串)作业模板的名称。 -
description
- (字符串)作业模板的可选描述。
-
unified_job_template
-
id
-(整数)统一的作业模板的数据库 ID。 -
name
- (字符串)统一的作业模板的名称。 -
description
- (字符串)统一的作业模板的可选描述。 -
unified_job_type
-(choice)统一作业类型,如作业
、workflow_job
或project_update
。
-
instance_group
-
id
- (整数)实例组的数据库 ID。 -
name
- (字符串)实例组的名称。
-
created_by
-
id
-(int)启动操作的用户的数据库 ID。 -
username
- (字符串)启动操作的用户名。 -
first_name
- (字符串)名。 -
last_name
-(string)姓氏。
-
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
-(选择)批准的
、denied
和timed_out
之一。 -
URL- (字符串)发出通知的作业 URL (这适用于
启动
、成功
、失败
和批准通知
)。 -
workflow_url
- (字符串)相关批准节点的 URL。这允许通知接收者进入相关的工作流作业页面来检查这种情况。例如,可在以下位置查看此节点:{{workflow_url }}
。在与批准相关的通知中,url
和workflow_url
都相同。 -
job_friendly_name
- (字符串)作业的友好名称。 job_metadata
-(string)作业元数据作为 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'}