1

来自 Atlassian 网站上的示例代码

https://developer.atlassian.com/server/bamboo/executing-external-processes-using-processservice/

ExternalProcess process = ProcessService.createExternalProcess(taskContext, new ExternalProcessBuilder().*command*(Arrays.asList("**/bin/ls**")). workingDirectory(fileWorkingDir));

我应该使用什么 Bamboo API 来获取“ /home/kshi/.local/bin/robot ”并将其传递给命令()。从 TaskConfiguration 配置映射或 TaskDefinition 获取值没有帮助。

我的 atlassian-plugin.xml 中确实有以下标签

< executable key="**robot**" nameKey="RobotFrameworkTest.robotExecutable"/ >

RobotFrameworkTest.robotExecutable 指向“机器人”

在此处输入图像描述

我想利用竹子中定义的可执行文件。(/home/kshi/.local/bin/root)

从计划的日志中,我可以看到 Bamboo 将机器人命令称为bamboo.capability.system.builder.command.robot,想知道我是否必须在代码中以相同的方式使用它。

4

1 回答 1

1

我在 Atlassian 网站上找到了一个相关链接,提示使用可执行文件的方法。

https://community.atlassian.com/t5/Answers-Developer-Questions/How-to-access-build-variables-from-a-bamboo-task/qaq-p/572570

@ComponentImport private final ProcessService processService;
@ComponentImport private final CapabilityContext capabilityContext;

public RobotTestTaskType(final ProcessService processService, final CapabilityContext capabilityContext)

{ this.processService = processService; this.capabilityContext = capabilityContext; }
String robotExecutable = capabilityContext.getCapabilityValue("system.builder.command.robot");
于 2018-04-23T07:36:48.857 回答