当我尝试使用PHP访问JIRA REST API时未经授权(401)

Web*_*urk 11 php curl jira jira-rest-api

我正在尝试使用PHP的JIRA REST API.当我复制下面的网址并将其直接粘贴到浏览器中时,它可以正常工作.生成的问题以json的形式返回.

但是使用下面的代码它不起作用.我收到Unauthorized(401)作为回复消息.是的,我已检查并仔细检查凭据是否有效.这是我的代码:

$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;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Web*_*urk 23

解决方案:提供凭据时使用用户名而非电子邮件.

事实证明,即使您在JIRA中使用您的电子邮件登录,也不是您在此处使用的电子邮件,而是用户名,可以在Jira-> Settings-> Profile中找到

  • 不能相信在Atlassian的文档中仍然没有提到这一点.或者至少我找不到它...... (2认同)