lesstif / php-jira-rest-client

PHP classes interact Jira with the REST API.
Other
510 stars 261 forks source link

HTTP Request Failed: Status Code : 403, "Failed to parse Connect Session Auth Token" #528

Closed martinfrese closed 6 months ago

martinfrese commented 6 months ago

Hello, i’m trying to set up the configuration. No matter how, I get the 403 error, failed to parse connect session Auth Token.

The Error: image

My stack trace: JiraRestApi\JiraException: CURL HTTP Request Failed: Status Code : 403, URL:https://foobar.atlassian.net/rest/api/2/search Error Message : {"error": "Failed to parse Connect Session Auth Token"}

at vendor/lesstif/php-jira-rest-client/src/JiraClient.php:280 at JiraRestApi\JiraClient->exec('search', '{"jql":"","startAt":0,"maxResults":15,"fields":[],"expand":[],"validateQuery":true}', 'POST') (vendor/lesstif/php-jira-rest-client/src/Issue/IssueService.php:548) at JiraRestApi\Issue\IssueService->search('') (src/Controller/Jira/JiraIssues.php:58) at App\Controller\Jira\JiraIssues->getAllIssues() (src/Controller/StartController.php:33) at App\Controller\StartController->jira() (vendor/symfony/http-kernel/HttpKernel.php:181) at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/http-kernel/HttpKernel.php:76) at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true) (vendor/symfony/http-kernel/Kernel.php:197) at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35) at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run() (vendor/autoload_runtime.php:29) at require_once('/shared/httpd/monitoringdashboard/vendor/autoload_runtime.php') (public/index.php:5)

My function:

public function getAllIssues(): array|string
    {
        $jql = '';
        try {
            $apikey = $this->apiKeyRepository->findOneBySomeField('jira');
            $config = new ArrayConfiguration(
                [
                    'jiraHost'            => 'https://foobar.atlassian.net',
                    'jiraUser'            => 'foo@bar.de',
                    'useTokenBasedAuth'   => true,
                    'personalAccessToken' => $apikey->getApikey(),
                ]
            );

            $iss = new IssueService($config);

            $ret = $iss->search($jql);

            if (!empty($ret->issues)) {
                return $ret->issues;
            }
            return 'Keine Issues';

        } catch (JiraRestApi\JiraException $e) {
            $this->assertTrue(false, 'testSearch Failed : '.$e->getMessage());
        }
        return 'error';
    } 

And the controller:

#[Route('/jira')]
    public function jira(): Response
    {
        $jiraIssues = new JiraIssues($this->entityManager, $apiKeyRepository);
        $issues = $jiraIssues->getAllIssues();
        return $this->render('jira.html.twig', ['issues' => $issues]);
    } 

The Configurations seems to be fine:

image

Connection directly with curl works.

Any ideas why the connection fails?

lesstif commented 6 months ago

Hi @martinfrese Thank you for reaching out to me. Actually, this library is for on-prem Jira, and you can access the cloud version repository.