2013-08-26 3 views
1

현재 Workflow post 기능의 JIRA 플러그인을 개발 중입니다.JIRA 플러그인 개발 - 경고/통지 표시

이것은 vm 파일 (속도 템플릿)을 사용하지 않는다는 의미입니다.

나는 AbstractJiraFunctionProvider를 확장하는 java 클래스가 있습니다. 기본적으로 SOAP를 사용하여 (비동기로) 웹 서비스를 호출하여 원격 시스템을 JIRA 문제의 상태로 업데이트합니다.

특정 JIRA 상태 전환이 수행 될 때 모든 작업이 실행되도록 설정되었습니다. 내가하려는 것은 웹 서비스가 성공적으로 호출되었는지 여부를 사용자에게 알리는 메시지를 표시하는 것입니다. 팝업 메시지를 일부 텍스트와 함께 표시하려면 어떻게합니까? 에 JOptionPane.showMessageDialog(null,"Text","Text 2")을 사용해 보았습니다. 그러나 이것은 AbstractJiraFunctionProvider를 확장하는 플러그인 Java 클래스에서 아무 것도하지 않는 것 같습니다. 시도해 볼만한 생각이나 아이디어가 있습니까?

답변

1

나는 a similar question을 가졌지 만 지금까지는 만족스러운 대답을 얻지 못했습니다. 내 추가 연구를 통해 나는 모든 것을 로그 파일에 기록하고 jira 관리자가 처리하도록 다른 방향으로 이끌었다. 그러나이 목적으로 사용할 수있는 다른 워크 플로 플러그인 모듈을 사용해 볼 수 있습니다 (a validator module). 해당 코드는 사용자가 전환 대화 상자를 제출 한 직후에 트리거되지만 전환이 승인되기 전에 (대화 상자의 모든 입력 매개 변수가 현재 전환에 유효한지 여부를 확인하는 데 사용됩니다). 따라서 유효성 검사기를 사용하여 서비스가 작동 중인지 확인하고 그렇지 않은 경우 예외를 throw하는 접근 방식을 취할 수 있습니다. 물론이 방법을 사용하면 원격 서비스를 사용할 수없는 경우 JIRA의 일반적인 워크 플로우를 막을 수 있습니다.

웹 솔루션 모듈을 추가하여 JIRA View 액션을 확장하는 또 다른 해결책이 있습니다. 당신의 ExtendedViewIssue (위 참조) 오버라이드 (override), 그리고 클래스 ViewIssue

<webwork1 key="view-issue" name="View issue with warnings" class="java.lang.Object"> 
    <description>View issue with warnings</description> 
    <actions> 
     <action name="com.my.jira.plugin.blah.blah.ExtendedViewIssue" alias="ViewIssue"> 
      <view name="success">/secure/views/issue/extended-viewissue.jsp</view> 
      <view name="issuenotfound">/secure/views/issuenotfound.jsp</view> 
      <view name="permissionviolation">/secure/views/permissionviolation.jsp</view> 
      <command name="moveIssueLink" alias="MoveIssueLink"> 
       <view name="error">/secure/views/issue/viewissue.jsp</view> 
      </command> 
     </action> 
    </actions> 
</webwork1> 

및 서비스가 가능하고 있는지 확인하는 공용 메소드를 추가 : 먼저, 골드 피처-의 plugin.xml 파일에 새로운 WebWork와 모듈을 추가 방법은 문제를 표시하는 JSP 페이지에서 호출됩니다

public boolean isServiceAvailable() { 
    // TODO your code that checks if the service is available 
    return false; 
} 

파일을 편집 확장 된 viewissue.jsp과 조건이 만족 될 경우 경고를 포함 사업부를 추가합니다.

<ww:if test="/isServiceAvailable() == false"> 
    <div class="aui-message warning"> 
     <span class="aui-icon icon-warning">The service is not available!</span> 
    </div> 
</ww:if> 

제대로하는 경우는 다음과 같아야합니다 screenshot

각 JIRA 업그레이드 한 후 다시 JSP 파일을 편집해야합니다 것을 명심하십시오, 당신이 도입 된 변경 사항이 손실 될 수 있기 때문에 업그레이드 중.

+0

멋진 아이디어와 의견을 보내 주셔서 감사합니다. 나는 아마도 당신이 제안한대로 몇 가지 대안을 시도해야 할 것입니다. – joecop