I am using the Jenkins Pipeline plugin to execute an iOS Checkout-Build-Test-Deploy pipeline.
One step involves checking whether an iDevice is actually connected (otherwise the rest of the steps will not be executed).
I want to execute a shell command idevice_id -l
(from libimobiledevice) which will print out the device ID of the connected device, or fail if nothing connected.
So the steps as I envision them, would be:
sh "/usr/local/bin/idevice_id -l"
I have read most of the official docs, but drew a blank. How do I parse the output of the sh
step?
If I am approaching this in the wrong way, any other suggestions are welcome.
As mentionned in this answer, as of version 2.4 of Pipeline: Nodes and Processes you can use:
def out = sh script: '/usr/local/bin/idevice_id -l', returnStdout: true