* additionalAssignees added

* externalId fixed in proxy
This commit is contained in:
Dávid Danyi 2017-10-20 17:29:50 +02:00
parent 0e81a9d60b
commit 123b90067e
4 changed files with 71 additions and 2 deletions

View File

@ -73,6 +73,7 @@ return [
'customfield_10850',
'customfield_10904',
'customfield_11692',
'customfield_10401',
],
],
'url.mhWebPraGoals' => 'https://mhweb.ericsson.se:443/SearchWeb/faces/search/query/resultPage.xhtml?&v=3&queryKey=74023&output=CSV&csvDelimiter=COMMA',

View File

@ -21,4 +21,4 @@ RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
</Limit>
<LimitExcept GET POST PUT DELETE HEAD OPTIONS>
Require all denied
</LimitExcept>
</LimitExcept>

View File

@ -37,6 +37,12 @@ class KanbanEntry implements \JsonSerializable
*/
private $assignee;
/**
* JIRA: customfield_10401
* @var JiraAssignee[]
*/
private $additionalAssignees;
/**
* @var string
*/
@ -138,6 +144,7 @@ class KanbanEntry implements \JsonSerializable
public function __construct()
{
$this->functionalAreas = new ArrayCollection();
$this->additionalAssignees = new ArrayCollection();
}
/**
@ -248,6 +255,48 @@ class KanbanEntry implements \JsonSerializable
return $this;
}
/**
* @return JiraAssignee[]|ArrayCollection
*/
public function getAdditionalAssignees(): ?ArrayCollection
{
return $this->additionalAssignees;
}
/**
* @param JiraAssignee[]|ArrayCollection $additionalAssignees
* @return KanbanEntry
*/
public function setAdditionalAssignees(?ArrayCollection $additionalAssignees): KanbanEntry
{
$this->additionalAssignees = $additionalAssignees;
return $this;
}
/**
* @param JiraAssignee $assignee
* @return KanbanEntry
*/
public function addAdditionalAssignee(JiraAssignee $assignee): KanbanEntry
{
if(!$this->additionalAssignees->contains($assignee)) {
$this->additionalAssignees->add($assignee);
}
return $this;
}
/**
* @param JiraAssignee $assignee
* @return KanbanEntry
*/
public function removeAdditionalAssignee(JiraAssignee $assignee): KanbanEntry
{
if($this->additionalAssignees->contains($assignee)) {
$this->additionalAssignees->removeElement($assignee);
}
return $this;
}
/**
* @return string
*/
@ -590,6 +639,7 @@ class KanbanEntry implements \JsonSerializable
'issueType' => $this->getIssueType(),
'status' => $this->getStatus(),
'assignee' => $this->getAssignee(),
'additionalAssignees' => $this->getAdditionalAssignees()->getValues(),
'issuePriority' => $this->getIssuePriority(),
'issuePriorityIcon' => $this->getIssuePriorityIcon(),
'labels' => $this->getLabels(),

View File

@ -168,9 +168,27 @@ class JiraCollectorService
}, $jsonIssue['fields']['worklog']['worklogs']);
$kanbanEntry->setDaysBlocked(ceil($secondsBlocked / 28800));
// additional assignees : customfield_10401
if (isset($jsonIssue['fields']['customfield_10401'])) {
foreach ($jsonIssue['fields']['customfield_10401'] as $assignee) {
$avatarUrl = $this->avatarService->getJiraAvatarUrl(
$assignee['avatarUrls']['48x48'],
$assignee['key']
);
$jiraAssignee = new JiraAssignee();
$jiraAssignee->setName($assignee['displayName'])
->setSignum($assignee['key'])
->setEmail(strtolower($assignee['emailAddress']))
->setAvatar($avatarUrl)
->setActive($assignee['active']);
$kanbanEntry->addAdditionalAssignee($jiraAssignee);
}
}
// externalId : customfield_10010
if (isset($jsonIssue['fields']['customfield_10010'])) {
$kanbanEntry->setPrio(intval($jsonIssue['fields']['customfield_10010']));
$kanbanEntry->setExternalId($jsonIssue['fields']['customfield_10010']);
}
// prio : customfield_10840