2015-02-05 5 views
0

저는 오랫동안 Bugzilla를 사용 해왔고 가장 좋아하는 기능 중 하나는 "플래그"라고도 알려진 "요청 시스템"(http://www.bugzilla.org/features/#rs)입니다. 문제는 사용자에게 (?) 표시 될 수 있습니다. 사용자는 요청 (+)을 수락하거나 거부 (-) 할 수 있습니다.Bugzilla의 "Request System": 다른 문제 추적 도구가 가지고 있습니까?

문제 추적 도구를 재평가하고 있는데이 기능이있는 Bugzilla 이외의 다른 것을 찾지 못했습니다.

그래서 궁금 :

  • 합니까 다른 제품은 유사한 기능을 제공합니다?
  • 그렇지 않다면 레이블 또는 사용자 정의 필드 또는 다른 것을 사용하여 그것을 모방하는 방법이 있습니까?

귀하의 충고에 감사드립니다 (참고 : 현재 YouTrack에 기대고 있습니다).


Alex V.는 Bugzilla의 요청 시스템 기능에 대해 더 자세한 정보를 요구했습니다. 예를 들면 다음과 같습니다.

관리 인터페이스에서 임의의 플래그 목록을 만들 수 있습니다.

A sample list of unset flags

다음, 누군가가 플래그를 설정하고 후속을 요청할 수 있습니다 : 문제를 편집 할 때, 그들이 행에 나열되어 있습니다, 여기에 예입니다. (도시하지 않음) 같은 플래그가 여러 번 요청 될 수 있음을

A sample flag requested

참고 : 스크린 샷 (dcherk) [email protected]의 DJiNNInput 플래그를 설정 나를 보여줍니다.

나중에 [email protected]는 어떤 식 으로든 플래그에 관한 법률 접수로 요청을 표시 할 수 있습니다

또는 A sample flag, accepted

[email protected]이 요청을 수락하지 못할 수도를 . 이 경우, 그는 그것을 거부합니다 :

A sample flag, denied

없이

이 모든 변화는 문제의 역사를 추적하고 검색 할 수 있으며,에보고, 말을.

답변

0

:

만든이 개 user[*] 필드 :

이것은 우리가 YouTrack에서하고 결국 무엇

  • 입력 요청 (즉, 사람 요청 입력)
  • 가 입력 요청 (즉, 입력이 필요한 사용자)

사용자가 항상 수동으로 필드를 설정할 수 있지만, 우리는 또한 최대 것들 속도를 다음 워크 플로 규칙 추가 :

규칙 1을, 두 분야에 대한 변경 관련 :

rule Input Requested 

when Input Requested.changed { 
    if (Input Requested.isEmpty) { 
    Input Requesting.clear; 
    } else { 
    Input Requesting.add(loggedInUser); 
    } 
} 

규칙 2를, 해결 된 문제는 더 이상 입력이 필요하지 않습니다 :

rule Clear Input Requests When Issue Becomes Closed 

when State.becomes({Closed}) { 
    Input Requested.clear; 
    Input Requesting.clear; 
} 

규칙 3, @mentioning이 필드를 설정; 답장하면 입력란이 삭제됩니다.

rule Input Requested via @mention 

when comments.added.isNotEmpty { 
    var separators = " `!#%^&*()=[]{}:;'\"\\|,<>/?\n\r\t"; 
    var mentionedUsers = ""; 

    var myComment = comments.added.first; 
    var originalText = myComment.text; 
    var text = " " + originalText.lowerCase + " "; 

    var username = ""; 
    var user = loggedInUser; 
    var index = -1; 

    index = text.indexOf("@", opts); 

    while (index != -1) { 
    index = index + 1; 
    username = ""; 

    var nextSymbol = text.substring(index, index + 1); 
    while (!separators.contains(nextSymbol, opts)) { 
     username = username + nextSymbol; 
     index = index + 1; 
     nextSymbol = text.substring(index, index + 1); 
    } 

    if (username.endsWith(".", opts)) { 
     username = username.substringOfLength(username.length - 1, opts); 
    } 

    debug("Extracted @username: |" + username + "|"); 
    if (username.isNotEmpty) { 
     user = project.getUser(username); 

     if (user != null && !mentionedUsers.contains("@" + user.login + ",", ignoreCase) && (user.isInGroup(permittedGroup.name) || permittedGroup == null || user == reporter) && (myComment.permittedGroup == null || user.isInGroup(myComment.permittedGroup.name))) { 

     if (Input Requesting.contains(user)) { 
      Input Requested.remove(loggedInUser); 
      if (Input Requested.isEmpty) { 
      Input Requesting.clear; 
      } 
     } else { 
      Input Requested.add(user); 
      Input Requesting.add(loggedInUser); 
     } 

     mentionedUsers = mentionedUsers + "@" + user.login + ","; 
     } 
    } 

    text = text.substringRelative("@" + username, pos: after); 
    index = text.indexOf("@", opts); 
    } 
} 

희망찬 사람이 도움이됩니다.

0

YouTrack에는 이러한 기능이 없습니다. 그러나 할 수있는 일은 마치 사용자가 직접 해본 것처럼 사용자에게 문제에 별표를 붙일 수있는 것입니다. 그런 다음 알림을 받거나 별표를 남기거나 제거 할 수 있습니다. Bugzilla에서 이러한 플래그가 어떻게 작동하는지 정확히 모르기 때문에 해당 기능을 완전히 대체하지는 못했습니다. 원하는 행동에 대해 자세히 설명해 주시면, 가능하면 그것을 완전히 모방하는 방법을 알려 드리겠습니다.참고로

+0

예를 들어 질문을 업데이트했습니다. 위 참조. –

+0

좋아,이 모든 것들을 올바르게 얻은 경우 YouTrack에서 다음 플래그를 모방 할 수 있습니다. (나는 깃발이 하나 있다고 가정 할 것이고, 많은 경우에 각 단계마다 단계를 반복해야 할 수도 있지만 이는 프로세스에 달려있다.) * 사용자 입력 필드를 프로젝트에 추가하십시오. 필드는 플래그가 할당 된 사용자를 나타냅니다. * State 유형의 필드를 추가하십시오. 플래그의 상태 (초기/허용/거부)를 포함합니다. * 첫 번째 필드의 사용자 만 두 번째 필드를 수정할 수있는 워크 플로를 추가하십시오. –

+0

좋은 생각입니다. 나는 우리 샌드 박스에서 그것을 시도 할 것이다. –