我想从我的代码中获取version属性到我的playbook中的变量。 我的剧本中有以下任务:
- name: get version from package
shell: cat "/path/to/package.json"
register: package_json
- set_fact: package="{{ package_json.stdout | from_json }}"
- debug: msg="{{ package.version }}"
导致错误:
fatal: [x.x.x.x] => One or more undefined variables: 'unicode object' has no attribute 'version'
但是,如果我将debug语句更改为以下内容:
- debug: msg="{{ package }}
然后我在控制台上看到以下内容:
ok: [x.x.x.x] => {
"msg": "{u'name': u'my_project', u'version': u'2.0.4-build.723.6907', ...
如何{{ package.version }}
无法使用此属性?
答案 0 :(得分:0)
看起来package
本身就是字典。
那么请你试试:
{{ package.value.version }}