PHP code example of kbsali / redmine-api
1. Go to this page and download the library: Download kbsali/redmine-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/ */
kbsali / redmine-api example snippets
$client->getApi('issue')->create(['project_id' => 1, 'subject' => 'issue title']);
$response = $client->getApi('issue')->getLastResponse();
$response = $client->request(
HttpFactory::makeJsonRequest(
'POST',
'/issues.json',
'{"issue":{"project_id":1,"subject":"issue title"}}',
),
);
// This file is generated by Composer
ient('https://redmine.example.com', '0ef19567656532f8dd43a4dbfeda787f01f3e659');
$client->startImpersonateUser('kim');
// all requests will now impersonate the user `kim`
// To stop impersonation
$client->stopImpersonateUser();
$client->getApi('user')->list();
$client->getApi('user')->listLogins();
$client->getApi('issue')->create([
'project_id' => 'test',
'subject' => 'some subject',
'description' => 'a long description blablabla',
'assigned_to_id' => 123, // or 'assigned_to' => 'user1' OR 'groupXX'
]);
$client->getApi('issue')->list([
'limit' => 1000
]);
bash
$ php composer.phar
diff
+
+
+
diff
antiate with ApiKey
+$client = new \Redmine\Client\NativeCurlClient('https://redmine.example.com', '1234567890abcdfgh');
diff
antiate with Username/Password (not recommended)
+$client = new \Redmine\Client\NativeCurlClient('https://redmine.example.com', 'username', 'password');
diff
Http\Client\ClientInterface;
+use Psr\Http\Message\RequestInterface;
+use Psr\Http\Message\ResponseInterface;
+
$guzzle = \GuzzleHttp\Client();
$psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory();
+$guzzleWrapper = new class(\GuzzleHttp\Client $guzzle) implements ClientInterface
+{
+ private $guzzle;
+
+ public function __construct(\GuzzleHttp\Client $guzzle)
+ {
+ $this->guzzle = $guzzle;
+ }
+
+ public function sendRequest(RequestInterface $request): ResponseInterface
+ {
+ return $this->guzzle->send($request, [
+ // Set the options for every request here
+ 'auth' => ['username', 'password', 'digest'],
+ 'cert' => ['/path/server.pem', 'password'],
+ 'connect_timeout' => 3.14,
+ // Set specific CURL options, see https://docs.guzzlephp.org/en/stable/faq.html#how-can-i-add-custom-curl-options
+ 'curl' => [
+ CURLOPT_SSL_VERIFYPEER => 1,
+ CURLOPT_SSL_VERIFYHOST => 2,
+ CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1_2,
+ ],
+ ]);
+ }
+};
+
// Instantiate with ApiKey
$client = new \Redmine\Client\Psr18Client(
- $guzzle,
+ $guzzleWrapper,
$psr17Factory,
$psr17Factory,
'https://redmine.example.com',
'1234567890abcdfgh'
);