День добрый!
Занимаюсь общением из go с webservices otrs5. Нужно работать с файлами в атачах. Способ из документации очень тяжелый.
Есть идея сделать прокси GraphQL <=> OTRS. Это может пригодится кроме моей интеграции еще для WEBUI и мобильных приложений.
Нужна помощь с OTRS.
У меня есть рабочий http сервер с GUI клиентом GraphQL (https://github.com/alexsuslov/go-graphiql)
Как я вижу процесс:
Схему данных получим из DB и webservices. Нужно делать генераторы которые будет строить GraphQL resolve.
Дальше это нужно потестить.
Заранее благодарен всем кто откликнется
Всем удачи.
Александр Суслов
----------
https://graphql.org/
GraphQL <=>OTRS
Модератор: ykolesnikov
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 20 мар 2019, 11:51
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 20 мар 2019, 11:51
Re: GraphQL <=>OTRS
Сделал
- репозиторий https://github.com/alexsuslov/goGraphQL-OTRS
- Resolver генератор
Получил структуру таблиц
- ticket
- article
- article_attachment
результат генерации выглядит так:
https://github.com/alexsuslov/goGraphQL ... t/tiket.go
Завтра запущу прокси, которую можно потрогать.
- репозиторий https://github.com/alexsuslov/goGraphQL-OTRS
- Resolver генератор
Получил структуру таблиц
- ticket
- article
- article_attachment
результат генерации выглядит так:
https://github.com/alexsuslov/goGraphQL ... t/tiket.go
Завтра запущу прокси, которую можно потрогать.
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: GraphQL <=>OTRS
Зачем это нужно? Велосипед и костыли? Чем стандартный API не устраивает?
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 20 мар 2019, 11:51
Re: GraphQL <=>OTRS
День добрый!
Итак зачем:
1. У меня есть проблема, я ее решаю. Решаю так как умею.
(У человека с молотком весь мир гвозди)
Я у вас спрашивал:
- почему 2 сервера один копия др. отдают данные по разному. (числа как строки)
- как получить расширенные данные о клиенте тикета
Ответ меня не устроил.
2. Скорость работы:
У меня ответ стандартного API 78 сек.(Уверен я не умею его готовить)
мне нужно получить имена прикрепленных файлов и желательно hash файла.
Я с перла слез 94 году. Обратно не хочется. Это у же тогда был "write only". Проще на бабельном js писать.
Если этот велосипед ни кому не нужен. Обкарнаю до нужной мне функциональности и сделаю gRPC сервер. 2 дня работы и будет отдавать за вменяемое время, с понятным форматом данных и только то, что нужно.
А GraphQL это просто красивое решение от фейсбука для похожих у них проблем.
Удачи!
Александр.
PS: Будет нужна помощь, Обращайтесь.
Итак зачем:
1. У меня есть проблема, я ее решаю. Решаю так как умею.
(У человека с молотком весь мир гвозди)
Я у вас спрашивал:
- почему 2 сервера один копия др. отдают данные по разному. (числа как строки)
- как получить расширенные данные о клиенте тикета
Ответ меня не устроил.
2. Скорость работы:
У меня ответ стандартного API 78 сек.(Уверен я не умею его готовить)
мне нужно получить имена прикрепленных файлов и желательно hash файла.
Я с перла слез 94 году. Обратно не хочется. Это у же тогда был "write only". Проще на бабельном js писать.
Если этот велосипед ни кому не нужен. Обкарнаю до нужной мне функциональности и сделаю gRPC сервер. 2 дня работы и будет отдавать за вменяемое время, с понятным форматом данных и только то, что нужно.
А GraphQL это просто красивое решение от фейсбука для похожих у них проблем.
Удачи!
Александр.
PS: Будет нужна помощь, Обращайтесь.
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 20 мар 2019, 11:51
Re: GraphQL <=>OTRS
Потому, что у меня есть теперь
- авто документированный API
- сообщения об ошибках
- веб конструктор запросов
- авто документированный API
- сообщения об ошибках
- веб конструктор запросов
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 20 мар 2019, 11:51
Re: GraphQL <=>OTRS
Сделал велосипед
Надо потестить как генерится под другие версии OTRS.
Подумать как сделать авторизацию для апи.
Всем удачи!
Александр.
Надо потестить как генерится под другие версии OTRS.
Подумать как сделать авторизацию для апи.
Всем удачи!
Александр.
-
- OTRS Гуру
- Сообщения: 5192
- Зарегистрирован: 20 сен 2010, 18:17
- Откуда: Москва
- Благодарил (а): 92 раза
- Поблагодарили: 82 раза
Re: GraphQL <=>OTRS
Это аргумент хороший))
Где спрашивали?alexsuslov писал(а): ↑29 мар 2019, 04:33Я у вас спрашивал:
- почему 2 сервера один копия др. отдают данные по разному. (числа как строки)
- как получить расширенные данные о клиенте тикета
Это как-то странно звучит. Зависит от запроса, конечно. Тут и готовить-то нечего. Хотя есть мнение, что с быстродействие у GraphQL есть проблемы.alexsuslov писал(а): ↑29 мар 2019, 04:33У меня ответ стандартного API 78 сек.(Уверен я не умею его готовить)
Если нужна, какая помощь с API или данными, обращайтесь. Для полезного и интересного решения всегда готов помочь!
С уважением,
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
Алексей Юсов
Prod: OTRS CE ITSM 6.0.28 on CentOS 7 Apache 2.4 MariaDB 10.4.13 + Radiant Customer Portal
Radiant System OTRS Intergrator RU
Группа OTRS Community в Teleram
Хотите внедрить OTRS? Спросите меня как!
-
- OTRS Новобранец
- Сообщения: 11
- Зарегистрирован: 20 мар 2019, 11:51
Re: GraphQL <=>OTRS
Доделал нужный мне функционал, для теста проверил генератор на всех таблицах моего отрс.
Как сделать на своей базе:
Необходимо получить схему таблицы:
в отрс есть sql запросы
SHOW COLUMNS FROM sla;
получаем схему в файл csv.
файл переименовываем с именем поля
sla.csv
копируем sla.csv в папку goGraphQL-OTRS/api/csv/
в корне запускаем
time ./gen.sh
real 0m1.466s
user 0m0.688s
sys 0m0.674s
функциональность для мутации данных, не сделана.
В принципе возможно добавить в генератор, но без спецов по отрс я за это не возьмусь.
Всем удачи!
Александр.
Как сделать на своей базе:
Необходимо получить схему таблицы:
в отрс есть sql запросы
SHOW COLUMNS FROM sla;
получаем схему в файл csv.
файл переименовываем с именем поля
sla.csv
копируем sla.csv в папку goGraphQL-OTRS/api/csv/
в корне запускаем
time ./gen.sh
real 0m1.466s
user 0m0.688s
sys 0m0.674s
функциональность для мутации данных, не сделана.
В принципе возможно добавить в генератор, но без спецов по отрс я за это не возьмусь.
Всем удачи!
Александр.
- Вложения
-
- Снимок экрана 2019-03-31 в 16.48.19.png (236.58 КБ) 12426 просмотров