Во многих статьях о продуктивности пишут, что у человека всегда должен быть список дел, которые он должен сделат за день. Однако во время работы нередко происходит так, что личные задачи лежат в одном месте, корпоративные - в другом, задачи open source проекта (к примеру) - в третьем. Сегодня мы поговорим о том, как собрать единый список задач в Google Calendar автоматически и в каждый момент времени понимать свою повестку дня.

Почему Google Calendar?
Google сервисы отлично синхронизируются с большинством платформ: iOS, MacOS, Android, даже WindowsPhone! На Windows 10 вроде тоже работала синхронизация, но я ее запускал очень давно, поэтому уверенно утверждать о том, что события адекватно придут на эту операционную систему от Microsoft, не буду.
С Google сервисами отлично интегрированы различные автоматизаторы типа IFTTT или Zapier, поэтому в случае отсутствия готовых инструментов синхронизации, всегда можно попробовать накостылять что-то свое. А если даже таким образом решить проблему не получится, то для большинства популярных языков программирования есть модули, умеющие общаться с Google API.
Однако, не все так плохо, и далее Вы в этом убедитесь :)
А почему календарь? Там же нет задач!
Задачи могут отображаться в календаре сверху как события на весь день. Таким образом, внизу будет график настоящих событий, а наверху будут все задачи. По-моему, это удобно:)
Есть только одна проблема: нет возможности редактировать информацию из внешних сервисов. Но я считаю, что в этом нет острой необходимости, потому что каждый описанный ниже сервис имеет много специфических функций, которые в любом случае не укладываются в интерфейс календаря. И ведь наша задача не сделать полнофункциональный агрегатор, а лишь просто собрать список задач в одном месте.
Еще одна важная особенность: в календаре появятся только те задачи, у которых есть крайний срок, иначе непонятно, в какое место календаря их добавлять.
Внешние календари
Внешние календари подключаются с помощью ссылки. Добавление происходит с помощью кнопки “+”, далее “Добавить по URL”.

Вставляем туда ссылку, нажимаем на “Добавить календарь”. И готово!
Таким образом, внешние сервисы смогут доставлять к Вам список своих событий. Но так как календари все-таки внешние, Google по умолчанию не синхронизирует их.
Чтобы включить синхронизацию, нужно перейти на эту страницу и отметить галочками нужные для синхронизации календари.
Подключение сервисов
Wunderlist
Работает через подключение календаря по ссылке.
- Заходим в веб-приложение
- Нажимаем на стрелочку рядом с именем
- Далее “Параметры учетной записи”
- Чуть ниже будет поле “Канал календаря” со ссылкой. Добавляем ссылку указанным выше способом, и задачи из Wunderlist появляются в Google Calendar!
Trello, Todoist
Для настройки нужно зарегистрироваться на IFTTT, подключить аккаунты Trello и Google Calendar и настроить соответствующую автоматизацию с помощью ссылок ниже. Частично процесс работы с этим сервисом описан здесь.
Flow
Flow также поддерживает синхронизацию календаря по ссылке. Подробная инструкция по настройке находится здесь. Нужно отметить, что указанных в статье настроек нет в бета-версии веб-приложения, поэтому нужно по-старинке заходить на http://app.getflow.com.
Gitlab
Let’s hardcore begins! Нету у них никакой поддержки экспорта крайних сроков issue. Можно попробовать сделать костыль на Zapier, который умеет подключаться к обоим сервисам, но я не рискнул это сделать.
На github есть проект, который умеет осуществлять синхронизацию через Webhook. Я дописал поддержку Docker, кому надо - пользуйтесь. Конечно же минус такого решения: придется заморачиваться с сервером. Но если у Вас нет проблем с этим, перейдем к настройке:
- Переходим в Google Developer Console
- Создаем проект
- Создаем сервисный аккаунт
- Создаем ключ сервисного аккаунта, скачиваем его и кладем в папку с проектом
- С помощью верхнего поиска находим
Google Calendar APIи включаем его - Создаем календарь в Google Calendar, и даем доступ сервисному аккаунту на внесение изменений
- Отредактировать конфигурационный файл:
1 | |
- Выкладываем приложение gitlab-calendar на какой-нибудь сервер. Оно должно запуститься на порту
8080(если Вы ничего не меняли) - Идем на http://gitlab.com
- Открываем нужный проект, затем Settings / Integrations
- Вставляем ссылку на работающее приложение
- В Secret Token вставляем
ЛЮБОЕ СЛУЧАЙНОЕ СЛОВО, которое Вы написали в конфигурационном файле в 7 пункте - Добавлем webhook
- Готово (да, наконец-то)
Постарался описать все подробно, надеюсь, у Вас получится:)
Если инструкции по интеграции Вашего любимого сервиса тут нет, напишите мне или дополните статью самостоятельно.
Продуктивной Вам недели!:)