redmineã§é²æçãã¹ãã¼ã¿ã¹ã«é£åãããå ´åã§ãã親ãã±ããã®ã¹ãã¼ã¿ã¹ã¯å°ãã±ããã®é²æçã«é£åãããæ¹æ³
ãã¾èªåã®ã°ã«ã¼ãã®redmineã®ç®¡çè
ããã£ã¦ããã®ã§ãããé²æçã£ã¦ã¿ããªå¤ãã¦ãããªãã§ããããå
¥ãã¦ããã¦ã人ã«ãã£ã¦é²æçã®èãæ¹ããã©ãã©ã ã£ãããããã§ãã±ããã®ã¹ãã¼ã¿ã¹ã«å¿ãã¦(対å¿ä¸ã¨ããã£ã¼ãããã¯ã¨ã)é²æçãèªåã§å¤ãããããã©ã°ã¤ã³ã¨ããªãããªã¼ã¨æã£ã¦ããã®ã§ãããå®ã¯ãã©ã°ã¤ã³ã§ã¯ãªãããã©ã«ãã®æ©è½ã§å®ç¾ã§ãã¾ã(èªåã¯1æéããããã©ã°ã¤ã³ããªããã°ã°ã£ã¦ãã¾ããâ¦)ã以ä¸ã¯å°ãå¤ãè¨äºã§ãããredmine2.5ã§ãåæ§ã®è¨å®ãå¯è½ã§ãã
小技(0.9): チケットのステータスで進捗率を更新する | Redmine.JP Blog
ãã±ããã®é²æçãã¹ãã¼ã¿ã¹ã«é£åãããå ´åã®å¼å®³
ãã ãé²æçãã¹ãã¼ã¿ã¹é£åã«ãããå ´åã¯ãé常å°ãã±ããå ¨ä½ã®é²æçã«é£åãã¦èªåã§è¨ç®ããã親ãã±ããã®é²æçãã親ãã±ããèªä½ã®ã¹ãã¼ã¿ã¹ã«é£åãã¦è¨å®ããã¦ãã¾ãã¾ãã以ä¸ã®å°ãã±ããã4ã¤æã¤ãã±ããã§èãã¦ã¿ã¾ãããã
ãã±ãã >å°ãã±ãã1ï¼é²æç100% >å°ãã±ãã2ï¼é²æç100% >å°ãã±ãã3ï¼é²æç100% >å°ãã±ãã4ï¼é²æç0%
ãã®å ´åã®è¦ªãã±ããã®é²æçã¯ä»¥ä¸ã®æ§ã«ãªãã¾ãã
ãã±ããã®é²æçãã¹ãã¼ã¿ã¹é£åã§ãªã â 75%
ãã±ããã®é²æçãã¹ãã¼ã¿ã¹é£å â ãå°ãã±ããã®é²æçã«é¢ãããã親ãã±ããã®ã¹ãã¼ã¿ã¹ã«ãã£ã¦æ±ºã¾ãã
èªåã®ã¨ãã®redmineããããªã®ã§ãããå°ãã±ãããå¤ç¨ãã¦ããã¸ã§ã¯ãã®ç®¡çããã¦ããå ´åã親ãã±ããã®é²æçã¯å°ãã±ããã®é²æçã¨é£åãã¦ãæ¹ãè¦æ ããè¯ãã§ãããã親ãã±ããã®ãã©ãã«ã¼ãåãã(ãã®ãã©ãã«ã¼ã«ã¯ã¹ãã¼ã¿ã¹ã«å¿ããé²æçãè¨å®ããªã)ãã¨ã§ã親ãã±ããã®é²æçã ãå°ãã±ããé£åã«ãããã¨ãã§ãã¾ãããèªåã¯ãã£ã¨ã·ã³ãã«ã«å®ç¾ãããã£ãã®ã§redmineã®ã½ã¼ã¹ãå¼ã£ã¦ã¿ããã¨ã«ãã¾ããã
2014å¹´10æ19æ¥ãã½ã¼ã¹ãä¼ç¤¾ã®ãµã¼ãã®ä¸ãªã®ã§ãç¶ãã¯å¥éæ¸ãã¾ãã
2014å¹´11æ1æ¥ã追è¨ï¼å¤§åé
ããªã£ã¦ãã¾ã£ãâ¦ï¼
ç´°ããæ¸ããã¨æã£ããã©ã ããã®ã§diffãè²¼ãä»ãã¾ãã
å¤æ´ããã®ã¯${redmine_home}/app/model/issue.rbã®ä¸èº«å¤æ´ã
é²æç(=done_ratio)ã«é¢ããé¨åã®å¦çæ¡ä»¶ã«ããå°ãã±ãããæããªããã¨ãã追å ãã¾ããã
(children?ã§å°ãã±ãããæã¤ãå¦ãå¤å¥ã§ããã
http://www.rubydoc.info/github/edavis10/redmine/Issue
)
ä»ã®ã¨ããç¹ã«ä¸å
·åãªã©ã¯åºã¦ãªãã§ãããå¤æ´ãããªãèªå·±è²¬ä»»ã§ã
æ¬å½ã¯ããããã®ããã©ã°ã¤ã³ã§å®ç¾ããã¹ããªãã ãããï¼
ã¨ããããã©ã°ã¤ã³ã§ããããä¸èº«ã®å¦çã¾ã§ããããã®ãããï¼
@@ -547,7 +552,7 @@ private :workflow_rule_by_attribute def done_ratio - if Issue.use_status_for_done_ratio? && status && status.default_done_ratio + if Issue.use_status_for_done_ratio? && status && status.default_done_ratio && !self.children? status.default_done_ratio else read_attribute(:done_ratio) @@ -629,7 +634,7 @@ # Set the done_ratio using the status if that setting is set. This will keep the done_ratios # even if the user turns off the setting later def update_done_ratio_from_issue_status - if Issue.use_status_for_done_ratio? && status && status.default_done_ratio + if Issue.use_status_for_done_ratio? && status && status.default_done_ratio && !self.children? self.done_ratio = status.default_done_ratio end end @@ -1352,7 +1357,7 @@ end # done ratio = weighted average ratio of leaves - unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio + unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio && !p.children? leaves_count = p.leaves.count if leaves_count > 0 average = p.leaves.where("estimated_hours > 0").average(:estimated_hours).to_f