Skip to content

Global objects

Alexey Belostotskiy edited this page Dec 27, 2019 · 1 revision

Global object interdependencies

Since 1.21.0

Let's say you have a global object like this:

package ru.mail.jira.scripts.go

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.ApplicationUser

public class GlobalObject {
    ApplicationUser getAdmin() {
        return ComponentAccessor.userManager.getUserByName('admin')
    }
}

Then you can inject it in other global object like this:

package ru.mail.jira.scripts.go

import ru.mail.jira.plugins.groovy.api.script.GlobalObjectModule
import ru.mail.jira.scripts.go.GlobalObject

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.ApplicationUser

public class GlobalObjectWithDependency {
    private final GlobalObject injectedGo;

    public GlobalObjectWithDependency(@GlobalObjectModule GlobalObject injectedGo) {
        this.injectedGo = injectedGo;
    }

    ApplicationUser getAdmin() {
        return injectedGo.getAdmin()
    }
}
Clone this wiki locally