Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-34170

Creating JIRA issues from Confluence pages generate JavaScript errors

    XMLWordPrintable

Details

    Description

      The problem

      When the default assignee of a project in JIRA is defined to an user that doesn't have assignable permission, the creation of JIRA issues from Confluence pages never completes and a JavaScript error is thrown in the browser:

      try {
      /* module-key = 'com.atlassian.confluence.plugins.confluence-jira-content:confluence-jira-content-resources', location = 'com/atlassian/confluence/plugins/createjiracontent/js/jiraissue-field-helper.js' */
      Confluence.CreateJiraContent.JiraIssue=(function(f,m){var c="com.pyxis.greenhopper.jira:gh-epic-link";var p="/rest/greenhopper/1.0/api/epicproperties";var j="JIRA_EPIC_ISSUE_TYPE_";var l="CREATE_JIRA_ISSUE_FIELD_";var d,b;var i=function(q,r){if(d&&d.readyState!==4&&d.abort){d.abort()}if(!q.serverId||!q.projectId||!q.issueTypeId){AJS.logError(AJS.format("confluence-jira-content:discoverIssueTypeField - Error with parameters: serverId={0}, projectId={1}, issueTypeId={2}",q.serverId,q.projectId,q.issueTypeId));r&&r("Discover fields - error with parameters.");return}d=AJS.$.ajax({type:"GET",url:Confluence.getContextPath()+"/rest/jira-integration/1.0/servers/"+q.serverId+"/projects/"+q.projectId+"/issue-types/"+q.issueTypeId+"/fields-meta"}).pipe(function(s){if(!s||!s.fields){AJS.logError("confluence-jira-content:discoverIssueTypeField - Data discovering error! Unexpected data return.");r&&r("Discover fields - unexpected data return.");return}return s.fields});return d};var h=function(q,t,s){if(!q){AJS.logError(AJS.format("confluence-jira-content:resolveEpicIssueType - Error with parameters: serverId={0}",q));return}var r=j+q;if(Confluence.CreateJiraContent.JiraIssue.Cache.containKey(r)){t(Confluence.CreateJiraContent.JiraIssue.Cache.get(r));return}if(b&&b.readyState!==4&&b.abort){b.abort()}b=AppLinks.makeRequest({appId:q,type:"GET",url:p,dataType:"json",success:function(v){if(!v||!v.epicTypeId){AJS.logError("confluence-jira-content:resolveEpicIssueType - Data discovering error! Unexpected data return.");return}var u=v.epicTypeId;t(u);Confluence.CreateJiraContent.JiraIssue.Cache.put(r,u)},error:function(u){s(u.status);AJS.logError("confluence-jira-content:resolveEpicIssueType - Error with status="+u.status)}})};var o=function(r,q,s){var t=e(r);if(Confluence.CreateJiraContent.JiraIssue.Cache.containKey(t)){n(t,q,s);return}i(r,s).done(function(u){if(u){var v=AJS.$.extend({},a(u),k(u,r.defaultRequiredFields));Confluence.CreateJiraContent.JiraIssue.Cache.put(t,v);q(v)}}).fail(function(u){AJS.logError("confluence-jira-content:discoverIssueTypeField - Error with status="+u.status);s&&s(AJS.format("Discover fields - response error: {0}.",u.status))})};var n=function(t,r,s){var q=Confluence.CreateJiraContent.JiraIssue.Cache.get(t);if(q){r(q)}else{s&&s("Discover fields - unexpected data return.")}};var a=function(r){var q;m.find(r,function(t,s){if(t.schema.custom===c){q=s;return true}});return{epicField:q}};var k=function(q,s){var r=Confluence.CreateJiraContent.JiraIssue.FieldStatus.HIDDEN;var t={};f.each(q,function(u,v){if(u==="description"){r=(v.required==true?Confluence.CreateJiraContent.JiraIssue.FieldStatus.REQUIRED:Confluence.CreateJiraContent.JiraIssue.FieldStatus.VISIBLE)}else{if(v.required===true&&!v.hasDefaultValue&&!m.contains(s,u)){t[u]=v}}});return{descriptionFieldStatus:r,requiredFields:t}};var g=function(r,s){var t=e(s);if(Confluence.CreateJiraContent.JiraIssue.Cache.containKey(t)){var q=Confluence.CreateJiraContent.JiraIssue.Cache.get(t).requiredFields;return q[r].name}return""};var e=function(q){return l+q.serverId+"_"+q.projectId+"_"+q.issueTypeId};return{resolveEpicIssueType:h,getCreateIssueMeta:o,getFieldName:g}})(AJS.$,window._);Confluence.CreateJiraContent.JiraIssue.Cache=(function(){return{put:function(a,b){sessionStorage.setItem(a,JSON.stringify(b))},get:function(a){var b=sessionStorage.getItem(a);if(b){try{var d=JSON.parse(b)}catch(c){return null}return d}return null},containKey:function(a){return sessionStorage.getItem(a)!=null}}})();Confluence.CreateJiraContent.JiraIssue.FieldStatus={HIDDEN:-1,VISIBLE:0,REQUIRED:1};
      } catch (err) {
          if (console && console.log && console.error) {
              console.log("Error running batched script.");
              console.error(err);
          }
      }
      

      Suggested resolution

      When creating an issue under the same project directly in JIRA interface, there's a message informing that the default assignee can't assign tickets:

      The default assignee does NOT have ASSIGNABLE permission OR Unassigned issues are turned off.

      A similar message should be displayed in Confluence interface.

      Attachments

        Activity

          People

            Unassigned Unassigned
            tcomasseto Tiago Comasseto
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: