2012-04-26 4 views
0

이제 팀 CITY에 알리는 간단한 팀 도시 알림이 생성되었습니다. TeamCity에서 빌드가 실행될 때마다 알리미가 실행되지 않습니다. 나는 내가 무엇을 놓치고 있는지 확신하지 못한다. 여기 내가 지금까지 가지고있는 것이있다. MyLogger 클래스는 C 드라이브에 로그를 생성하는 간단한 java.util.logging.Logger 객체를 가져옵니다. 여기 TeamCity Custom Notifier가 실행되지 않습니다.

import java.util.Collection; 
import java.util.Set; 
import java.util.logging.Logger; 

import jetbrains.buildServer.Build; 
import jetbrains.buildServer.notification.Notificator; 
import jetbrains.buildServer.notification.NotificatorRegistry; 
import jetbrains.buildServer.responsibility.ResponsibilityEntry; 
import jetbrains.buildServer.responsibility.TestNameResponsibilityEntry; 
import jetbrains.buildServer.serverSide.SBuildType; 
import jetbrains.buildServer.serverSide.SProject; 
import jetbrains.buildServer.serverSide.SRunningBuild; 
import jetbrains.buildServer.serverSide.STest; 
import jetbrains.buildServer.serverSide.mute.MuteInfo; 
import jetbrains.buildServer.tests.TestName; 
import jetbrains.buildServer.users.SUser; 
import jetbrains.buildServer.vcs.VcsRoot; 

public class TestNotificator implements Notificator { 

    private Logger log; 

    public TestNotificator(NotificatorRegistry nR) { 
     log = MyLogger.getLogger(); 
     log.info("Registering the Notificator"); 
     nR.register(this); 
    } 

    public void doNotifications(SRunningBuild arg0) { 
     log.info("Do Notifications has been called"); 
    } 

    @Override 
    public String getDisplayName() { 
     return "Test Notificator"; 
    } 

    @Override 
    public String getNotificatorType() { 
     return "testNotificator"; 
    } 

    @Override 
    public void notifyBuildFailed(SRunningBuild arg0, Set<SUser> arg1) { 
     log.info("Build has failed"); 
     doNotifications(arg0); 

    } 

    @Override 
    public void notifyBuildFailedToStart(SRunningBuild arg0, Set<SUser> arg1) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyBuildFailing(SRunningBuild arg0, Set<SUser> arg1) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyBuildProbablyHanging(SRunningBuild arg0, Set<SUser> arg1) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyBuildStarted(SRunningBuild arg0, Set<SUser> arg1) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyBuildSuccessful(SRunningBuild arg0, Set<SUser> arg1) { 
     log.info("Build was Successfull"); 
     doNotifications(arg0); 
    } 

    @Override 
    public void notifyLabelingFailed(Build arg0, VcsRoot arg1, Throwable arg2, 
      Set<SUser> arg3) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyResponsibleAssigned(SBuildType arg0, Set<SUser> arg1) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyResponsibleAssigned(TestNameResponsibilityEntry arg0, 
      TestNameResponsibilityEntry arg1, SProject arg2, Set<SUser> arg3) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyResponsibleAssigned(Collection<TestName> arg0, 
      ResponsibilityEntry arg1, SProject arg2, Set<SUser> arg3) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyResponsibleChanged(SBuildType arg0, Set<SUser> arg1) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyResponsibleChanged(TestNameResponsibilityEntry arg0, 
      TestNameResponsibilityEntry arg1, SProject arg2, Set<SUser> arg3) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyResponsibleChanged(Collection<TestName> arg0, 
      ResponsibilityEntry arg1, SProject arg2, Set<SUser> arg3) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyTestsMuted(Collection<STest> arg0, MuteInfo arg1, 
      Set<SUser> arg2) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void notifyTestsUnmuted(Collection<STest> arg0, MuteInfo arg1, 
      SUser arg2, Set<SUser> arg3) { 
     // TODO Auto-generated method stub 

    } 

} 

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 

<beans default-autowire="constructor"> 
    <bean id="testNotifier" class="com.testnot.TestNotificator"/> 
</beans> 

I 클래스를 패키지 및 빌드 서버 plugin.xml에 함께 빌드 서버의 plugin.xml입니다 : 여기

는 Notificator 인터페이스의 내 구현 같은 항아리에. jar에는 com.testnot과 META-INF라는 두 개의 디렉토리가 있습니다. 어쩌면 내가 제대로 포장하지 않을거야. 나는 내가 뭘 잘못하고 있는지 완전히 모릅니다. 무엇이든 돕는 것은 중대하게 평가 될 것입니다. 내가 찾은 예제를 사용했습니다 here.

+0

룰러, 뷸러, 누구, 누구 ...? 롤. =) –

답변

1

결국 로그를 찾은 후에 Java 6으로 플러그인을 컴파일해야하며 Java 7과 호환되지 않음을 발견했습니다.이 변경 후 이제 플러그인이 실행 중입니다.

관련 문제