there4/fogbugz-php-api

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# FogBugz PHP API [![Maintainability](https://api.codeclimate.com/v1/badges/e1cce9ae79596b454642/maintainability?nc=2)](https://codeclimate.com/github/there4/fogbugz-php-api/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/e1cce9ae79596b454642/test_coverage?nc=2)](https://codeclimate.com/github/there4/fogbugz-php-api/test_coverage) [![Build Status](https://travis-ci.org/there4/fogbugz-php-api.svg?branch=master)](https://travis-ci.org/there4/fogbugz-php-api)
> PHP Wrapper for FogBugz 8 XML API

See the api documentation at [XML API Documentation][api-docs]

This is a small API used to wrap up the FogBugz API into an easy to call
object. It allows access to all of the API commands exposed by FogBugz,
and returns a SimpleXMLElement object for any commands that return data.

## FogBugz CLI

This project was written in support for a FogBugz command line client.
Check out my repo at [there4/fogbugz-php-cli](https://github.com/there4/fogbugz-php-cli)
for a working command line tool for FogBugz. You can notate cases,
track time working, and review histories. Try it, you'll like it.

## Sample Code

```php
<?php
use There4\FogBugz;
$fogbugz = new FogBugz\Api(
    'username@example.com',
    'password',
    'http://example.fogbugz.com'
);
$fogbugz->logon();
$fogbugz->startWork(array(
    'ixBug' => 23442
));
```


## Sample Code 2 (using FogBugz' API Token)

```php
<?php
use There4\FogBugz;
$fogbugz = new FogBugz\Api(
    '',
    '',
    'http://example.fogbugz.com'
);
$fogbugz->setToken('your_token');
$fogbugz->startWork(array(
    'ixBug' => 23442
));
```

## Magic Methods

The API uses __call() to make a method for each api endpoint in the FogBugz API.
For example, to call the stopWork api endpoint, simple call a method on the
fogbugz object $fogbugz->stopWork(). If you want to call the api with specific
parameters, supply those to the function as an associative array, as in the
sample above.

## Return Format

Remember that the api methods return SimpleXMLElement objects. See the sample.php
file for an example of this.

## Changelog

* __1.0.4__: Add `setProxy()` method to the Curl class
* __1.0.5__: Add `setToken()` method to the Api class
* __2.0.0__: Upgrade to PHP7 only in testing and update tooling

[api-docs]: https://support.fogbugz.com/hc/en-us/sections/360002378313