It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to get metadata in groovy postfunction?

Hello!

Could please someone explain the method of obtaining metadata values of Project (by its ID, for example).

Need groovy exaple.

Thank you!

3 answers

1 accepted

1 vote
Answer accepted

Based on JM-48 got working mehod:

import com.atlassian.jira.issue.Issue
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.project.Project
import com.atlassian.jira.project.ProjectManager

import org.apache.log4j.Category
def Category log = Category.getInstance("get.metadata.values.from.project")
log.setLevel(org.apache.log4j.Level.DEBUG)

//processing projectpicker
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def cfClient = customFieldManager.getCustomFieldObject("customfield_12700")
def cfClientValue = issue.getCustomFieldValue(cfClient)

def projectManager = ComponentAccessor.getProjectManager()
def projectObject = projectManager.getProjectObjByName(cfClientValue.name)
Issue myIssue = issue
log.debug("HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH")
log.debug("HHH Metadata Value: " + ComponentAccessor.getComponentOfType(myIssue.getClass().getClassLoader().findLoadedClass("com.atlassian.jira.plugin.JiraOsgiContainerManager")).getServiceTracker("com.osoboo.jira.metadata.MetadataService").getService().getMetadataValue(projectObject, "Key"))
log.debug("HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH")

Hi,

if you want the ID you can use the following

import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.project.Project;


//Create the project object
Project project = issue.getProjectObject();
//Create project id
Long pr_id = project.getId();

Hi, Kostas,

thank you for answer. No problems with project ID.

But need to get project's metadata values.

There is add-on "Metadata for JIRA", created by @Andreas Spall. This add-on adds some fields to project.

hmm, i see. No idea about about how you could do that.

You would have to see how that plugin stores additional data. Most likely OSProperty, in which case:

import com.atlassian.core.ofbiz.util.OFBizPropertyUtils

OFBizPropertyUtils.getPropertySet(project.genericValue)

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Marketplace Apps & Integrations

Expose your beautifully crafted Dashboard through the Jira Service Desk Customer Portal

  A picture is worth a thousand words, especially when you're trying to find relationships and understand your data. Here, Dashboards play a vital role in gaining insights from a variety of dat...

365 views 5 4
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you