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