<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Answers to: Java Api for Start Process Signature variables</title><link>https://answers.axonivy.com/questions/3984/java-api-for-start-process-signature-variables</link><description>&lt;p&gt;Hello IvyTeam,&lt;/p&gt;
&lt;p&gt;Is there a way to get the list of parameters which are defined in the Signature of a process start element ?
*I need this information before starting the process instance.&lt;/p&gt;
&lt;p&gt;I checked the public API but such information is not available.
So, I assume there is an Internal API that I can use ?
Can you provide some code snipet? &lt;/p&gt;
&lt;p&gt;Best Regards,
Yordan&lt;/p&gt;</description><atom:link href="https://answers.axonivy.com/questions/3984/java-api-for-start-process-signature-variables" rel="self"></atom:link><language>en</language><lastBuildDate>Tue, 17 Sep 2019 10:18:30 -0400</lastBuildDate><item><title>Answer by Reguel Wermelinger</title><link>https://answers.axonivy.com/questions/3984/java-api-for-start-process-signature-variables/3987</link><description>&lt;p&gt;Yes there is indeed internal API to do this. The following example shows how to read process (IProcess) from a project and use the process model API to play with instances of RequestStart. &lt;/p&gt;
&lt;p&gt;&lt;img alt="alt text" src="https://answers.axonivy.com/upfiles/exampleOutput.png"&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;package com.axonivy.demo;

import java.util.List;
import java.util.Set;

import ch.ivyteam.ivy.environment.EnvironmentNotAvailableException;
import ch.ivyteam.ivy.environment.Ivy;
import ch.ivyteam.ivy.persistence.PersistencyException;
import ch.ivyteam.ivy.process.IProcess;
import ch.ivyteam.ivy.process.model.element.event.start.RequestStart;
import ch.ivyteam.ivy.resource.datamodel.ResourceDataModelException;

public class Startables {

    public static void logStarts() throws Exception
    {
        Set&amp;lt;IProcess&amp;gt; allProcessInMyProject = Ivy.request().getProject().getProcesses(null);
        for(IProcess proc : allProcessInMyProject)
        {
            List&amp;lt;RequestStart&amp;gt; starts = proc.getModel().search().type(RequestStart.class)
                .and(start -&amp;gt; start.isStartByHttpRequestAllowed())
                .findDeep();
            starts.stream().forEach(Startables::log);
        }
    }

    private static void log(RequestStart start)
    {
        Ivy.log().info(start.getRequestPath().getLinkName()+" /signature="+start.getSignature().toSignatureString());
    }
}
&lt;/code&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Reguel Wermelinger</dc:creator><pubDate>Tue, 17 Sep 2019 10:18:30 -0400</pubDate><guid>https://answers.axonivy.com/questions/3984/java-api-for-start-process-signature-variables/3987</guid></item></channel></rss>