AgileZen and Zend Framework 2 Project management software and API integration



Similar documents
Manage cloud infrastructures using Zend Framework

Develop PHP mobile apps with Zend Framework

Authenticate and authorize API with Apigility. by Enrico Zimuel Software Engineer Apigility and ZF2 Team

Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues

Example for Using the PrestaShop Web Service : CRUD

PHP AdWords API Lib Quick Start

Citrix Receiver for Mobile Devices Troubleshooting Guide

Guzzle Release December 19, 2015

Leveraging Cloud Storage Through Mobile Applications Using Mezeo Cloud Storage Platform REST API. John Eastman Mezeo

Cloud Elements! Events Management BETA! API Version 2.0

Passcreator API Documentation

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG

Enterprise SSL Support

Contents. 2 Alfresco API Version 1.0

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Secure your Docker images

Configuring your network settings to use Google Public DNS

Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides

Using PHPIDS to Understand Attacks

Chapter 22 How to send and access other web sites

Multimedia im Netz Online Multimedia Winter semester 2015/16. Tutorial 03 Major Subject

Qlik REST Connector Installation and User Guide

Browser tools that make web development easier. Alan Seiden Consulting alanseiden.com

Mobilize workforce using Fiori apps: Graybar Story

Adobe Marketing Cloud Bloodhound for Mac 3.0

Practical Android Projects Lucas Jordan Pieter Greyling

Designing RESTful Web Applications

Cloud Provision Widget 1.41

Bust a cap in a web app with OWASP ZAP

Products that are referred to in this document may be trademarks and/or registered trademarks of the respective owners.

SAMSUNG SMARTTV: HOW-TO TO CREATING INSECURE DEVICE IN TODAY S WORLD. Sergey Belov

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA

Beyond The Web Drupal Meets The Desktop (And Mobile) Justin Miller Code Sorcery Workshop, LLC

SEEM4540 Open Systems for E-Commerce Lecture 06 Online Payment

How To Use Blackberry Web Services On A Blackberry Device

depl Documentation Release depl contributors

Fairsail REST API: Guide for Developers

Grandstream Networks, Inc. GXP2130/2140/2160 Auto-configuration Plug and Play

SuiteCRM for Developers

Magento 1.3: PHP Developer's Guide

Implementation Guide:

PHP Integration Kit. Version User Guide

SmarterMeasure Inbound Single Sign On (SSO) Version 1.3 Copyright 2010 SmarterServices, LLC / SmarterServices.com PO Box , Deatsville, AL 36022

HackPra. Burp Pro: Real-life tips & tricks

Azure Day Application Development

XML Processing and Web Services. Chapter 17

A Tour of Silex and Symfony Components. Robert

Here is a quick diagram of the ULV SSO/Sync Application. Number 3 is what we deal with in this document.

Building Rich Internet Applications with PHP and Zend Framework

Flowpack Single sign-on Server Documentation

phpservermon Documentation

CumuLogic Load Balancer Overview Guide. March CumuLogic Load Balancer Overview Guide 1

CRESTRON-APP-ANDROID Control App for Android

Mahara-Moodle Integration

Optimizing Web Performance with TBB

Ipswitch Client Installation Guide

Construction of Social CRM System based on WeChat Public Platform. Linjun Sun

Kony MobileFabric Messaging. Demo App QuickStart Guide. (Building a Sample Application

COS 333: Advanced Programming Techniques

FileMaker Server 12. Custom Web Publishing with PHP

Automatic Recognition, Processing and Attacking of Single Sign-On Protocols with Burp Suite

Release Notes. DocuSign Spring 15 Release Notes. Contents

CRESTRON-APP/CRESTRON-APP-PAD

2692 : Accelerate Delivery with DevOps with IBM Urbancode Deploy and IBM Pure Application System Lab Instructions

php-crypto-params Documentation

Source Control Systems

Getting Started with the icontact API

Traitware Authentication Service Integration Document

Google Cloud Print Administrator Configuration Guide

Authorize.net modules for oscommerce Online Merchant.

Office365Mon Developer API

Copyright Pivotal Software Inc, of 10

Bypassing CAPTCHAs by Impersonating CAPTCHA Providers

Databricks Cloud Platform Native REST API 1.0

Hail or Fail: The Right Way. to Override Core. Mark Shust ecommerce Developer Metrics Marketing

Securing ArcGIS Server Services: First Steps

Zend Certifications Debbie Otterstetter Senior Manager, Global Training & Certification November 7, 2013 All rights reserved. Zend Technologies, Inc.

API documentation - 1 -

Pre-authentication XXE vulnerability in the Services Drupal module

Policy Guide Access Manager 3.1 SP5 January 2013

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql

Getting Started with the CLI and APIs using Cisco Openstack Private Cloud

Installing an open source version of MateCat

Ulteo Open Virtual Desktop - Protocol Description

CRESTRON-APP/CRESTRON-APP-PAD Control App for Apple ios

WIRIS quizzes web services Getting started with PHP and Java

Code::Block manual. for CS101x course. Department of Computer Science and Engineering Indian Institute of Technology - Bombay Mumbai

Security Testing for Developers using OWASP ZAP

Rational Team Concert. Guido Salvaneschi Dipartimento di Elettronica e Informazione Politecnico di Milano salvaneschi@elet.polimi.

Ad Hoc Transfer Plug-in for Outlook Installation Guide

Big Data Operations Guide for Cloudera Manager v5.x Hadoop

Double Feature Talk. 1) Intro to SSL 2) Git Basics for Devs & Designers

PHP on IBM i: What s New with Zend Server 5 for IBM i

AdRadionet to IBM Bluemix Connectivity Quickstart User Guide

07/04/2014 NOBIL API. Version 3.0. Skåland Webservice Side 1 / 16

Transcription:

AgileZen and Zend Framework 2 Project management software and API integration by Alex Gibson (Rally Software) and Enrico Zimuel (Zend Technologies)

About the speakers Alex Gibson (@agibson22) AgileZen Product Manager at Rally Software Email: alex@agilezen.com Enrico Zimuel (@ezimuel) Software Engineer since 1996 PHP Engineer at Zend Technologies in the Zend Framework Team Email: enrico@zend.com

Summary What s AgileZen? Project Management with AgileZen Example: the Zend Framework 2 project The API of AgileZen Use AgileZen with Zend Framework 2 Example: build a public board with AgileZen

AgileZen

What's AgileZen? Project management software AgileZen helps you Visualize your work Get organized Communicate with your team Find Ways to Improve

What's AgileZen? (2) Kanban Board for visualizing work in progress Developer API Integrations to enhance how you work: GitHub Bitbucket Google Code HipChat

Project Management AgileZen was built for the people who use it: Software Developers Designers Creative Professionals Small Teams and Startups Kanban Board Organizes work visually Visualizes work-in-progress

Example: the Zend Framework project Demo of the Zend Framework project https://agilezen.com/project/33552/board

AgileZen API

API The AgileZen API is designed around a concept called REST. In a RESTful system, information is organized into resources, each of which is uniquely identified via a URI: https://agilezen.com/api/v1/ The AgileZen API can communicate in two wire formats, JSON and XML (JSON is default) Please be aware that the API is still in beta, and may change with short or no notice! API Manual: http://dev.agilezen.com/

Authentication Anyone can create an API key via the Developer tab on the Settings screen All requests to the AgileZen API must include a valid and enabled API key in order to be processed Use the X-Zen-ApiKey HTTP header to specify your key

Resources Attachments Comments Invites Me Phases Projects Tags Tasks Roles Stories Users

Resources Attachments Comments Invites Me Phases Projects Tags Tasks Roles Stories Users Get all the projects: https://agilezen.com/api/v1/projects

Debug API Enable Developer Console on the Setting page

API: examples Get info about a project (specified by ID): https://agilezen.com/api/v1/projects/123 Get info about a story of a project: https://agilezen.com/api/v1/projects/123/stories/456 Get all the projects: https://agilezen.com/api/v1/projects Get all the stories of a project: https://agilezen.com/api/v1/projects/123/stories

Zend Framework 2 and AgileZen

ZendService\AgileZen We released a ZF2 service class to access the API of AgileZen in an easy way (OOP interface) Repository of the service class: https://github.com/zendframework/zendservice_agilezen Install the ZendService\AgileZen using composer: $ curl -s https://getcomposer.org/installer php $ php composer.phar install

Quickstart To use the ZendService\AgileZen we have 2 options: install the agilezen.com certificate (secure way) disable the SSL verify peer Install the agilezen.com certificate e.g. GNU/Linux OS get the agilezen.com certificate $ openssl s_client -connect agilezen.com:443 2>&1 sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > agilezen.com.crt install the certificate (Debian) $ sudo cp agilezen.com.crt /usr/share/ca-certificates/ $ sudo update-ca-certificates

Authentication <?php include 'path to /vendor/autoload.php'; use ZendService\AgileZen\AgileZen; $agilezen = new AgileZen('here the Agilezen Key'); // use a certificate $agilezen->gethttpclient()->setoptions(array( 'sslcapath' => '/etc/ssl/certs' // check your OS dir )); // or disable the ssl verify peer //$agilezen->gethttpclient()->setoptions(array( // 'sslverifypeer' => false //)); if ($agilezen->authenticate()) { echo "Ok!\n"; } else { printf ("Error (%s): %s\n", $agilezen->geterrorcode(), $agilezen->geterrormsg()); }

Architecture of ZendService\AgileZen ZendService AgileZen Exception Resources Exception Attachment.php Comment.php Invite.php Phase.php Project.php Role.php Story.php Tag.php Task.php User.php AbstractEntity.php AgileZen.php Container.php extend AbstractEntity set of Entities (implements Countable, Iterator, ArrayAccess)

Example List all the projects: $projects = $agilezen->getprojects(); if ($agilezen->issuccessful()) { foreach ($projects as $prj) { echo $prj->getname(). "\n"; } }

Example (2) Get all the phases and stories of a project: $phases = $agilezen->getphases('insert here the Id of the project'); if ($agilezen->issuccessful()) { foreach ($phases as $phase) { printf ("Phase (%d): %s\n", $phase->getid(), $phase->getname()); $stories = $phase->getstories(); if ($agilezen->issuccessful()) { foreach ($stories as $story) { printf ("Story (%d): %s\n", $story->getid(), $story->gettext()); } } else { printf ("Error reading the stories, %s", $agilezen->geterrormsg()); } echo "\n"; } }

Example (3) Add a task to a story $story = $agilezen->getstory('project ID', 'story ID'); if (false!== $story) { $data = array ( 'text' => 'a new task!' ); $story->addtask($data); if ($agilezen->issuccessful()) { echo "Task added successfully\n"; } }

Dev board of Zend Framework http://framework.zend.com/zf2/board

Questions?

Thank you! More info: http://www.agilezen.com http://framework.zend.com