Я использую правило Mail.app (MacOS Mojave), которое создает задачу TaskWarrior для выбранного сообщения электронной почты с помощью AppleScript, использующего команду «do shell script».
Создание задачи - нетпроблема, но я хочу аннотировать задачу, которая требует, чтобы вы использовали выходные данные из сценария оболочки - «Созданная задача [номер]».Потому что аннотирование задачи - это следующий сценарий оболочки: task [число] annotete [ваша аннотация, в моем случае ссылка на сообщение электронной почты].
Я думал, что мне удалось получить «Созданная задача [номер]»результат от первого сценария оболочки к «task [number]», который является началом второго сценария оболочки, но Результатом теперь является то, что команда не указана - при условии «информации».
Я пытался использовать задержку 1, чтобы один сценарий оболочки ждал завершения другого, но безрезультатно.
Это конкретный сценарий:
tell application "Mail"
set selectedMessages to selection
set theMessage to item 1 of selectedMessages
set messageid to message id of theMessage
-- Make URL (must use URL-encoded values for "<" and ">")
set urlText to "message://" & "%3c" & messageid & "%3e"
set onderwerp to subject of theMessage
set DueDate to display dialog "Wat is de due date?" default answer "friday"
do shell script "/usr/local/bin/task add Email over " & onderwerp & " beantwoorden due:" & (text returned of DueDate) & " project:Work +email"
-- This all works as it should. A task is created with the email subject and a due date that I give it. However, from here something goes wrong
set task to the result
set laatste to rich text 1 thru -2 of task
set annotate to rich text 9 thru -1 of laatste
do shell script "/usr/local/bin/" & annotate & " annotate" & urlText
end tell
Я ожидал, что выводом будет то, что задача [число] помечена urlText сообщения.Но я получаю:
error «Почта получила ошибку: команда не указана - при условии« информация ». Совпадений нет».номер 1