<?php
use Zend\Loader\AutoloaderFactory;
use P4\Connection\Connection;
use Groups\Model\Group;
use Zend\Http\Client as HttpClient;
use Zend\Json\Json;
use Zend\Mvc\MvcEvent;
use Zend\ServiceManager\ServiceLocatorInterface as ServiceLocator;
define('BASE_PATH', __DIR__);
$debug = 4;
$preview = true;
// setup autoloading
set_include_path(BASE_PATH);
include 'vendor/zendframework/zend-loader/src/AutoloaderFactory.php';
AutoloaderFactory::factory(
array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
'P4' => BASE_PATH . '/library/P4',
'Record' => BASE_PATH . '/library/Record',
'Zend\\Http' => BASE_PATH . '/vendor/zendframework/zend-http/src',
'Zend\\Loader' => BASE_PATH . '/vendor/zendframework/zend-loader/src',
'Zend\\Stdlib' => BASE_PATH . '/vendor/zendframework/zend-stdlib/src',
'Zend\\Uri' => BASE_PATH . '/vendor/zendframework/zend-uri/src',
'Zend\\Validator' => BASE_PATH . '/vendor/zendframework/zend-validator/src',
)
)
)
);
// config is needed for parameters among other things
if (!file_exists('jiraconfig.php')) {
echo "Cannot find the test config file 'jiraconfig.php'\n";
return;
}
$config = include 'jiraconfig.php';
if (!array_key_exists('jira', $config)) {
echo "Cannot find the 'jira' configuration block in the jiraconfig.php file.\n";
return;
}
$jconfig = $config['jira'];
$jconfig['host'] = rtrim($jconfig['host'], '/');
if ($jconfig['host'] && strpos(strtolower($jconfig['host']), 'http') !== 0) {
$jconfig['host'] = 'http://' . $jconfig['host'];
}
echo "JIRA host: ", $jconfig['host'], "\n";
$url = $jconfig['host'] . '/rest/api/latest/project' ;
$client = new HttpClient;
$client->setUri($url)
->setHeaders(array('Content-Type' => 'application/json'))
->setMethod('get');
$options = $config + array('http_client_options' => array());
$options = (array) $options['http_client_options'];
if (isset($options['hosts'][$client->getUri()->getHost()])) {
$options = (array) $options['hosts'][$client->getUri()->getHost()] + $options;
}
unset($options['hosts']);
$client->setOptions($options);
if ($jconfig['user']) {
$client->setAuth($jconfig['user'], $jconfig['password']);
}
echo 'Making request to ', $url, "\n" ;
try {
$response = $client->dispatch($client->getRequest());
echo " Status code: ", $response->getStatusCode(), " ", $response->getReasonPhrase(), "\n";
if ( $response->isSuccess()) {
$projects = json_decode($response->getBody(), true) ;
echo "JIRA Projects returned: ", count($projects), "\n";
foreach($projects as $proj) {
echo " ",$proj['key'];
}
echo " \n";
} else {
echo "Failed!\n";
}
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
echo $e;
echo "\n";
}
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #1 | 27438 | Joel Brown |
New jiratest2020.php for Swarm 2020 release. The different scripts correspond to the Zend framework used by Swarm. <=2018: zend 2 2019: zend 3 2020: laminas Update README to match the script names. |
||
| //guest/joel_brown/swarm/jiratest/jiratest.php | |||||
| #3 | 26085 | Joel Brown | Adjust jiratest.php for Swarm 2019's Zend library changes. | ||
| #2 | 23841 | Joel Brown | Print out any exception's stack trace. | ||
| #1 | 23823 | Joel Brown | Test program to help troubleshoot Swarm to JIRA requests | ||