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.