Search code examples
intershop

How to send non-string objects into pipeline with ExecuteApplicationPipeline preparer


I am trying to create a dbmigrate file which will call a ExecuteApplicationPipeline preparer, but one of the mandatory parameters is a ChannelRepository as on screenshot, is there any way to fullfil that parameter through dbmigrate file?

I have also tried leaving out that parameter but it doesn't work.

dbmigrate file and target pipeline


Solution

  • Looking at the source code of ExecuteApplicationPipeline or ExecutePipeline reveals that all parameters need to be of type String. After all you're configuring it via properties file

        protected Domain site;
        protected Application application;
        protected String pipelineName;
        protected String startNodeName;
        protected Hashtable<String, String> pipelineParameters = new Hashtable<>();
    

    You can create a pipeline of your own that translates a domain name (e.g. YOUR_ORG-YOUR_CHANNEL) into a repository and executes the call against ProcessApplication-Create. See for example enter image description here