Child pages
  • Vorgangsnavigator: Error bei der Suche nach Vorgängen
Skip to end of metadata
Go to start of metadata

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