====== Technical Continous Integration TAST-Jenkins ====== TAST integrates with Jenkins as a part of its Continuous Integration. ===== Overview ===== The objective is to manage the integration between Jenkins and TAST in order to allow the execution of the regression test after each deployment done inside the Pipeline. For enabling the integration between Jenkins and TAST, two main components are going to be provided by TAST: *TAST-CI MicroService API: Allocated in the TAST server will make possible to publish the methods for executing and providing results to Jenkins. *TAST-CI.jar: Executable to be run for calling the TAST execution. ===== General Architecture View ===== The following picture shows the general architecture view for enabling the solution of continuous integration between Jenkins and TAST. {{:en:jenkins.png?2600|}}\\ \\ ===== API Call ===== The TAST-CI MicroService API allows to order the execution of an Application in order to run the regression tests after a deployment. An Application is a group of Test Sets that have been packed for a specific Environment. The API call is built as follows: * **Call Type**: GET * **EndPoint**: https://app.cloud1.testautomationsystemtool.com/clientJenkins/executeRemoteCITest * **Parameters**: * **application**: name of the Application as defined in TAST * **environment**: Environment linked to the Application as defined in TAST * **urlPositive**: url for Positive result * **urlNegative**: url for Negative result Example: * **application**: test_application * **environment**: CERT_environment * **urlPositive**: http://localhost:8080/tast/client/getGreeting * **urlNegative**: http://localhost:8080/tast/client/getGreetingKO * **Final call**: https://app.cloud1.testautomationsystemtool.com/clientJenkins/executeRemoteCITest?application=test_application&environment=CERT_enviroment&urlPositive=http://localhost:8080/tast/client/getGreeting&urlNegative=http://localhost:8080/tast/client/getGreetingKO **IMPORTANT**: * Please note that urlPositive and urlNegative are not fixed url's, they will be provided by the responsible of the deployment. * application/environment can exist only once in the DDBB. * The mentioned Endpoint belongs to TAST2 installation; to obtain the endpoint of other environments please refer to your local support. ===== Pipeline Integration / Defining the Infrastructure ===== In order to implement regression testing in the continuous integration, [[en:infrastructure|Infrastructure]] allows you to define Pools that contain the Applications that must be tested; these applications are defined via aggregating the TestSets that must be run. You can also decide there the Host Lab that will be used for the execution. You can have a full explanation on how to use it [[en:infrastructure|here]].