* 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_10850',
'customfield_10904', 'customfield_10904',
'customfield_11692', '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', '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> </Limit>
<LimitExcept GET POST PUT DELETE HEAD OPTIONS> <LimitExcept GET POST PUT DELETE HEAD OPTIONS>
Require all denied Require all denied
</LimitExcept> </LimitExcept>

View File

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

View File

@ -168,9 +168,27 @@ class JiraCollectorService
}, $jsonIssue['fields']['worklog']['worklogs']); }, $jsonIssue['fields']['worklog']['worklogs']);
$kanbanEntry->setDaysBlocked(ceil($secondsBlocked / 28800)); $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 // externalId : customfield_10010
if (isset($jsonIssue['fields']['customfield_10010'])) { if (isset($jsonIssue['fields']['customfield_10010'])) {
$kanbanEntry->setPrio(intval($jsonIssue['fields']['customfield_10010'])); $kanbanEntry->setExternalId($jsonIssue['fields']['customfield_10010']);
} }
// prio : customfield_10840 // prio : customfield_10840