How to access Bamboo Variables

I’m writing a plugin for bamboo I want to know how to access bamboo variables using a Java program can anyone tell me a method Thank you all

This works for me:

package myfirstplugin;

import com.atlassian.bamboo.build.logger.BuildLogger;
import com.atlassian.bamboo.v2.build.BuildContext;
import com.atlassian.bamboo.plan.PlanResultKey;
import com.atlassian.bamboo.task.TaskContext;
import com.atlassian.bamboo.task.TaskException;
import com.atlassian.bamboo.task.TaskResult;
import com.atlassian.bamboo.task.TaskResultBuilder;
import com.atlassian.bamboo.task.TaskType;
import java.lang.String;
import java.util.Map;
import com.atlassian.bamboo.variable.VariableDefinitionContext;
import com.atlassian.bamboo.variable.VariableContext;

public class MyTask implements TaskType
{
    @Override
    public TaskResult execute(final TaskContext taskContext) throws TaskException
    {
        final BuildContext buildContext = taskContext.getBuildContext();
        final BuildLogger buildLogger = taskContext.getBuildLogger();
        VariableContext variables = buildContext.getVariableContext();
        Map<String,VariableDefinitionContext> my_vars = variables.getEffectiveVariables();

        for (String key: my_vars.keySet())
        {
            VariableDefinitionContext vdc = my_vars.get(key);
            buildLogger.addBuildLogEntry("KEY " + key);
            buildLogger.addBuildLogEntry("GETKEY " + vdc.getKey());
            buildLogger.addBuildLogEntry("GETVALUE " + vdc.getValue());
        }

        if (my_vars.containsKey("this_is_a_variable")) 
        {
            VariableDefinitionContext variable = variables.getEffectiveVariables().get("this_is_a_variable");
            String newTag = variable.getValue();
            buildLogger.addBuildLogEntry("newTag : "  + newTag);
        } 


        return TaskResultBuilder.newBuilder(taskContext).success().build();
    }
}
1 Like