Pipeline Integration
You can integrate the execution of msg.ZenTestAI into your CI/CD pipeline. This allows you to automatically test your application after each deployment. You can directly execute Execution Plans via API via the REST interface.
Please see below bash script example to execute an Execution Plan via API. You can get the execution plan id from the URL when opening the plan in the browser.
tip
Currently there are no native plugins for CI/CD tools like Jenkins, GitLab, or GitHub Actions. However, you can use the REST API to integrate msg.ZenTestAI into your CI/CD pipeline. Native tools are planned for the future. If you have a specific request, please contact us via hello@zentest.ai
sudo apt-get install -y jq
# grab an access token from your relevant identity provider
# create a new run with test-set id: 1
response_start=$(curl -s -X POST https://zentest.ai/product/FLEXAPP/test-sets/1/run-test-set \
-H "Authorization: Bearer $access_token" )
# grab the test execution id based on the response
test_id=$(echo $response_start | jq -r '.id')
echo "Test-Execution-run: $test_id (url: https://zentest.ai/executions/display/$test_id )"
status_endpoint="https://zentest.ai/test-executions/execution/$test_id"
# Poll the status endpoint every second
while true; do
status_response=$(curl -s -H "Authorization: Bearer $access_token" $status_endpoint)
status=$(echo $status_response | jq -r '.status')
echo "Current status: $status"
if [ "$status" == "FAILED" ]; then
echo "Test run failed"
echo $status_response
exit 1
elif [ "$status" == "PASSED" ]; then
echo "Test run passed"
break
elif [ "$status" == "CANCELED" ]; then
echo "Test run canceled"
exit 1
elif [ "$status" == "null" ]; then
echo "Test run id unknown"
echo $status_response
exit 1
else
echo "Test is still running"
fi
# Wait for 1 second before checking again
sleep 1
done