4

다음은 https://developer.atlassian.com/bamboodev/bamboo-tasks-api/executing-external-processes-using-processservice입니다. ProcessService bean을 사용하여 몇 가지 명령을 호출하고 싶습니다. 링크에 설명 된 주사가 작동하지 않습니다. Bitbucket에서 여러 다른 플러그인 소스를 확인했지만 각 플러그인은 링크에 설명 된 개념을 사용하고 있습니다.Bamboo ProcessService bean이 존재하지 않습니까?

내 클래스 :

import com.atlassian.bamboo.process.ProcessService; 

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

그러나 대나무는 ProcessService 빈을 찾아 다음과 같이 실패하지 않습니다

(org.springframework.beans.factory.UnsatisfiedDependencyException : 오류 이름으로 빈을 생성 'bamboo.tasks.CheckTask': 불만족 [com.atlassian.bamboo.process.ProcessService] : 0의 인덱스 0을 사용하여 생성자 인수를 통해 종속성이 표현됨 : :의 유효한 Bean 없음유형 [com.atlassian.bamboo.process.ProcessService]가 종속성에 대해 발견되었습니다.이 종속성에 대해 autowire 후보가 될 것으로 예상되는 최소 1 개의 bean이 필요합니다. 종속성 주석 : {}; 이것 자동으로 묶어 후보 자격 예상 적어도 1 빈 : 종속성 검색 결과 형 [com.atlassian.bamboo.process.ProcessService] 아니오 적격 콩 : 중첩 예외이다 org.springframework.beans.factory.NoSuchBeanDefinitionException 의존. 종속성 주석 : {})

누락 된 항목이 있습니까? 대나무 버전 : 5.13.0 AMPS 버전 : 당신의 골드 피처-plugin.xml에 다음 줄에 추가 6.2.6

답변

2

솔루션에 도움해야 끝은 아주 간단했다, 아무 공상적인 docs도 해결책을 토론한다. 희망이 당신에게 조금 도움이됩니다. 이 게시물에 대한

마지막 덕분에 나는 일을했다 : 아틀라스 만들-대나무 플러그인에 의해 생성 된 https://answers.atlassian.com/questions/33141765/testcollationservice-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; 
    } 

프로젝트의 나머지는 basicaly 기본이었다.

+0

@Autowired는 의도적으로 생략되었습니다. 그럴 필요 없어. 다른 대답에 따라 내 의견을 정당화하십시오. – Kousalik

1

봅니다

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

당신에게

+1

도움 주셔서 감사합니다. 불행하게도 플러그인 빌드가 실패합니다. atlassian-plugin.xml에는 구성 요소 가져 오기 정의가 포함되어 있습니다. Atlassian-Plugin-Key가 설정되어 있으면 허용되지 않습니다. Atlassian-Plugin-Key 부분은 atlas-create-bamboo-plugin에 의해 생성되었습니다. – Kousalik

+1

Atlassian은 최근 구성 요소 가져 오기 방법을 업데이트했습니다. 그래서 component-impot은 낡은 방법이지만, 스프링 스캐너 (http://www.j-tricks.com/tutorials/atlassian-spring-scanner-and-nosuchbeandefinitionexception)를 통해 새로운 방법이 있습니다. 이것은 유감스럽게도 작동하지 않습니다. 잘. pom.xml에서 Atlassian-Plugin-Key에 관한 항목을 찾아 제거하거나 컴포넌트 가져 오기의 새로운 방법에 대한 링크에 대한 문서를 참조하십시오. – Solorad

+0

감사합니다. 오류가 발생한 후 2 개의 링크가 있습니다. 나는 방금 독서 중이다. 내가 뭔가를 알아 내면 돌아올거야. – Kousalik

관련 문제