--- date: jira: actual_sync_issue: false status: investigating classification: --- <%* const baseTrackingFolder = "20 Work/Tracking"; // Today's values const date = tp.date.now("YYYY-MM-DD"); const year = tp.date.now("YYYY"); const month = tp.date.now("MM"); // Find available Tracking folders const trackingRoot = app.vault.getAbstractFileByPath(baseTrackingFolder); if (!trackingRoot) { new Notice("Tracking folder not found."); return; } const folders = trackingRoot.children .filter(item => item.children) .map(item => item.name) .sort(); if (folders.length === 0) { new Notice("No tracking folders found."); return; } // Select tracking category const tracking = await tp.system.suggester( folders, folders, false, "Select tracking folder" ); if (!tracking) { new Notice("Tracking cancelled."); return; } // Jira number const jira = await tp.system.prompt( "Jira ticket (ex: PBI-123)" ); if (!jira) { new Notice("Tracking cancelled: no Jira ticket entered."); return; } // Update YAML properties const currentFile = tp.file.find_tfile(tp.file.path(true)); await app.fileManager.processFrontMatter( currentFile, (frontmatter) => { frontmatter.date = date; frontmatter.jira = jira.toUpperCase(); frontmatter.actual_sync_issue = false; frontmatter.status = "investigating"; frontmatter.classification = null; } ); // Create destination folders const trackingFolder = `${baseTrackingFolder}/${tracking}`; const yearFolder = `${trackingFolder}/${year}`; const monthFolder = `${yearFolder}/${month}`; if (!app.vault.getAbstractFileByPath(yearFolder)) { await app.vault.createFolder(yearFolder); } if (!app.vault.getAbstractFileByPath(monthFolder)) { await app.vault.createFolder(monthFolder); } // Move + rename await tp.file.move( `${monthFolder}/${date} - ${jira.toUpperCase()}` ); // Generate heading tR += `# ${jira.toUpperCase()}`; -%> ## Observation - ## Verification - Reported time: - Checked time: - Expected availability: - Content available: - Technical issue identified: ## Outcome - --- Available status: - investigating - resolved - monitoring Available classifications | Classification | Use when | | ---------------------- | ---------------------------------------------------------------------------------- | | `confirmed-sync-issue` | There was an actual technical synchronization problem | | `no-issue-confirmed` | Complaint resolved/no technical issue found | | `unrelated-issue` | The problem was real, but **not caused by synchronization** | | `user-error` | Incorrect action/configuration/input by the requester caused the perceived problem | | `unknown` | Insufficient information to determine what happened |