5

https://developer.atlassian.com/bamboodev/bamboo-tasks-api/executing-external-processes-using-processservice之后,我想使用 ProcessService bean 调用一些命令。链接中描述的注入不起作用。我在 Bitbucket 检查了其他几个插件的来源,但每个插件都使用链接中描述的概念。

我的课:

import com.atlassian.bamboo.process.ProcessService;

public class CheckTask implements TaskType {
    private final ProcessService processService;
    public CheckTask(@NotNull final ProcessService processService) {
        this.processService = processService;
    }

但是 Bamboo 没有找到 ProcessService bean 并且失败并显示以下内容:

(org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“bamboo.tasks.CheckTask”的bean时出错:通过构造函数参数表示的不满足依赖关系,索引为0,类型为[com.atlassian.bamboo.process.ProcessService]::没有限定为依赖项找到类型为 [com.atlassian.bamboo.process.ProcessService] 的 bean:预计至少有 1 个 bean 有资格作为此依赖项的自动装配候选者。依赖项注释:{};嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException :没有为依赖项找到类型 [com.atlassian.bamboo.process.ProcessService] 的合格 bean:预计至少有 1 个 bean 有资格作为此依赖项的自动装配候选者。依赖项注释:{})

我错过了什么吗?竹版:5.13.0 AMPS版:6.2.6

4

2 回答 2

3

最终的解决方案非常简单,但没有官方文档讨论解决方案。希望这对您有所帮助。

最后感谢这篇文章,我使它工作:https ://answers.atlassian.com/questions/33141765/testcollat​​ionservice-not-injected-into-tasktype-constructor-on-sdk-bamboo

import com.atlassian.bamboo.process.ProcessService;
import com.atlassian.plugin.spring.scanner.annotation.component.Scanned;
import com.atlassian.plugin.spring.scanner.annotation.imports.ComponentImport;

@Scanned
public class CheckTask implements TaskType {

    @ComponentImport
    private final ProcessService processService;

    public CheckTask(@NotNull final ProcessService processService) {
        this.processService = processService;
    }

项目的其余部分基本上是默认的,由 atlas-create-bamboo-plugin 生成。

于 2016-08-16T14:13:54.463 回答
1

尝试在您的atlassian-plugin.xml下一行添加

<component-import key="processService" 
        interface="com.atlassian.bamboo.process.ProcessService"/>

那应该对你有帮助

于 2016-08-16T08:40:04.150 回答