Forum Discussion

rj3000's avatar
New Contributor
3 months ago

MyFirstPlugin - button Project menu in Ready Api

hello, I'm trying to create my first plugin for ReadyApi. I would like to add a button in the Project menu, only when a project is open.  I've got the template Smartbear provided (
  • rj3000's avatar
    3 months ago

    sorry for the late reaction. I found another way to create an plugin. Instead of using java i used groovy.

    i start using the template: Smartbears template

    and added my own UpdateFunctionLibrary.groovy to it:

    package com.smartbear.ready.plugin.template.actions;
    import com.eviware.soapui.impl.wsdl.WsdlProject;
    import com.eviware.soapui.impl.wsdl.WsdlProjectPro;
    import com.eviware.soapui.plugins.ActionConfiguration;
    import com.smartbear.ready.functional.actions.FunctionalActionGroups;
    import com.eviware.soapui.SoapUI
    import com.eviware.soapui.SoapUIProSettings
    @ActionConfiguration(actionGroup = FunctionalActionGroups.FUNCTIONAL_MODULE_TOOLBAR_ACTIONS, targetType = WsdlProjectPro.class, isToolbarAction = true, iconPath = "com/smartbear/ready/plugin/template/icons/jira.svg",description = "Update FunctionLibrary")
    public class updateFunctionLibrary extends AbstractSoapUIAction<WsdlProjectPro> {
        // @Inject
        public updateFunctionLibrary() {
            super( "toolbar", "Update FunctionLibrary", "");
        public void perform(WsdlProjectPro project, Object o) {
            if (SoapUI.settings.getString(SoapUIProSettings.SCRIPT_LIBRARY, "") == "") {
            if (! {
                UISupport.showErrorMessage("Project " + project.getName() + " is closed.");
            } else {
                if ( == "fl") {
                    UISupport.showErrorMessage("not possible.");
                }  else { 
                    Boolean functionLibraryExists = false
                        if ( == "functionlibrary") {
                            functionLibraryExists = true
                    if (functionLibraryExists) {
                    else {
                        UISupport.showErrorMessage("Error updateing FunctionLibrary");

    And later build it with maven (mvn install)


    Maybe not the best way to code, but it works for me


    After I installed the plugin as .jar file and restart ReadyApi I get a button. when i click it, it will start the project load script



    ps. i borrow the icon of the Jira plugin