* daysBlocked feature added

* blocked worklog entries are not counted towards spike spent time
This commit is contained in:
Dávid Danyi 2017-08-25 11:07:51 +02:00
parent 1de77564b5
commit 728ef63067
2 changed files with 38 additions and 4 deletions

View File

@ -117,6 +117,11 @@ class KanbanEntry implements \JsonSerializable
*/
private $worklog = 0;
/**
* @var int
*/
private $daysBlocked = 0;
/**
* KanbanEntry constructor.
*/
@ -509,6 +514,24 @@ class KanbanEntry implements \JsonSerializable
return $this;
}
/**
* @return int
*/
public function getDaysBlocked(): int
{
return $this->daysBlocked;
}
/**
* @param int $daysBlocked
* @return KanbanEntry
*/
public function setDaysBlocked(int $daysBlocked): KanbanEntry
{
$this->daysBlocked = $daysBlocked;
return $this;
}
/**
* @return array
*/
@ -535,6 +558,7 @@ class KanbanEntry implements \JsonSerializable
'team' => $this->getTeam(),
'answerCode' => $this->getAnswerCode(),
'worklog' => $this->getWorklog(),
'daysBlocked' => $this->getDaysBlocked(),
];
}
}

View File

@ -92,11 +92,21 @@ class JiraCollectorService
->setLabels($jsonIssue['fields']['labels'])
;
$timeSpent = 0;
array_map(function($worklog) use (&$timeSpent){
$timeSpent += $worklog['timeSpentSeconds'];
$spikeTimeSpent = 0;
array_map(function($worklog) use (&$spikeTimeSpent){
$spikeTimeSpent += strtoupper($worklog['comment']) == 'BLOCKED'
? 0
: $worklog['timeSpentSeconds'];
}, $jsonIssue['fields']['worklog']['worklogs']);
$kanbanEntry->setWorklog(ceil($timeSpent/3600));
$kanbanEntry->setWorklog(ceil($spikeTimeSpent/3600));
$secondsBlocked = 0;
array_map(function($worklog) use (&$secondsBlocked){
$secondsBlocked += strtoupper($worklog['comment']) == 'BLOCKED'
? $worklog['timeSpentSeconds']
: 0;
}, $jsonIssue['fields']['worklog']['worklogs']);
$kanbanEntry->setDaysBlocked(ceil($secondsBlocked/86400));
// externalId : customfield_10010
if(isset($jsonIssue['fields']['customfield_10010'])) {