如何使用 Java Api 在 Bamboo 中获取当前分支名称

How to get current branch name in Bamboo using Java Api

我使用以下方法创建了项目:

atlas-create-bamboo-plugin

我需要使用 Java Api 获取当前分支名称。 我需要这样的东西:

@Override
    public TaskResult execute(final TaskContext taskContext) throws TaskException {
        final BuildLogger buildLogger = taskContext.getBuildLogger();
        buildLogger.addBuildLogEntry("BranchName: " + /*Some magic*/);

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

您可以将变量上下文注入到您的任务中,并访问必须构建和部署的变量。如果您熟悉 Spring.

,它的工作方式类似于 Spring bean 注入
@Scanned
public class YourTask implements CommonTaskType {

    private final CustomVariableContext customVariableContext;

    public YourTask(@ComponentImport CustomVariableContext customVariableContext) {
        this.customVariableContext = customVariableContext;
    }

    @Override
    public TaskResult execute(@NotNull CommonTaskContext taskContext) throws TaskException {
        final TaskResultBuilder taskResultBuilder = TaskResultBuilder.newBuilder(taskContext);
        final BuildLogger buildLogger = taskContext.getBuildLogger();

        Map<String, String> buildVariables = customVariableContext.getVariables(taskContext.getCommonContext());

        // get branch name from build variables
        String branchName = buildVariables.get("planRepository.branchName");

        // log all build variables to console
        buildVariables.forEach((key, value) -> buildLogger.addBuildLogEntry(key + ": " + value));

        return taskResultBuilder.success().build();
    }
}