PHP code example of madmis / jira-api
1. Go to this page and download the library: Download madmis/jira-api library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
madmis / jira-api example snippets
$api = new madmis\JiraApi\JiraApi('http://localhost:8080/', '/rest/api/2');
$auth = new madmis\JiraApi\Authentication\Basic('[email protected] ', 'password');
$api->setAuthentication($auth);
$projectList = $api->project()->getProjects();
$project = $api->project()->getProject('MFTP');
$issue = $api->issue()->getIssue('MFTP-4');
// Issue result
array [
'expand' => "renderedFields,names,schema,transitions,operations,editmeta,changelog"
'id' => "10003"
'self' => "http://localhost:8080/rest/api/2/issue/10003"
'key' => "MFTP-4"
'fields' => { ... }
]
$api = new madmis\JiraApi\JiraApi('http://localhost:8080/', '/rest/api/2');
$auth = new madmis\JiraApi\Authentication\Basic('[email protected] ', 'password');
$api->setAuthentication($auth);
// without mapping
$result = $api->issue()->createIssue('PROJ', 'summary', 1, ['description' => 'description']);
// Issue result
array [
'id' => "10105"
'key' => "PROJ-9"
'self' => "http://127.0.0.1:8080/rest/api/2/issue/10105"
]
// with mapping
$result = $api->issue()->createIssue('PROJ', 'summary', 1, ['description' => 'description'], true);
// Issue result
class madmis\JiraApi\Model\Issue {
protected $self => "http://127.0.0.1:8080/rest/api/2/issue/10104"
protected $id => 10104
protected $key => "PROJ-8"
protected $labels => []
protected $description => NULL
protected $summary => NULL
protected $updated => NULL
protected $created => NULL
protected $issueType => NULL
protected $project => NULL
protected $creator => NULL
protected $reporter => NULL
protected $assignee => NULL
protected $status => NULL
}
// This is default options, it is not s another urn
$options = [
'tempo_timesheets_urn' => '/rest/tempo-timesheets/3',
];
$api = new madmis\JiraApi\JiraApi('http://localhost:8080/', '/rest/api/2', $options);
$auth = new madmis\JiraApi\Authentication\Basic('[email protected] ', 'password');
$api->setAuthentication($auth);
$issue = $api->issue()->getIssue('MFTP-4');
// Tempo worklog result
array [
array [
'timeSpentSeconds' => 28800
'dateStarted' => "2015-08-29T00:00:00.000"
'comment' => "2323"
'self' => "http://127.0.0.1:8080/rest/tempo-timesheets/3/worklogs/10000"
'id' => 10000
'author' => [ ... ]
'issue' => [ ... ]
'worklogAttributes' => [ ... ]
]
]
$issue = $api->issue()->getIssue('MFTP-4', '*all', '', true);
// Result
class madmis\JiraApi\Model\Issue {
protected $self => "http://localhost:8080/rest/api/2/issue/10003"
protected $id => 10003
protected $key => "MFTP-4"
protected $updated => class DateTime
protected $issueType => class madmis\JiraApi\Model\IssueType
protected $project => class madmis\JiraApi\Model\Project
protected $creator => class madmis\JiraApi\Model\User
protected $reporter => class madmis\JiraApi\Model\User
protected $assignee => class madmis\JiraApi\Model\User
protected $status => class madmis\JiraApi\Model\IssueStatus
}
class madmis\JiraApi\Exception\ClientException {
private $request => class GuzzleHttp\Psr7\Request
private $response => NULL
protected $message => "cURL error 7: Failed to connect to 127.0.0.1 port 8080: Connection refused (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)"
...
}
class madmis\JiraApi\Exception\ClientException {
private $request => class GuzzleHttp\Psr7\Request
private $response => class GuzzleHttp\Psr7\Response {
private $reasonPhrase => "Unauthorized"
private $statusCode => 401
...
}
protected $message => "Client error: 401"
...
}
try {
$issue = $api->issue()->getIssue('MFTP-4');
} catch (madmis\JiraApi\Exception\ClientException $ex) {
// any actions (log error, send email, ...)
}