如何在插件代码中使用可执行文件(在 Bamboo 中定义为 Capability)

How to use the Executable (defined as Capability in Bamboo) in the plugin code

来自 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));

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

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

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

RobotFrameworkTest.robotExecutable指向"robot"

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

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

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

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");