Action
Todoist: Add comment to specific project
Steps
-
script
// See online documentation for examples // http://getdrafts.com/scripting // action from @TDK_SA90, modified by @FlohGro // original action: https://actions.getdrafts.com/a/1fG // utility function let mapIds = (arr, key, valKey) => { let result = {}; arr.forEach(o => { result[o[key]] = o[valKey]; }) return result; } let f = () => { let content = draft.processTemplate("[[draft]]"); let todoist = Todoist.create(); let projects = todoist.getProjects(); if (!projects) { console.log("Unable to retreive data from Todoist."); return false; } console.log("1"); // create prompt let p = Prompt.create(); p.title = "Select Project to Import"; // add projects let projectLookup = mapIds(projects, "name", "id"); let projectNames = Object.keys(projectLookup); p.addPicker("project", "Project", [projectNames], [0]); p.addButton("Select Project"); if (!p.show()) { context.cancel(); return true; } console.log("2"); // read values from prompt let projectIndex = p.fieldValues["project"][0]; let projectName = projectNames[projectIndex]; let projectID = projectLookup[projectName]; console.log("3"); let result = todoist.createComment({ "project_id": projectID, "content": content }); if (result) { return true } else { return false } } if (!f()) { context.fail() }
Options
-
After Success Ask Notification Info Log Level Info
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.