Pending approvals and history list view on JSM customer portal

Description

Background

JSM customers and agents need a single place in the customer portal where they can see all of their approvals. Today they have to open individual requests to check an approval's status, and the built-in JSM "My approvals" page only shows a list of pending items with Approve/Reject actions, offering no history, sequential steps, filtering, or activity.

The goal is to provide, in the customer portal, a view covering all of the signed-in user's current approvals and their activity, mirroring the personal view available to regular Jira users. The feature works only in the customer portal (not the issue view, not the internal agent view) and is available equally to agents and to regular users (customers and unlicensed users).

The view opens from the user (avatar) menu in the portal as an "Approval Path" item and presents two tabs: Approvals (default) and Activity.

Functional scope

By default the view shows the current user's approvals across all projects they have access to. The user narrows the list to selected projects using the existing project filter in the toolbar.

The Approvals tab covers both pending items and history, preserving filters and pagination. The Activity tab is limited to the user's own activity (not the full project activity), with the same mechanism for narrowing to selected projects.

The "Approval Path" item is visible to signed-in portal users (help center, project portal, request view), provided the administrator has enabled the feature for the relevant user group (customer or agent).

Business value

Unlike the built-in JSM "My approvals" page, this view provides: full approval history (items do not disappear after being approved or rejected), multi-step and sequential approvals, bulk actions, filtering and sorting by project and status, and an activity tab. It provides a single entry point from every portal page.

Acceptance Criteria

Access and visibility:

  • The "Approval Path" item appears in the avatar menu on every portal page: the help center home, the project portal page, and the request view.

  • The view is available in three user variants: portal customer without an Atlassian account (unlicensed), portal customer with an Atlassian account (customer), and JSM agent.

  • A customer without an agent license sees the same view as other users.

Approvals tab:

  • By default it presents the current user's pending approvals across all accessible projects.

  • The project filter narrows the list to the selected project or projects.

  • Switching to approval history is available.

Activity tab:

  • It presents activity limited to the current user, across all accessible projects.

  • The project filter narrows the activity to the selected project or projects.

Behavior and consistency:

  • Navigating to an approval's details from the view routes to the corresponding request view in the customer portal.

  • An agent sees only their own approvals and activity, not the approvals of all projects.

  • Portal customer data is sanitized: settings and fields not intended for customers are not exposed.

  • The administrator can enable or disable availability of the feature separately for customers and for agents; when the feature is disabled, access to the view and its related endpoints is rejected.

Technical notes (for testing)

  • New Forge module: jiraServiceManagement:portalUserMenuAction (route portal-personal), shown in the portal avatar menu.

  • JSM permission scope changed from read:servicedesk:jira-service-management to read:servicedesk-request (with allowImpersonation); this requires re-consenting to app permissions on upgrade.

  • Agent detection is independent of the request context (isServiceDeskAgentInAnyProject), because the avatar menu does not carry a project context.