Jenkins Job для выполнения запроса SOQL

Я пытаюсь получить задание Jenkins для запуска команд sfdx force:data:soql:query для переноса наборов данных конфигурации между нашей производственной организацией и нашими песочницами после обновления. Некоторые конфигурации не сохраняются при обновлении, поэтому нам нужен способ переместить эти данные.

Выполнение запросов из командной строки на сервере Jenkins работает должным образом, однако при выполнении задания происходит сбой со следующей ошибкой:

      'C:\Program' is not recognized as an internal or external command, operable program or batch file.
Build step 'Execute shell' marked build as failure

Задание выполняет три функции: авторизует DevHub, выводит список подключенных организаций, а затем выполняет запрос SQOL, чтобы просто распечатать некоторые данные - 16 строк, если быть точным. Вот команды в сценарии оболочки задания:

      sfdx force:auth:jwt:grant -i ${CONNECTED_APP_CONSUMER_KEY} -u ${DEV_HUB} -f ${JENKINS_HOME}/certs/prod/server.key -r [...] -a DevHub
sfdx force:org:list
sfdx force:data:soql:query -u ${DEV_HUB} -q "SELECT Id, Name FROM [...tablename...]" -r human

Я совершенно не понимаю, почему это происходит. Опять же, выполнение команды SOQL непосредственно на сервере через PowerShell или командную строку работает должным образом. Буду признателен за любую помощь с этим.

1 ответ

Этот вопрос меня долго ставил в тупик, но мы, наконец, разобрались.

Если вы видите эту ошибку, обязательно проверьте переменные среды вашего компьютера. Я видел ТОННУ других ответов, указывающих на это как на проблему, когда в имени пути установки SFDX были пробелы, как в C:|P:rogram Files\SFDX\bin, но только показывался какой-то странный цикл командной строки FOR, который не имел смысла что так когда-либо.

Что мы сделали, так это полностью удалили все SFDX, убедившись, что ничего из них не осталось на машине, и переустановили в папку, которую мы создали, где не было пробелов в имени пути.

Как только мы это сделали, наша работа заработала, как и предполагалось. Я надеюсь, что это поможет другим, кто сталкивается с той же проблемой.

Другие вопросы по тегам