저는 Java 개발자가 아닙니다. 그러나 나는 그렇게 열심히해서는 안된다 고 예상했다. postbrowser 서버에 대한 특정 플러그인을 넣으려고합니다.이 플러그인은 postReceive를 트리거하고 특정 태그를 확인한 다음 기본 동작 (REST를 통해 커밋 된 파일의 내용 게시)을 수행합니다. 아래의 간단한 코드 예제는 작동하지 않습니다. 나는 아틀라스 디버그를 실행하면RefService를 통해 저장소 태그를 얻는 방법
public class ReleaseNotesHook implements AsyncPostReceiveRepositoryHook, RepositorySettingsValidator
{
private static final PageRequestImpl PAGE_REQUEST = new PageRequestImpl(0, 100);
private RefService refService;
public ReleaseNotesHook(RefService refService){
this.refService = refService;
}
public void postReceive(RepositoryHookContext context, Collection<RefChange> refChanges)
{
String url = context.getSettings().getString("url");
for (RefChange refCh : refChanges) {
boolean isAdd = (refCh.getType() == RefChangeType.ADD);
boolean isTag = (refCh.getRef().getId().contains("tags"));
if (isAdd && isTag) {
Repository repo = context.getRepository();
RepositoryTagsRequest tagRequest = new RepositoryTagsRequest.Builder(repo).build();
Page<Tag> tags = refService.getTags(tagRequest, PAGE_REQUEST);
performSomething(tags);
}
}
}
} //class
는 프로젝트 벌금을 구축하고의 Bitbucket 서버를 시작하지만, 오류와 후크를 연결하는 데 실패 :
[정보] [talledLocalContainer] org.springframework.beans.factory.UnsatisfiedDependencyException : 이름이 'com.atlassian.bitbucket.plugin.releasenotes.hook.ReleaseNotesHook'인 bean을 생성하는 중 오류 발생 : [com.atlassian.bitbucket.repository.RefService] 유형의 색인 0으로 생성자 인수를 통해 표현 된 충족되지 않은 종속성 : : [com.atlassian.bitbucket.repository.RefService] 유형이 dependency를 찾았습니다 :이 종속성에 대한 autowire 후보로 적합한 적어도 하나의 bean이 필요합니다. 종속성 주석 : {}; 중첩 예외는 org.springframework.beans.factory.NoSuchBeanDefinitionException : [com.atlassian.bitbucket.repository.RefService] 유형의 적격 빈이 발견되지 않았습니다. 종속성에 대해 발견되었습니다.이 종속성에 대한 자동 전조 후보로 적합한 적어도 하나의 bean이 필요합니다. 종속성 주석 : {}이 플러그인에 대한
내 주요 자원은 다음과 같습니다 편집 할 필요 XML 파일이
- https://developer.atlassian.com/blog/2015/01/beer-o-clock-stash-plugin-tutorial/
- https://developer.atlassian.com/static/javadoc/bitbucket-server/4.6.2/api/reference/com/atlassian/bitbucket/repository
- https://bitbucket.org/atlassian/stash-example-hook-protect-ref/commits/a38e6118b0b1ac1b9b73959e32325271d3d3937a?at=update-example-for-bitbucket-rebrand#chg-src/main/java/com/atlassian/bitbucket/server/repository/hook/ref/RefValidator.java