Из-за чего пайплайн ругается на синтаксис?
Ссылка скопирована
Есть Pipeline в GitHub
По вводным: необходимо выполнить действие если success.
Работает:
- name: Run on success if: success() run: echo "This runs only if 'First Step' succeeds"
Не работает:
- name: Run on success if: success() uses: appleboy/telegram-action@master with:
Сейчас ситуация такая: мне необходим второй пример, который помечен как не работает.
По вводным: ругается на синтаксис в строке с "with:"
Нужно понять: подскажите, какой правильный синтаксис или какую доку почитать??
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
Telegram
Как добиться, чтобы Telegram прислал мне именно смс код, а не через звонок его диктовал?
1 ответ

В GitHub Actions шаг может использовать либо
run, либоuses, но синтаксис вокругifиwithдолжен быть строго на одном уровне внутри одного элемента списка. Частая причина ошибки — неправильные отступы или пустой/криво вложенныйwith:.Правильный пример с action:
- name: Send Telegram on success if: ${{ success() }} uses: appleboy/telegram-action@master with: to: ${{ secrets.TELEGRAM_TO }} token: ${{ secrets.TELEGRAM_TOKEN }} message: "Workflow completed successfully"
with:должен быть на том же уровне отступа, что иuses, а параметры внутри — на два пробела глубже. Нельзя писатьwithвнутриrunили смешиватьrunиusesв одном шаге.Если нужно выполнить команду и потом отправить Telegram, это два разных шага:
- name: Build run: npm run build - name: Send Telegram on success if: ${{ success() }} uses: appleboy/telegram-action@master with: to: ${{ secrets.TELEGRAM_TO }} token: ${{ secrets.TELEGRAM_TOKEN }} message: "Build OK"
Если действие должно выполниться только после конкретного шага, можно дать шагу
idи проверять результат:- name: First step id: first run: echo "ok" - name: Notify if: ${{ steps.first.outcome == 'success' }} uses: appleboy/telegram-action@master with: to: ${{ secrets.TELEGRAM_TO }} token: ${{ secrets.TELEGRAM_TOKEN }} message: "First step succeeded"
Если YAML ругается именно на строку
with:, проверьте ещё две вещи. Во-первых, предыдущая строка должна бытьuses:, а неrun:. Во-вторых, выше не должно быть незакрытой кавычки или двоеточия в значении. YAML очень чувствителен: одна лишняя табуляция или двоеточие без кавычек может подсветить ошибку ниже реальной причины.Для проверки удобно вставить workflow в любой YAML validator или открыть вкладку Actions в GitHub: редактор часто показывает место ошибки до запуска. Ещё полезно временно заменить action на простой минимальный вариант с одним параметром
message. Если минимальный вариант проходит, добавляйте параметрыto,token,formatпо одному.Итог: проверьте отступы YAML и не смешивайте
runсuses. Документация: GitHub Actions workflow syntax, разделыjobs.<job_id>.steps[*].uses,steps[*].ifиsteps[*].with. Для Telegram action держитеif,usesиwithна одном уровне шага.