public function createIssue(JiraProject $project, JiraIssue $issue) { if (!$issue->type instanceof JiraIssueType) { $issue->type = JiraIssueType::valueOf($issue->type)->value; } if (!$issue->status instanceof JiraStatus) { $issue->status = JiraStatus::valueOf($issue->status)->value; } $query = array_merge($issue->toArray(), array('project' => $project->key)); return $this->client->createIssue($this->token, $query); }
public function __construct($issue = null) { if ($issue !== null) { foreach ($issue as $key => $value) { if (strcmp($key, 'affectsVersions') === 0) { foreach ($value as $version) { $this->addAffectsVersion(new JiraVersion($version)); } continue; } if (strcmp($key, 'components') === 0) { foreach ($value as $component) { $this->addComponent(new JiraComponent($component)); } continue; } if (strcmp($key, 'customFieldValues') === 0) { foreach ($value as $fieldValue) { $this->addCustomFieldValue(new JiraFieldValue($fieldValue)); } continue; } if (strcmp($key, 'fixVersions') === 0) { foreach ($value as $fixVersion) { $this->addFixVersion(new JiraVersion($fixVersion)); } continue; } if (strcmp($key, 'priority') === 0) { $this->{$key} = JiraPriority::valueOf($value); continue; } if (strcmp($key, 'status') === 0) { $this->{$key} = JiraStatus::valueOf($value); continue; } if (strcmp($key, 'type') === 0) { $this->{$key} = JiraIssueType::valueOf($value); continue; } $this->{$key} = $value; } } }