Skip to content

Commit

Permalink
add comment
Browse files Browse the repository at this point in the history
  • Loading branch information
lesstif committed Mar 5, 2015
1 parent a8b6a6d commit dec5cd1
Show file tree
Hide file tree
Showing 4 changed files with 113 additions and 33 deletions.
55 changes: 55 additions & 0 deletions src/issue/Comment.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php

namespace JiraRestApi\Issue;

class Visibility {
public $type;
public $value;
}

class Comment implements \JsonSerializable {
/* @var string */
public $self;

/* @var string */
public $id;

/* @var Reporter */
public $author;

/* @var string */
public $body;

/* @var Reporter */
public $updateAuthor;

/* @var DateTime */
public $created;

/* @var DateTime */
public $updated;

/* @var Visibility */
public $visibility;

public function setBody($body) {
$this->body = $body;
return $this;
}

public function setVisibility($type, $value) {
if (is_null($this->visibility))
$this->visibility = array();

$this->visibility['type'] = $type;
$this->visibility['value'] = $value;
return $this;
}

public function jsonSerialize()
{
return array_filter(get_object_vars($this));
}
}

?>
28 changes: 0 additions & 28 deletions src/issue/Comments.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,6 @@

namespace JiraRestApi\Issue;

class Comment implements \JsonSerializable {
/* @var string */
public $self;

/* @var string */
public $id;

/* @var Reporter */
public $author;

/* @var string */
public $body;

/* @var Reporter */
public $updateAuthor;

/* @var DateTime */
public $created;

/* @var DateTime */
public $updated;

public function jsonSerialize()
{
return array_filter(get_object_vars($this));
}
}

class Comments implements \JsonSerializable {
/* @var int */
public $startAt;
Expand Down
23 changes: 23 additions & 0 deletions src/issue/IssueService.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,29 @@ public function update($issueIdOrKey, $issueField) {

return $ret;
}

/**
* Adds a new comment to an issue.
*
* @param issueIdOrKey Issue id or key
* @param comment .
*
* @return Comment class
*/
public function addComment($issueIdOrKey, $comment) {

$this->log->addInfo("addComment=\n");

$data = json_encode($comment);

$ret = $this->exec($this->uri . "/$issueIdOrKey/comment", $data);

$comment = $this->json_mapper->mapArray(
json_decode($ret), new \ArrayObject(), '\JiraRestApi\Issue\Comment'
);

return $comment;
}
}

?>
Expand Down
40 changes: 35 additions & 5 deletions tests/IssueTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

use JiraRestApi\Issue\IssueService;
use JiraRestApi\Issue\IssueField;
use JiraRestApi\Issue\Comment;

class IssueTest extends PHPUnit_Framework_TestCase
{
Expand Down Expand Up @@ -79,14 +80,12 @@ public function testAddAttachment($issueKey)
}

/**
* depends testAddAttachment
* @depends testAddAttachment
*
*/
public function testUpdateIssue()
public function testUpdateIssue($issueKey)
{
$issueKey = "TEST-920";

//$this->markTestIncomplete();
$this->markTestIncomplete();
try {
$issueField = new IssueField(true);

Expand All @@ -103,11 +102,42 @@ public function testUpdateIssue()
$issueService = new IssueService();

$issueService->update($issueKey, $issueField);

return $issueKey;
} catch (JIRAException $e) {
$this->assertTrue(FALSE, "update Failed : " . $e->getMessage());
}
}

/**
* Depends testUpdateIssue
*
*/
public function testAddcommnet()
{
$issueKey = "TEST-924";
//$this->markTestIncomplete();
try {
$comment = new Comment();

$body = <<<COMMENT
Adds a new comment to an issue.
* Bullet 1
* Bullet 2
** sub Bullet 1
** sub Bullet 2
COMMENT;
$comment->setBody($body)
->setVisibility('role', 'Users');
;

$issueService = new IssueService();
$ret = $issueService->addComment($issueKey, $comment);
print_r($ret);
} catch (JIRAException $e) {
$this->assertTrue(FALSE, "add Comment Failed : " . $e->getMessage());
}
}
}

?>

0 comments on commit dec5cd1

Please sign in to comment.