如何使用 JSON ref 合并多个列表?
How do I merge multiple lists using JSON ref?
我有以下 YAML
- name: Core
description: Core functionality
- name: Artifact
description: Artifact management
# - $ref: "v1/publications.yml#/tags/"
v1/publications.yml 有
tags:
- name: Publication
description: |
This defines the publication API.
我有点希望结果是
我有以下 YAML
- name: Core
description: Core functionality
- name: Artifact
description: Artifact management
- name: Publication
description: |
This defines the publication API.
# - $ref: "v1/publications.yml#/tags/"
我可以像这样一次做一个...
- name: Core
description: Core functionality
- name: Artifact
description: Artifact management
- $ref: "v1/publications.yml#/tags/0"
但我希望它在不更新我的源的情况下添加多个。
您标记的技术无法做到这一点。 $ref
就是对外部子树的引用。您需要序列连接,这既不是 json-ref 也不是普通 YAML 或 JSON 提供的。
您可以使用许多基于 YAML 的实用程序提供的一些模板技术来执行此操作。如果您可以控制加载代码,您还可以实现自定义标签来执行类似
的操作
- name: Core
description: Core functionality
- name: Artifact
description: Artifact management
- !append {$ref: "v1/publications.yml#/tags"}
我有以下 YAML
- name: Core
description: Core functionality
- name: Artifact
description: Artifact management
# - $ref: "v1/publications.yml#/tags/"
v1/publications.yml 有
tags:
- name: Publication
description: |
This defines the publication API.
我有点希望结果是 我有以下 YAML
- name: Core
description: Core functionality
- name: Artifact
description: Artifact management
- name: Publication
description: |
This defines the publication API.
# - $ref: "v1/publications.yml#/tags/"
我可以像这样一次做一个...
- name: Core
description: Core functionality
- name: Artifact
description: Artifact management
- $ref: "v1/publications.yml#/tags/0"
但我希望它在不更新我的源的情况下添加多个。
您标记的技术无法做到这一点。 $ref
就是对外部子树的引用。您需要序列连接,这既不是 json-ref 也不是普通 YAML 或 JSON 提供的。
您可以使用许多基于 YAML 的实用程序提供的一些模板技术来执行此操作。如果您可以控制加载代码,您还可以实现自定义标签来执行类似
的操作- name: Core
description: Core functionality
- name: Artifact
description: Artifact management
- !append {$ref: "v1/publications.yml#/tags"}