Files
SecondBrain/10 Knowledge/Templates/Jira incident template.md
T

2.9 KiB

date, jira, actual_sync_issue, status, classification
date jira actual_sync_issue status classification
false investigating

<%* 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