rj3000
5 months agoNew Contributor
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 (https://github.co...
- 4 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.eviware.soapui.support.UISupport; import com.eviware.soapui.support.action.support.AbstractSoapUIAction; 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", ""); } @Override public void perform(WsdlProjectPro project, Object o) { if (SoapUI.settings.getString(SoapUIProSettings.SCRIPT_LIBRARY, "") == "") { return } if (!project.open) { UISupport.showErrorMessage("Project " + project.getName() + " is closed."); } else { if (project.name.toLowerCase() == "fl") { UISupport.showErrorMessage("not possible."); } else { Boolean functionLibraryExists = false project.testSuiteList.each{ if (it.name.toLowerCase() == "functionlibrary") { functionLibraryExists = true } } if (functionLibraryExists) { project.runAfterLoadScript() UISupport.showInfoMessage("FunctionLibraryupdated"); } 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