Development and Pipeline - Group home

Using Automated Tools To Configure DTSP Profiles

  
The latest version 14.2, of the IBM z/OS Debugger introduces a new way to interact with your DTSP profiles. You can now use REST API calls to create, retrieve, update, and delete DTSP profiles.

This article aims to outline how you can now automate the creation of a DTSP profile, and using an automated framework such as Jenkins, integrate the automation of profile configurations inside your own CI/CD pipelines.

 

The above diagram shows a possible end-to-end scenario that could be developed to drive automation with the use of the IBM Debug Profile APIs.

*For a full list of API Documentation, please visit:
https://www.ibm.com/support/knowledgecenter/en/SSQ2R2_14.2.0/com.ibm.debug.profile.api.doc/index.html*

Let's take a look at the key scenarios that would be needed in automating the creation of DTSP profiles for a complete CI/CD pipeline.

1. (Profile Creation) Start by issuing a cURL call to create a new DTSP profile:

The data required can be found in createProfile.json.





curl -u ypatel -X POST "http://testServer.ibm.com:9985/api/v1/profile/ds/ypatel" -d @createProfile.json -H "Content-type: application/json"






2. (Profile Modification) We can also issue a cURL call to update the current DTSP profile:

This time, we will edit the parameters in-line within the cURL call.



curl -u ypatel -X PUT "http://testServer:9985/api/v1/profile/ds/ypatel" -d '{"sesstype": "TCP", "sessaddr": "9.108.124.256"}' -H "Content-type: application/json"




Now that we have a DTSP Profile set up and edited, we can create a commands file to configure debug for launch and execution.
Here we assume we have a commands file with the required configurations (The screenshot below is an example of how a commands file should look):





We could pass the information inside the commands file into a launch JCL. By connecting to the server through ssh/USS, we can simply execute the launch JCL to launch the debug session.






3. (Profile Cleanup) Next, issue a cURL call to delete the DTSP profile. This phase can be implemented as part of the "clean-up" phase of your automation pipeline. 

curl -u ypatel -X DELETE "http://testServer.ibm.com:9985/api/v1/profile/ds/ypatel"




This post outlines one potential usage of creating profiles through the new DTSP API's for integration into CI/CD pipelines. It is up to the user to ultimately determine the best approach for their needs.