Hi Divya,
I'd focus on the master installation. I'm not sure which kind of "code" you're interested in. In general, most pieces of deployed PDI logic, Data Models, & Reports are contained in the jackrabbit database (data models are a bit odd, they appear to be stored elsewhere). In any case, everything in the jackrabbit database is just binary goo. The table structure & content is not something you can easily deal with.
In the case of PDI logic, there's not much in the way of API calls to deal with it either. You can export all of the content of the Pentaho repository either via an API call or via the import-export.bat/sh command line tool, but they you'd just have to unzip it and parse the XML to find the pieces of interest.
There are API calls you can use to retrieve data models and reports (I assume they're available on the Community Edition, we've always had Enterprise licenses).
For PDI logic, as far as I'm aware, there are no simple API calls to get the individual jobs and transformations (which is a big hole in the API), but you can dig into the source code for the PDI Client / Spoon (kettle is the name of that portion of the code on GitLab) and call the Java methods directly. It may be simpler just to export everything using, for instance, GET pentaho/api/repo/files/backup and pick it apart.
It's frustrating, because you can list the PDI files:
http://localhost:8080/pentaho/api/repo/files/:public:MyPDILogic/children
But if you try to actually retrieve the XML for a given job or transformation, it doesn't give you back anything:
http://localhost:8080/pentaho/api/repo/files/:public:MyPDILogic:MyMainJob.kjb -- that just gives you an error
There may be a way to do this, but I haven't figured it out. I did ask Pentaho support about this once a long while ago, and they said it wasn't possible. It's probably time to ask again.------------------------------
John Craig
Systems Engineer
Henry Schein Practice Solutions
------------------------------
-------------------------------------------