Crucible to Jira Cloud -- Linked Issues lookup fails with JSONException
Asked by Jake:

Edit: I found Crucible bug [CRUC-8454](https://jira.atlassian.com/browse/CRUC-8454) which indicates no workaround for the error at present.

-----

I am running Crucible version 4.7.0 and have been successfully linked with a Jira Cloud site for months. A couple of weeks ago, however, the "linked issue" field on the review details page stopped returning any results. The findJiraIssueAjax call which fires when typing in this field, now only returns the following failure message:

```
{
 "errorMsg": "",
 "worked": false,
 "credentialsRequired":[],
 "jiraExceptions":[
  {
   "msgHtml":"JIRA Server JIRA: ", 
   "name":"JIRA",
   "serverUrl":"https://{my jira cloud site}.atlassian.net"
  }
 ]
}
```

I enabled debug logging in Crucible, and found that it is throwing a JSONException error. What I am wondering is if Jira Cloud's rest api has been changed recently in some what that makes it incompatible with Crucible 4.7.0? There doesn't seem to be any problem with my Application Link itself, and I tried removing and creating the link again without any problems. It's just the ajax call to look up jira issues that fails. Anyhow, here are the server-side debug logs with the JSONException:
> 2020-02-24 15:12:20,428 DEBUG \[qtp839998248-8078 \] fisheye JiraIssueServiceImpl-logException - Error retrieving issue 'TEST-123' from JIRA server at https://{my jira site}.atlassian.net/browse/TEST-123  
> com.atlassian.fisheye.jira.RemoteJiraException:
>
> at com.atlassian.fecru.plugins.jirarest.restinvoker.JiraRestInvokerImpl.invoke(JiraRestInvokerImpl.java:67) \[?:?\]
>
> ...
>
> ...
>
> ...
>
> Caused by: org.codehaus.jettison.json.JSONException: JSONObject\["name"\] not found.  
> at org.codehaus.jettison.json.JSONObject.get(JSONObject.java:360) \[?:?\]  
> at org.codehaus.jettison.json.JSONObject.getString(JSONObject.java:487) \[?:?\]  
> at com.atlassian.jira.rest.client.internal.json.JsonParseUtil.parseBasicUser(JsonParseUtil.java:192) \[?:?\]  
> at com.atlassian.jira.rest.client.internal.json.CommentJsonParser.parse(CommentJsonParser.java:37) \[?:?\]  
> at com.atlassian.jira.rest.client.internal.json.CommentJsonParser.parse(CommentJsonParser.java:27) \[?:?\]  
> at com.atlassian.jira.rest.client.internal.json.JsonWeakParserForJsonObject.parse(JsonWeakParserForJsonObject.java:39) \[?:?\]  
> at com.atlassian.jira.rest.client.internal.json.IssueJsonParser.parseArray(IssueJsonParser.java:146) \[?:?\]  
> at com.atlassian.jira.rest.client.internal.json.IssueJsonParser.parse(IssueJsonParser.java:216) \[?:?\]  
> at com.atlassian.jira.rest.client.internal.json.IssueJsonParser.parse(IssueJsonParser.java:88) \[?:?\]  
> at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$1.handle(AbstractAsynchronousRestClient.java:138) \[?:?\]  
> at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$3.apply(AbstractAsynchronousRestClient.java:179) \[?:?\]  
> ... 243 more

Thanks!


Answers:
author: Jake
body: See <https://jira.atlassian.com/browse/CRUC-8454>

This is a known bug with no suggested workaround at this time.


author: DPKJ
body: [@Jake](/t5/user/viewprofilepage/user-id/1626836) As GDPR for Cloud API is kicking in information like 'name' and 'email' are not provided against User based fields like assignee, reporter etc.

If you are parsing data manually make sure you take care of this.

comments: author: Jake
body: Thanks, that's a good point. However, I'm not doing any manual parsing. This is just the basic Crucible functionality, but it is an older version.

I've thought about upgrading to a newer version of Crucible but haven't found anything in the release notes yet to indicate that an upgrade will fix the problem.


author: DPKJ
body: Here is the sheet that I follow to check - <https://developer.atlassian.com/cloud/jira/platform/api-changes-for-user-privacy-announcement/>


author: Jake
body: Thanks again, I will keep this handy. But it looks like as far as the Crucible integration goes, it's just a waiting game -- I edited my original post with a Crucible bug report that says there's no known workaround yet...but at least it's been reported already. =)