Zeige mehr…

Vorgangsnavigator: Error bei der Suche nach Vorgängen

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

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:

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';

Fragen?

Besuchen Sie unsere Hilfeseite für weitere Informationen.

Zeige mehr…
Zeige mehr…