com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links' is unknown.

Client-side Scripting for Lifecycles

Each lifecycle configuration contains one or more state elements. You can use client-side scripting for the lifecycle state transition event by adding something similar to the following under the datamodel element.

<data name="transitionScripts">
    <!--name - defines that this element contains the set of transition scripts. It is required to be set to 'transitionScripts'-->
        <js forEvent="">
            <!--forEvent - defines the event that this script block will execute-->
            <console function="">
                <!--function - defines the name of the function-->
                <script type="text/javascript">
                    <!--contains the script-->
                </script>
            </console>
            <server function="">
                <script type="text/javascript"></script>
            </server>
        </js>
 </data>

Following is an example of how to make a redirection after a "Promote" is done in the default ServiceLifeCycle.

1. Edit the existing lifecycle by adding the configuration below.

<aspect name="ServiceLifeCycle" class="org.wso2.carbon.governance.registry.extensions.aspects.DefaultLifeCycle">
    <configuration type="literal">
        <lifecycle>
            <scxml xmlns="http://www.w3.org/2005/07/scxml"
                   version="1.0"
                   initialstate="Development">
                <state id="Development">
                    <datamodel>
                        <data name="checkItems">
                            <item name="Code Completed" forEvent="">
                                <!--<permissions>
                                    <permission roles=""/>
                                </permissions>
                                <validations>
                                    <validation forEvent="" class="">
                                        <parameter name="" value=""/>
                                    </validation>
                                </validations>-->
                            </item>
                            <item name="WSDL, Schema Created" forEvent="">
                            </item>
                            <item name="QoS Created" forEvent="">
                            </item>
                        </data>
                        <!--<data name="transitionValidation">
                            <validation forEvent="" class="">
                                <parameter name="" value=""/>
                            </validation>
                        </data>
                        <data name="transitionPermission">
                            <permission forEvent="" roles=""/>
                        </data>-->
                       <data name="transitionScripts">
		                <js forEvent="Promote">
		                    <console function="doPromote">
		                        <script type="text/javascript">
		                              doPromote = function() {
		                                window.location = unescape("../listService/service.jsp?region=region3%26item=governance_list_services_menu");
		                                        }
		                        </script>
		                     </console>
		                  </js>                            
		        </data>                   
                    </datamodel>
                    <transition event="Promote" target="Tested"/>                  
                </state>
                <state id="Tested">
                    <datamodel>
                        <data name="checkItems">
                            <item name="Effective Inspection Completed" forEvent="">
                            </item>
                            <item name="Test Cases Passed" forEvent="">
                            </item>
                            <item name="Smoke Test Passed" forEvent="">
                            </item>
                        </data>
                    </datamodel>
                    <transition event="Promote" target="Production"/>
                    <transition event="Demote" target="Development"/>
                </state>
                <state id="Production">  
                    <transition event="Demote" target="Tested"/>
                </state>                
            </scxml>
        </lifecycle>
    </configuration>
</aspect>

2. After saving this configuration (see Adding Lifecycles), add the ServiceLifeCycle to a Service (or any other resource/collection). See Managing Lifecycle.

3. Select all the check-boxes, and click on the "Promote" button. See Managing Lifecycle.

You will be redirected to the Service list. You can add any valid executable JavaScript to perform the task you require.

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.