如何使用 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();
}
}
我使用以下方法创建了项目:
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();
}
}