Die Ausgangslage

Während Sie im Vorgangsnavigator suchen, erhalten Sie eine ähnliche Nachricht wie: "Ein Fehler ist während der Übertragung diesre Nachricht aufgetreten. Bitte kontaktieren Sie die Administratoren und informieren Sie sie über diesen Bug."

Das folgende erscheint im atlassian-Jira.log:

2013-08-03 16:04:13,960 http-apr-8080-exec-5 ERROR admin 964x14x1 xxxxx 192.168.0.1 /issues/ [velocity] Exception in macro #issues at templates/Jira/issue/table/issuetable-issue.vm[line 3, column 1]
2013-08-03 16:04:13,961 http-apr-8080-exec-5 ERROR admin 964x14x1 xxxxx 192.168.0.1 /issues/ [com.atlassian.velocity.DefaultVelocityManager] MethodInvocationException occurred getting message body from Velocity: java.lang.NullPointerException
java.lang.NullPointerException
 at com.atlassian.Jira.permission.PermissionContextImpl.getRelevantStepDescriptor(PermissionContextImpl.java:90)
 at com.atlassian.Jira.permission.WorkflowPermissionFactory.getWorkflowPermissions(WorkflowPermissionFactory.java:30)
 at com.atlassian.Jira.security.WorkflowBasedPermissionManager.hasPermission(WorkflowBasedPermissionManager.java:75)
 at com.atlassian.Jira.security.AbstractPermissionManager.hasPermission(AbstractPermissionManager.java:113)
 at com.atlassian.Jira.security.AbstractPermissionManager.hasPermission(AbstractPermissionManager.java:142) <+3>
 at java.lang.reflect.Method.invoke(Unknown Source)
 at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:81)
 at com.atlassian.Jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)
 at $Proxy80.hasPermission(Unknown Source)
....
 at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
 at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:67)
 at com.atlassian.Jira.template.velocity.DefaultVelocityTemplatingEngine$DefaultRenderRequest.asHtml(DefaultVelocityTemplatingEngine.java:104)
 at com.atlassian.Jira.web.component.AbstractWebComponent.getHtml(AbstractWebComponent.java:35)
 at com.atlassian.Jira.web.component.IssueTableWebComponent$1.write(IssueTableWebComponent.java:149)
 at com.atlassian.Jira.web.component.IssueTableWebComponent.getHtml(IssueTableWebComponent.java:81)
 at com.atlassian.Jira.web.component.IssueTableWebComponent.getHtml(IssueTableWebComponent.java:47)
 at com.atlassian.Jira.bc.issue.table.DefaultIssueTableService.createIssueTable(DefaultIssueTableService.java:361)
 at com.atlassian.Jira.bc.issue.table.DefaultIssueTableService.getIssueTable(DefaultIssueTableService.java:262)
 at com.atlassian.Jira.bc.issue.table.DefaultIssueTableService.getIssueTableFromFilterWithJql(DefaultIssueTableService.java:183) <+3>
 at java.lang.reflect.Method.invoke(Unknown Source)
 at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$AbstractMultiTenantAwareInvocationHandler.invokeInternal(MultiTenantComponentFactoryImpl.java:181)
 at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$MultiTenantAwareInvocationHandler.invoke(MultiTenantComponentFactoryImpl.java:211)
 at $Proxy395.getIssueTableFromFilterWithJql(Unknown Source) <+3>



Die Ursache

Es gibt ein Arbeitsablauf-Schemata, das mit einem nicht existierenden Arbeitsablauf verknüpft ist.



Die Diagnose

Um das zu bestätigen, führen Sie bitte die folgende SQL-Abfrage (gemacht in PostgreSQL) durch:

select * from workflowschemeentity where workflow not in (select workflowname from Jiraworkflows)


Die Lösung

(Warnung) Erstellen Sie immer ein Backup, bevor Sie irgendwelche Änderungen an Ihrer Datenbank machen. Wenn möglich, versuchen Sie die Modifikationen zuerst auf einem Testserver aus.

Das Arbeitsablauf-Schemata sollte automatisch mit einem gültigen Arbeitsablauf aktualisiert werden, zuerst via UI (wenn möglich), andernfalls muss es in der Datenbank modifiziert werden, ebenso die assoziierten Einträge zum gültigen Arbeitsablauf in den changeitem und os_wfentry Tabellen. Das tun Sie wie folgt:

  • Schalten Sie Jira aus
  • Führen Sie die Update-Anweisungen aus um den nicht existenten Arbeitsablaufnamen in einen gültigen Arbeitsablauf zu ändern
  • Starten Sie Jira neu
  • Verwenden Sie die folgenden Update-Anweisungen als Vorlage
UPDATE workflowschemeentity
SET workflow = 'valid workflow'
WHERE workflow = 'non-existent workflow';

UPDATE changeitem
SET newstring = 'valid workflow'
WHERE newstring = 'non-existent workflow';

UPDATE os_wfentry
SET name = 'valid workflow'
WHERE name = 'non-existent workflow';






Jira Wissen

Dieser Inhalt wurde zuletzt am 15.09.2017 aktualisiert.

Der Inhalt auf dieser Seite ist schon seit einer Weile nicht mehr aktualisiert worden. Das muss kein Nachteil sein. Oft überdauern unsere Seiten Jahre, ohne wirklich unnütz zu werden. Einfach auf diesen Link klicken, wenn wir die Seite mal wieder aktualisieren sollten. Alte Inhalte können falsch, irreführend oder überholt sein. Bitte nutzen Sie das Formular oder den Live-Chat auf dieser Seite oder kontaktieren Sie uns via E-Mail unter content@seibert.group, wenn Sie Zweifel, Fragen, Anregungen oder Änderungswünsche haben.