Как программно в трелло создать карточку задачи 1с

Обновлено: 07.07.2024

В своей работе я столкнулся с необходимостью организации задач сотрудников департамента аналитики в едином окне и построения прозрачной схемы оценки их загруженности.

Какие есть варианты?

Сравнивая различные инструменты и таскменеджеры, выбор пал на одного из популярных игроков рынка - Trello. Однако, сразу после выбора программы, возникло новое препятствие. В бесплатной версии этого приложения отсутствовала возможность синхронизации досок нескольких сотрудников воедино без сторонних сервисов, типа Zapier, где для большого проекта тоже нужна лицензия.

В чем смысл объединения?

Заходить в 5 досок и просматривать отдельно каждого, просто не хватит времени и сил.

Если не синхронизировать доски на одном экране, будет крайне сложно сравнить одного сотрудника с другим по уровню текущей нагрузки.

Сотрудники хотят понимать нагрузку каждого из членов команды, а для этого нужно опять же как то сводить все воедино.

Подобный функционал синхронизации бесплатно доступен у некоторых конкурентов, которые специализируются на agile таскменеджерах, но трелло просто был роднее, тк для личного контроля задач использую его уже несколько лет. Таким образом, для внедрения общего командного таскменеджера в работу департамента осталось решить всего одну проблему:

Как синхронизировать доски 5 сотрудников в одной доске "дашборде" и при этом не оплачивать лицензию в Трелло или передаточных сервисах типа Zapier?

Решение задачи:

К счастью для работы с досками trello уже создан полноценный пакет на языке R, который позволяет подключаться к API таскменеджера, и именно им я и решил воспользоваться для решения всех задач.

Ход решения:


Сохраняем ключ и токен, который можно найти внизу этой же страницы


Далее установим сам язык R. Для его подключения нужно скачать и установить инсталляторы. Также для комфортной работы с R рекомендую использовать бесплатную среду разработки RStudio.

Для решения вышеописанной задачи нам потребуется установить пакеты для:

работы с API Trello — «trelloR»

работы со временем и временными периодами — «lubridate»

работы с таблицами и агрегации данных — «dplyr»

Чтобы установить пакеты из основного репозитория CRAN примените базовую функцию install.packages, а для загрузки пакетов с github функцию install_github:

Подключаемся к API и получаем токен:

В функции необходимо будет только заполнять переменные:

delcard - Это id дашборда в который будет записываться информация из досок сотрудников

addcard - Это id листа из которого будут браться карточки для переноса в дашборд

nlista - номер листа в дашборде в который будут заноситься карточки

Получаем delcard

Для получения id дашборда куда будем писать общие карточки, сначала необходимо создать эту доску в самом Трелло, а затем из поисковой строки браузера скопировать необходимый нам id

Получаем addcard

Для того чтобы получить лист откуда будут браться исходные данные, мы точно также как с delcard копируем ссылку на доску, только теперь забираем всю ссылку целиком и используя готовую функцию извлекаем все листы на исходной доске:

В результате выполнения функции, прямо в консоли R мы получим перечень всех листов на доске и по названию листа можем выбрать необходимый нам id для получения карточек


Данную процедуру мы проделываем для досок всех наших сотрудников из досок которых мы планируем забирать карточки для переноса на дашборд.

Далее проходим доски всех сотрудников и перезаписываем их на общий дашборд используя функцию созданную выше:

Так же я продумал вопрос, связанный с тем, чтобы получать в карточки дашборда информацию о том, когда была создана исходная карточка, чтобы можно было оценить, как долго уже решается та или иная задача (ведь дедлайны можно менять). Дата привязывается к моменту создания исходной карточки. Далее настраиваем автоматический запуск скрипта для актуализации дашборда и задаём нужное количество раз обновлений в день.

Готовый дашборд

Готовый дашборд

Мы получили полноценную синхронизацию всех досок любого числа сотрудников в trello

Решили проблему с тем, чтобы наглядно иметь доступ к дате создания каждой задачи

Имеем фундамент для анализа продуктивности сотрудников в любых разрезах, благодаря возможности добавлять в код новые различные улучшения расширяя код на основе Api от Trello, на основе бизнес логики вашей компании и возможностей языка R.

Канбан-доска Трелло (Trello) достаточно проста, удобна и популярна, и обладает простым API, позволяющим создать интеграцию с 1С. Также, на 1С уже создано несколько интерфейсов, реализующих канбан-доски. Их объединение позволяет расширить и сделать удобнее возможности постановки, контроля и решения задач, а также статистику по ним, с помощью механизмов Трелло.

Авторизация выполняется для каждого выполняемого метода, т.е. никаких ключей сессий нет, а есть токен, полученный на основе ключа (аккаунта). Токен и ключ передаются как параметры запроса в каждом вызове rest-метода, причём рекомендуется передавать их первыми двумя параметрами.

Токен принадлежит конкретному пользователю, и при работе методов всегда конкретизируется исходя из параметров запроса. Обращения "/1/members/me" and "/1/member/me" синонимичны. Указание "me" в адресе относится к пользователю, для которого был сгенерирован токен согласно аккаунту Трелло. В общем случае, для тестирования и для обмена с 1С достаточно токена одного аккаунта, обладающего полными правами в Трелло (очевидно, что все вопросы прав доступа при этом разумно реализовать уже на стороне 1С).

Насколько мне удалось понять из документации, токен не имеет срока действия и постоянен. Более подробно об авторизации тут.

Получение токена выполняется из веб-интерфейса Трелло:


Ключ система присваивает сразу, а токен нужно отдельно получить по ссылке "токен". Будет выдан запрос:


Внизу этой страницы будет запрос подтверждения:


И в итоге будет выдан постоянный токен:


Механизмы реализации рест-обмена

Инициализация и вызов выполнения запросов

При необходимости можно по тем же принципам сделать обратные преобразования. Также можно добавить обработку и других полей (я их указал как "дополнительные", просто к сведению).

Общий принцип чтения:
/1// - получение одного объекта по его ИД;
/1/// - получение коллекции объектов, вложенных в объект;
параметр fields (массив строковых имён) позволяет получить только нужные поля каждого объекта коллекции; по умолчанию "all";
параметр filter позволяет отобрать по ряду доступных для отбора полей объекты коллекции согласно нужным значениям;
/1/// - получение конкретного значения указанного поля указанного объекта. Получение поля работает так не всегда, а лишь в ряде предусмотренных случаев, см.документацию!

В параметр "ПоляВыборки" можно передавать строку, где через запятую перечислены нужные поля выборки, если нужны не все.

Добавление и удаление для наиболее используемых объектов. Обновление - только там, где это имеет смысл. При удалении, разумеется, следует выполнять проверочные действия и строить логику защиты на стороне 1С. В качестве примера в работе с чек-листами сделана проверка наличия чек-листа перед операциями с ним.

Отмечу, что веб-интерфейс реагирует на вызов методов, изменяющих данные, мгновенно, без обновления страницы (но, возможно, в других браузерах при других настройках кэширования это не так). При конкурентном доступе из кода или интерфейса результат соответствует действию, последнему по времени вызова.

Также могут представлять интерес следующие действия
* Отметить как прочитанные, т.е. сбросить все оповещения: POST /1/cards//markAssociatedNotificationsRead
* Архивировать все задачи на листе: POST /1/lists//archiveAllCards
* Перенести все задачи листа на другой лист: POST /1/lists//moveAllCards
* Получение ответной реакции на действие (комментарий) в задаче: GET /1/actions//reactions/

Приведённая на скриншоте публичная доска также небезынтересна, кроме того, там можно пообщаться с разработчиками.

Примечания:
1. При отправке дат, как устанавливаемых значений свойств, не забывайте про правильный формат - должен быть ISO 8601-2001 (т.е. вида "ГГГГ-ММ-ДДTЧЧ:ММ:ССZ", вариант записи "УниверсальнаяДата").
2. В ряде случаев, особенно для кириллицы, может потребоваться url-перекодировка, используйте глобальные "КодироватьСтроку" и "РаскодироватьСтроку".

Тестировалось на 8.3.16.1063, но должно работать на всех релизах не ниже 8.3.10.

Для обмена с Trello нужно зарегистрироваться в сервисе и получить ключ и токен (зайти сюда).

Проверено на версии 8.3.16.1063.

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Молодец. Но мне начальство сказало в своё время, что недопустимо хранить конфиденциальные сведения компании о разработке на сторонних серверах. И мы выбрали standalone-сервер YouTrack. Интеграция та ещё, но вроде работает. Ну и учёт времени есть ещё, и спринты. Здравствуйте.
Вы используете в обмене post-запросы multipart/form-data? (2) для отправки файла да, там код я заимствовал, ресурс не помню (4) можете поделиться конкретно этим куском кода? Просто пытаюсь написать аналогичный, но почему-то на сервис приходит только первая часть запроса, никак не могу победить передачу файлов.

Разумеется, если там не колоссальные объёмы, т.к. ограничение в 1ГБ на операцию с двоичкой никто не отменял, а в веб-клиенте особенно)

(29) А вам спасибо за сам принцип, как правильно скармливать Трелло файл для вложения. А то было уже обыскался.

Ну и рРазмер потом надо сунуть в заголовке запроса в content-length, естессно

(8) И кстати у вас там ошибка. Там одна завершающая строка с разделителем - лишняя, надо не boundary писать, а просто пустую строку. Так согласно формату multiparts. А если как у вас, да гнать туда текст, то в итоге к тексту снизу припишется эта самая строчка-boundary.

А если несколько пользователей будут отправлять, то может не сработать

Чтобы файл с кириллицей загрузился, нужно написать так

Скачал Вашу поделку . Очень пригодилась. Отличная работа. Очень хорошо что все что касается трелло выделено в отдельную подсистему.
Интегрировать Ваш функционал одно удовольствие.

Держите в качестве благодарности код для раскрашивания карточкек ;) (В Вашей разработке такого нет)

(34)
Подскажите пожалуйста, сам я начинающий разработчик, с апи не работал, но задачу поставили) Нужно в ваш модуль добавить возможность заполнения пользовательских полей. Вроде метод нашел, но чтобы их заполнить нужно получить id этих полей. Вот и собсна вопрос, как его можно получить? (35) Данную обработку делал давно и после ею не занимался. Посмотреть api нужно в трелло, но сейчас недосуг.

Просмотры 18328

Загрузки 54

Рейтинг 56

Создание 15.02.20 21:45

Обновление 15.02.20 21:45

№ Публикации 1195416

Конфигурация Конфигурации 1cv8

Операционная система Windows

Страна Россия

Доступ к файлу Абонемент ($m)

Код открыт Да

См. также

Модуль обмена с QIWI Промо

Компании, которые используют систему моментальных платежей QIWI, ценят ее за удобство по скорости выплат и для платежей по запросу. Но такие переводы сложны для учета, а при большом объеме проводимых операций отнимают много времени и превращаются в дополнительную головную боль. Мы сотрудничали с компаниями, которые отправляют большое количество платеже на QIWI, и часто слышали боль бухгалтеров о том, как им сложно работать с такими переводами. Поэтому мы автоматизировали выплаты через QIWI в 1С и создали модуль интеграции 1С c API QIWI Wallet и QIWI TopUp.

5 стартмани

25.05.2020 8205 0 Neti 10

Расширение конфигурации для Web-доступа к 1С (1С в роли back-end)

Для реализации того, чтобы 1С формировала и отдавала страницу, которую можно было бы открыть через браузер было написано расширение, которое позволяет публиковать из 1С произвольные ресурсы, будь то API, сайт или изображения / прочие файлы.

1 стартмани

01.04.2021 8842 11 SaschaG 4

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021 10481 31 Parsec1C 11

1 стартмани

24.03.2021 7124 13 ltfriend 12

BIM: взаимодействие с платформой Autodesk Forge Промо

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

Trello — это очень распространенная программа по организации личных дел и бизнеса. Когда пользователь только заходит в нее, она может показаться ему очень простой и примитивной, но чем больше он работает с ней, тем больше фишек и сюрпризов он находит. В этой статье я рассмотрю как самые начальные аспекты работы, так и более продвинутые функции Trello о которых не знает большинство пользователей.

P.S. если вы хоть раз открывали приложение trello листайте до основы работы.

Как начать работу

В самом начале мы видим экран, на котором на предлагают создать доску, давайте сделаем это. Необходимо всего лишь ввести название доски и выбрать фон (я всегда выбираю наиболее нейтральную фотографию или еще лучше просто однотонный цвет, чтобы ничего не отвлекало от карточек внутри доски, и они контрастировали с задним фоном). Готово, мы создали свою первую доску.

Теперь нам нужно «добавить список», то, что я в дальнейшем буду называть колонкой. Нажимаем «добавить», вводим название и тут начинается самое интересное, потому что сейчас мы перейдем к созданию карточек.

Для добавления карточки необходимо ввести название, и после создания мы можем нажать на саму карточку и провалиться в ее настройки.

Как только мы создали карточку перед нами предстает абсолютно чистый шаблон, который теперь мы можем настраивать и кастомизировать под себя практически так, как нам захочется, но для начала давайте быстро ознакомимся со строением карточки.

Каждая карточка имеет название, описание и действие. Название буде видно нам «снаружи» на всей доске, а вот вся остальная информация скрыта внутри карточки и только некоторые справочные пункты можно тоже выносить как бы на обложку карточки.

Основы работы

Давайте посмотрим направо и быстро изучим основные вещи, которые мы можем добавить на карточку.

Первое — это метки. Они видны снаружи карточки и помогают выделять отдельную карточку среди остальных, а также присваивать каждой карточке свою роль. Метки можно называть по-разному, и каждая метка может обозначать карточку с той или иной информацией.

Например вот так выглядят мои метки. Карточку с соответствующей информацией я обозначаю соответствующей меткой, например если в карточке содержится ссылка на какую-нибудь важную статью, я отмечаю ее желтой меткой, а если карточка содержит домашнее задание, или еще какое-нибудь дело, которое я должен выполнить, она помечается красной меткой.


Вторая, не менее важная функция в карточке — это чек-лист. Тут все просто, можно создать чек-лист с определенным названием, например «список покупок» или «домашнее задание», потом внести в него необходимые для выполнения пункты и затем отмечать по мере исполнения. Каждый выполненный пункт будет оставаться в чек-листе, но зачеркиваться, показывая, что вы выполнили, а что нет, и какой объем работы был вами проделан.

Интересная модель: когда я готовился к ЕГЭ, и у меня было большое количество вебинаров, которое нужно было посмотреть, я просто создавал чек-лист с вебинарами и в строчки вносил ссылки на эти видео, а затем отмечал по мере просмотра.


Третья функция карточки — это создание сроков. Мы можем задать срок выполнения той или иной задачи, записанной на карточке, и trello напомнит нам заблаговременно, что срок карточки скоро истекает и будет менять цвет маркера времени на карточке в зависимости от того, сколько времени осталось до намеченного срока. Также мы можем добавить календарь на всю доску, и у нас появится еще одна полезная функциональность доски.

Как это сделать:

  1. В правом верхнем углу доски нажимаем на кнопку «меню».
  2. Далее, в открывшемся меню мы видим раздел Улучшения.
  3. Открываем этот раздел и вбиваем в поиск «календарь», по-русски или по-английски в зависимости от версии приложения.
  4. Видим карточку «calendar» и нажимаем добавить.
  5. Готово, теперь на нашей доске есть календарь.

Теперь, когда мы создали карточку с определенным временем исполнения, она автоматически добавится в календарь, и при нажатии на кнопку «календарь» на доске, мы увидим наши задачи, которые необходимо выполнить к определенному сроку.

Четвертая штука — это вложения, на них мы остановимся поподробнее. Для меня, человека, который из-за учебы работает с огромным количеством файлов, это одна из самых полезных функций карточки. В эти вложения можно очень просто добавлять картинки или файлы, перетащив их из папки на компьютере или телефоне на карточку (drag and drop).

Интересный факт: если вы закидываете туда картинку, то она становится обложкой карточки, иногда это мешает, поэтому можно отменить добавление обложки, но я создал специальные картинки, на которых написал разные нужные мне информационные баннеры, и теперь при добавлении этой картинки, у меня получается красивая и сообщающая мне о чем-то обложка карточки (по сути, как метки, только больше и ярче).

Читайте также: