#yaml #yq
Вопрос:
Я использую yq 4.3.1
для обновления version
поля в этом yaml:
jobs:
my-job:
steps:
- name: Step 1
id: step1
uses: actions/step1
- name: Step 2
id: step2
uses: actions/step2
with:
version: 1.2.3
Но я не могу понять, как выбрать элемент массива на основе id == 'step2'
свойства, чтобы я мог обновить версию?
Ответ №1:
Почему вы всегда находите ответ через секунду после того, как задаете вопрос в stackoverflow?
yq eval '(.jobs.my-job.steps[] | select(has("id")) | select(.id == "step2")).with.version = "1.2.4"' -i my.yaml
РЕДАКТИРОВАТЬ Вау, как я был неправ… 😀 Обновлена рабочая версия