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

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.

0 vote

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
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published Thursday in Marketplace Apps

Tips on how to choose the best estimation method for your planning

Planning and grooming sessions all come with their own sets of rules. Team members meet to estimate stories or other work items, all according to an agreed-upon process. And with every session comes ...

78 views 0 11
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you