Problem statement:
As soon as a package is deployed, We need to update JDBC adapter connection properties (Hostname, User ID and Password) of all the connections in that package automatically by picking up the connection details based on the instance from a database.
Approach:
Build A flow service which takes package name as input and lists all the JDBC connections under it. Then updates the connection properties of all the connections. Now invoke this service as soon as the deployment is successful.
Roadblock:
Now the question is how to invoke this service as soon as the deployment of the package is successful?
Adding the above service as startup service to the package that is being deployed is not accepted.
Is there a way to capture a successful deployment event with package name that can be captured and used to invoke a flow service?
Why not consider another approach. Create a deployment project and create a variable substitution for it. This can be automated and you can take the values from the DB. Then you perform the deployment, and all the DB connections will have the correct values set by deployer.
Can we use IS Event Manager to capture a successful deployment event then invoke the flow service that can update the connection parameters? Of course the event should give us the name of the package that was successfully deployed.
You should create scripts that would read your DB and create config files for deployer project automator. And then run it.
Deployer project automator is a utility which is documented in the Deployer Guide. It is used to create deployer projects not via GUI but from the command line. The format of the files is also described in the guide. It is also possible to import variable substitutions into a project which is the interesting part for you.