11

I'm trying to use JIRA REST API with PHP. When I copy the url below and paste it straight into the browser it works fine. The resulting issue is returned as json.

But with the code below it doesn't work. I get Unauthorized (401) as a return message. Yes, I have checked and double checked that the credentials are valid. This is my code:

$username = 'username';
$password = 'psw';
$url = "https://mycompany.atlassian.net/rest/api/2/issue/XXX-123";

$curl = curl_init();
curl_setopt($curl, CURLOPT_USERPWD, "$username:$password");
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);

$result = curl_exec($curl);
echo $result;

Any ideas?

Weblurk
  • 5,763
  • 16
  • 52
  • 101

2 Answers2

24

Solution: Use username and not email when providing credentials.

It turns out, even if you login with your email in JIRA, it's not the email you use here, but the username, which can be found in Jira->Settings->Profile

Weblurk
  • 5,763
  • 16
  • 52
  • 101
-1

Try to remove https:// part from url.

Try to add

curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
ThePavolC
  • 1,518
  • 1
  • 15
  • 23