diff --git a/src/Issue/IssueService.php b/src/Issue/IssueService.php index d64afb37..e4c4eacc 100644 --- a/src/Issue/IssueService.php +++ b/src/Issue/IssueService.php @@ -616,6 +616,28 @@ public function getCustomFields($priorityId) return $prio; } + /** + * get watchers. + * + * @param $issueIdOrKey + * + * @return Watcher[] + */ + public function getWatchers($issueIdOrKey) + { + $this->log->addInfo("getWatchers=\n"); + + $url = $this->uri."/$issueIdOrKey/watchers"; + + $ret = $this->exec($url, null); + + $watchers = $this->json_mapper->mapArray( + json_decode($ret, false)->watchers, new \ArrayObject(), '\JiraRestApi\Issue\Watcher' + ); + + return $watchers; + } + /** * add watcher to issue. * diff --git a/src/Issue/Watcher.php b/src/Issue/Watcher.php index e95ceb6f..26d33bce 100644 --- a/src/Issue/Watcher.php +++ b/src/Issue/Watcher.php @@ -13,6 +13,12 @@ class Watcher implements \JsonSerializable /** @var string */ public $name; + /** @var string */ + public $displayName; + /** @var string */ + public $emailAddress; + /** @var bool */ + public $active; public function __construct($name) {