Search code examples
groovyjenkinsjenkins-pluginsjelly

Access tied files through groovy in jenkins


I'm building a Jenkins plugin, and am handling the UI components using Groovy. In jelly, you can use "${it.something}" to access information in the java file tied to the jelly file, as shown here:

class:

public String getMyString() {
    return "Hello Jenkins!";
}

jelly:

<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout"
         xmlns:t="/lib/hudson" xmlns:f="/lib/form">

    ${it.myString}
</j:jelly>

from https://wiki.jenkins-ci.org/display/JENKINS/Basic+guide+to+Jelly+usage+in+Jenkins.

I'd like to do the same thing in groovy, but can't seem to find an example of how it's done. Any examples?


Solution

  • After even more searching and some luck, I found the correct way to do this. If I was to use the class in my question but wanted to use groovy instead of jelly, the groovy code would look like this (this puts the string in the textbox):

    package something.something;
    
    import lib.JenkinsTagLib
    import lib.FormTagLib
    
    def f = namespace(lib.FormTagLib)
    t=namespace(JenkinsTagLib.class)
    
    
    f.entry(title:"text", field:"text") {
        f.textbox(value:instance?.text)
    }