126 lines
2.9 KiB
Markdown
126 lines
2.9 KiB
Markdown
---
|
|
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 |
|