Skip to end of metadata
Go to start of metadata

<h2>Overview</h2>

<p><a href="http://www.agilezen.com">AgileZen</a> is an on-line project management tool that we are using for Zend Framework 2. AgileZen organizes your project visually, letting you see the big picture, while the project management tool keeps you focused on the tasks at hand. Whether you're on a team or flying solo, AgileZen helps your project management become more organized and efficient by employing strategies from lean, agile, and kanban methodologies. AgileZen helps you understand how well you're doing with agile project management, and can be customized as you find better ways to work. </p>

<p>Using AgileZen we want to build a system to show the real-time development status of Zend Framework 2. The aim is to offer to the ZF community a tool to interact with the developers in order to have real time feedback on the ongoing phases.</p>

<p>This proposal is to implement a Zend\Service\AgileZen component to use the API of AgileZen.</p>

<h2>References</h2>

<p><a href="http://dev.agilezen.com/">AgileZen API Documentation</a></p>

<h2>Dependencies on Other Framework Components</h2>

<ul>
<li>Zend\Http</li>
<li>Zend\Uri</li>
<li>Zend\Validator</li>
</ul>

<h2>Class Index</h2>

<ul>
<li>Zend\Service\AgileZen\AgileZen</li>
<li>Zend\Service\AgileZen\Container</li>
<li>Zend\Service\AgileZen\Entity</li>
<li>Zend\Service\AgileZen\Resources\Attachment</li>
<li>Zend\Service\AgileZen\Resources\Comment</li>
<li>Zend\Service\AgileZen\Resources\Invite</li>
<li>Zend\Service\AgileZen\Resources\Phase</li>
<li>Zend\Service\AgileZen\Resources\Project</li>
<li>Zend\Service\AgileZen\Resources\Role</li>
<li>Zend\Service\AgileZen\Resources\Story</li>
<li>Zend\Service\AgileZen\Resources\Tag</li>
<li>Zend\Service\AgileZen\Resources\Task</li>
<li>Zend\Service\AgileZen\Resources\User</li>
</ul>

<h2>Theory of Operation</h2>

<p>In order to use this component we have to instantiate the AgileZen class using a valid API key.<br />
To generate an API key you have to go to Settings > Developer menu of the AgileZen backend and click on "New API key".</p>

<ac:macro ac:name="code"><ac:default-parameter>php</ac:default-parameter><ac:plain-text-body><![CDATA[
use Zend\Service\AgileZen\AgileZen;

$apiKey = 'insert here the API key';
$agileZen = new AgileZen($apiKey);
]]></ac:plain-text-body></ac:macro>

<h2>Use cases</h2>

<h3>Get the list of projects</h3>
<ac:macro ac:name="code"><ac:default-parameter>php</ac:default-parameter><ac:plain-text-body><![CDATA[
$projects = $agileZen->getProjects();
if (!$agileZen->isSuccessful()) {
die('Error: ' . $agileZen->getErrorMsg());
}

foreach ($projects as $prj) {
printf ("Project name: %s\n", $prj->getName());
}
]]></ac:plain-text-body></ac:macro>

<h3>Get the members of a project</h3>

<p>In this example $projectId is the Id of the project to use.</p>

<ac:macro ac:name="code"><ac:default-parameter>php</ac:default-parameter><ac:plain-text-body><![CDATA[
$members = $agileZen->getMembers($projectId);
if (!$agileZen->isSuccessful()) {
die('Error: ' . $agileZen->getErrorMsg());
}

foreach ($members as $member) {
printf ("Member name: %s\n", $member->getName());
printf ("Member username: %s\n", $member->getUserName());
printf ("Member email: %s\n", $member->getEmail());
}
]]></ac:plain-text-body></ac:macro>

<h3>Create a new story</h3>
<ac:macro ac:name="code"><ac:default-parameter>php</ac:default-parameter><ac:plain-text-body><![CDATA[
$data = array(
'text' => 'test story',
'details' => 'details of the story'
);
$story = $agileZen->addStory($projectId, $data);

if (!$agileZen->isSuccessful()) {
die('Error: ' . $agileZen->getErrorMsg());
}
printf ("The story with Id %s has been created successfully\n", $story->getId());
]]></ac:plain-text-body></ac:macro>

Labels:
favourite favourite Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.