Settings pages: display preferences, Slack and Teams, webhook history, work item type mapping and text fixes
Description
Depends on (merged to dev first): AP-2146 (Teams settings page and the shared Slack and Teams connection form).
Problem
A review of the settings pages found behaviour that does not match what the page shows, links that do not open, and wrong or inconsistent texts. Each item says which product it concerns.
Change
Display preferences (Jira)
-
Global preferences: an admin who unticks every location saves an empty list. The panel is then hidden on every work item for users without their own preferences, but after a reload the page shows all three locations ticked. The page shows what is stored: no location ticked after such a save.
-
Personal preferences when no global preference was ever saved: the panel shows in every location, but the page shows all three unticked and the summary says "Hidden". The page shows all three ticked, as the panel behaves.
-
Ticking "Use custom preferences" in that state saves an empty list and hides the panel for that user everywhere. It saves the locations the page shows (all three after fix 2), so turning on custom preferences changes nothing until the user unticks a location.
Slack and Teams (Jira and Confluence)
-
The "Documentation" link next to "Connect with Slack workspace" (Slack page) and "Connect new tenant" (Teams page) has no address and opens nothing. Each opens the documentation page of its chat app for the product, or is removed until that page exists (decision 2).
-
The warning about enabling interactive actions ("To enable interactive actions from Slack…" and "To enable interactive actions on Teams cards…", "go to Settings > Notifications and enable both Action buttons in notifications and Actions without login") shows even with no connection or when that chat app is not the notification mechanism. It shows only when a connection exists (for Teams, a confirmed tenant) and that chat app is the notification mechanism.
Webhooks (Jira and Confluence)
-
Call history shows 3xx status codes in neutral grey, while the "Error" filter and the approval's notification failures ("Webhook delivery") count them as failures (redirects are not followed). 3xx codes are shown in red, like other failures.
Work item type mapping (Jira)
-
Clearing a type in "Add mapping" stores an empty mapping. The dialog then shows the type as not mapped, but the work item type condition of approval paths still treats it as the global type with the same name. What clearing means is decided in decision 1; the dialog and the condition follow the same rule.
-
The "Mapping count" column counts every saved row, including empty ones. It counts only types that are mapped.
-
Texts:
-
success flag "Work items types mappings saved successfully" becomes "Work item type mappings saved.";
-
error flag "Unable to save issue mapping" becomes "Couldn't save work item type mappings. Please retry.";
-
settings menu item "Work Items type mapping" becomes "Work item type mapping".
-
Links that do not open (Jira and Confluence)
-
These links use a plain link that the app frame blocks, so clicking them does nothing. They open in a new tab like the app's other external links:
-
"OlivLang syntax guide" under the prompt on the AI Prompt step;
-
"Learn more about Markdown formatting" in the "Custom reminder" template on Settings > Message templates;
-
links, link cards and embedded link cards in the content shown in the approval's reference panel (the work item description and rich text fields in Jira, the page body in Confluence);
-
documentation, blog and "support team" links on the Get started page.
-
Texts
-
AI Prompt step, panel shown when AI is off or has no provider (Confluence): "Use them to summarize work items, assess risk..." says "Use them to summarize pages, assess risk..." in Confluence. Jira keeps "work items".
-
User step (Jira and Confluence): "Allow change of the user during the process." loses the final period, to match "Allow change of the email during the process" on the Email step.
-
Settings > Charts: "Charts use these colors in order, starting with the first. Colors set on an individual gadget override the palette." is wrong in two ways: charts by status, priority or age keep fixed colors, and Confluence has no gadgets. New text:
-
Jira: "Charts use these colors in order, starting with the first. Charts by status, priority or age keep their own colors. Colors set on an individual gadget override these."
-
Confluence: "Charts use these colors in order, starting with the first. Charts by status, priority or age keep their own colors."
-
-
Settings > AI > Data sharing (Jira): the basic fields list says "project name" and "issue type". It says "space name" and "work item type".
Decisions needed
-
Fix 7, what clearing a type mapping means:
-
a) the type has no mapping, and conditions on work item type never match it; or
-
b) clearing removes the stored choice, and the type falls back to the type with the same name, which the dialog shows with the "Default" lozenge. Recommended: b. It keeps conditions working for spaces whose type names match, and the dialog then shows what conditions use. A type with no name match shows empty and counts as not mapped.
-
-
Fix 4: the Slack and Teams documentation pages for Jira and Confluence must be given by the docs team. Recommended: remove each link until its page exists rather than keep a link that opens nothing.
Out of scope
-
Already done in AP-2146: the default connection's toggle cannot be switched off (shared Slack and Teams form).
-
Step decision webhook for skipped steps: a skipped step does not send a step decision webhook today, so no "rejected" is sent for it.
-
Other texts on these pages that are correct today.
Acceptance criteria
-
Global preferences (Jira): unticking every location and reloading shows no location ticked; the panel is hidden.
-
Personal preferences (Jira) with no global preference: all locations ticked and shown in the summary; turning on "Use custom preferences" keeps the panel in every location.
-
Slack and Teams: each documentation link opens the documentation or is gone (decision 2); each interactive actions warning shows only with a connection (for Teams, a confirmed tenant) and that chat app as the mechanism.
-
Webhook call history shows 3xx codes in red.
-
Work item type mapping: after clearing a type, the dialog and the work item type condition agree (decision 1); "Mapping count" counts mapped types only; the new texts are shown.
-
Every link in fix 10 opens in a new browser tab, in Jira and in Confluence.
-
The texts of fixes 11 to 14 are shown as written, each only in its product.
Manual tester notes
-
Display preferences need a Jira site where the app's global display preference was never saved; use a fresh site or check with the developer how to remove it.
-
Check the panel on a work item in all three locations (work item content, Activity tab, Details tab) after each preference change.
-
For fix 5, check the Slack and Teams pages with and without a connection, and with each notification mechanism.
-
For fix 6, point a webhook at an https URL that answers with a redirect (webhook URLs must use https), for example https://httpbin.org/status/302.
-
For fix 7, use a team-managed space whose type names match the global types (for example "Task") and one whose names do not, and check a condition on work item type before and after clearing.
-
For fix 10, check the reference panel in Jira with a work item description, and in Confluence with a page, that contain plain links and link cards.
-
Also click a space name, key and avatar in the work item type mapping table (Jira): they are plain links without a target. If they do not open the space, they belong to fix 10.