Integration with build tools supports these typical scenarios:
Building a product, testing it, and deploying it are so specific to each development company that any ready-made solution would immediately limit what developers can do. We do not ship ready-made integrations with build tools. We integrate through the REST API.
Popular free build tools: Jenkins, TeamCity.
Example command for publishing a Build (Linux):
curl -X POST -H "Devprom-Auth-Key: 974ccbfadd36dcc44fb8c1ssssbdb6fd" https://localhost/pm/project73/api/v1/builds -d '{"Caption":"","Description":"","BuildRevision":{"Version":""},"State":"inprogress"}'
The same command on Windows:
curl -X POST -H "Devprom-Auth-Key: 974ccbfadssss44fb8c1dda9bdb6fd" https://localhost/pm/project73/api/v1/builds -d "{\"Caption\":\"\",\"Description\":\"\",\"BuildRevision\":{\"Version\":\"\"},\"State\":\"inprogress\"}"
Example command for changing a Build status (Windows):
set /p APP_VERSION=<build\version.txt
set REST_JSON={\"Caption\":\"%APP_VERSION%\",\"State\":\"deployed\",\"Description\":\"https:\/\/localhost\"}
set REST_URL= http://localhost/pm/core/api/v1/builds
build\tools\curl -X POST -H "Devprom-Auth-Key: 49191a9f5773dd8fdaf37304ec1191" %REST_URL% -d "%REST_JSON%"
EXIT /B 0
In the example above, the full product version is stored in advance in the file build\version.txt.
Starting a Build manually from ALM is shown using the Jenkins integration.
Build and automated testing are handled by a job named "alm-deploy-test", which accepts the following parameters:
Create a custom action for the Repository entity named "Build" and add:
Parameters are passed in the Webhook URL (the ones in double curly braces):
The Repository context menu then includes "Build". When you select it, the system asks for the DBMS type and then calls the Webhook on the Jenkins side.
In the "Event log" you can track this custom action after it is invoked.