Thanks for the reply! The thing is, though, that my static methods are not within a class . . . does that make a difference? One other thing: When I try to call createTicket() as jira.createTicket() I get: groovy:000> jira.createTicket() Unknown property: jira
Any other thoughts would be greatly appreciated! On Thu, Apr 7, 2016 at 11:47 AM, Winnebeck, Jason < [email protected]> wrote: > Math is a class, not a package. So if you create a class jira (it really > should at least start with a capital in Groovy, so JIRA or Jira) with > static methods, you can access it like you do with Math. Note in your > example, “import static java.lang.Math.*” actually is allowing you to use > constants like PI without putting Math.PI in front – your import actually > does nothing because you use Math.PI and Math is part of java.lang, which > is a default import. Below you can see a proper way: > > > > package org.matz.utils > > > > class Jira{ > > static void createTicket() {} > > } > > > > And in your script: > > > > import org.matz.utils.* //Now you can reference any class in this package > by its name alone, including Jira > > > > Jira.createTicket() > > > > Jason > > > > *From:* Guy Matz [mailto:[email protected]] > *Sent:* Thursday, April 07, 2016 11:34 AM > *To:* [email protected] > *Subject:* Calling a static method by packagename.method > > > > Hello! I have some static methods defined and am able to access them > after I import, e,.g. > > import static org.matz.utils.jira.* > > > > With that import I can call the methods, e.g. createTicket, but I would > like to be able to call it as *jira*.createTicket, as is possible with > the Math package, e.g. > > > > import static java.lang.Math.* > > println "PI is ${PI} (${Math.PI})" > > > > my method declaration in jira.groovy is (including the namespace): > > package org.matz.jenkins > > > > def static void createTicket(String changelog, String summary, Map config) > { ... } > > > > Does anyone know what I need to do to either my definitions, or import, or > something else to be able to refer to the createTicket method as > jira.createTicket? I would like to be able to do this to avoid name > collisions as well as to be able to make explicit which "class" I'm calling > the method on. > > > > Thanks! > > Guy > > > ------------------------------ > This email message and any attachments are for the sole use of the > intended recipient(s). Any unauthorized review, use, disclosure or > distribution is prohibited. If you are not the intended recipient, please > contact the sender by reply email and destroy all copies of the original > message and any attachments. >
