0. stoptime 287 12.11.14 11:14 Сейчас в теме

Redmine - библиотека для интеграции с 1с

Библиотека, которая через REST API взаимодействует с Redmine. На текущий момент реализована работа проектами, задачами, учетом времени.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Yashazz 2333 14.11.14 00:55 Сейчас в теме
Автор, мои вам респекты. Но такой вопрос - может быть, чисто случайно, вам встречались сведения по API для TFS? Всё хочу интегрироваться, а инфы мало... Если да, киньте, плз, в меня ссылкой.
2. stoptime 287 14.11.14 09:56 Сейчас в теме
(1) Yashazz, Смотрел выступление на infostart event на эту тему. Может поищите, есть на ютуб канале Доржи Но там все сложно, через снегопад писали свои скрипты, и вспомогательный софт. Не мой уровень к сожалению.
3. pumbaE 618 14.11.14 18:31 Сейчас в теме
Только задачи или и wiki тоже забираете?
4. stoptime 287 15.11.14 10:15 Сейчас в теме
(3) pumbaE,
Wiki не забираю. У всех объектов единообразный интерфейс, добавить нужное не сложно.
5. PrinzOfMunchen 76 19.11.14 12:12 Сейчас в теме
(4) уже давно сделал интеграцию с 1С, только я делал через внешние источники данных. В связи с развитием ВИД, можно с их помощью уже не только получать данные из Redmine в 1С, но и из 1С писать напрямую в Redmine.
6. stoptime 287 19.11.14 15:56 Сейчас в теме
(5) PrinzOfMunchen, Был в начале такой план, но у меня база лежит на внешнем хостинге.
16. PrinzOfMunchen 76 24.11.14 11:04 Сейчас в теме
(6) ну так у нас тоже. Для ВИД это не проблема. Ты можешь через них к любой базе цепануться.
7. omut 19.11.14 21:44 Сейчас в теме
Нет в планах использовать redmine_contacts? Интересно было бы связать через пользователей 1С
8. stoptime 287 19.11.14 22:05 Сейчас в теме
(7) omut, Есть в планах добавить пользователей и роли. чтобы с ними можно было работать.
нужно немного разгрести дела, сесть и сделать. может на выходных сделаю
9. omut 20.11.14 00:36 Сейчас в теме
(8) я использовал этот плагин. Логика работы была такая: пользователи 1С не являются пользователями редмайн, а являются контактами. Данные по контакту через апи добавлялись в редмайн (если такого контакта там еще не было) и автоматически привязывались к задачам. К сожалению, руки так же не дошли добить до конца интерфейс добавления задачи в 1С (
14. stoptime 287 20.11.14 14:55 Сейчас в теме
(9) omut, Посмотрел плагин. у него есть API так что прикрутить можно. Единственное не понял в чем преимущество его пользования?
15. omut 21.11.14 10:48 Сейчас в теме
(14) обратная связь от пользователей 1С без необходимости заводить их в качестве пользователей. Например, можно создавать новые задачи от пользователей, привязывать контакты к задаче. В этом случае будет видно, кто отправил условную заявку или создал обращение в ТП. Как показывает практика, клиентам, заказчикам и прочим пользователям 1С пользоваться багтрекингом затруднительно. А так они просто пишут прямо в 1С текст (или прикрепляют что-то, это уже как надо) и формируется задача с нужными настройками и информацией, кто ее отправил. Еще один плюс: пользователей 1С может быть много и всех их мы просто не знаем. Полезно прикрутить в качестве организации, например, подразделение. Так автоматически формируется структура организации клиента, привязываются сотрудники клиента и все это видно в выставленных задачах (обращениях). Ну и электронная почта, как еще один бонус для обратной связи. Адрес так же можно привязывать автоматом. Примерно такая схема.
10. phsin 152 20.11.14 06:37 Сейчас в теме
Спасибо, интересная разработка!
Подскажите может вы делали интеграцию со spree https://github.com/spree/spree ?
11. stoptime 287 20.11.14 10:15 Сейчас в теме
(10) Нет интеграцию с этой системой не делал. Посмотрел, там идет взаимодействие через json , поэтому тот прием который я использовал, чтобы сократить код до минимума не подойдет.
12. phsin 152 20.11.14 10:49 Сейчас в теме
Нашел: Преобразование 1С->JSON->1С для обменов, Web-сервисов
http://infostart.ru/public/308198/

но если совсем обнаглеть, то хотелось бы для 7.7 ;)
13. stoptime 287 20.11.14 12:02 Сейчас в теме
(12) phsin, Про эту обработку знаю, хорошая вещь.
а вот с 7.7 точно не будет, там таких плюшек как XDTO нет, собственно за счет их использования все получилось просто.
да и я с 7.7 сейчас работаю преимущество только в проектах по переходу на 8. :) какой то разработки на 7.7 уже года 3 не веду.
17. Смешной 1С 126 03.02.15 13:19 Сейчас в теме
Подскажите, как получить все задачи? Сейчас, даже при простом запросе вида: redmine/issues.xml?project_id=7 я получаю только открытые задачи.
18. stoptime 287 04.02.15 18:09 Сейчас в теме
(17) Смешной 1С,
Можно уточнить запрос добавив отбор по всем статусам. Получится следующее redmine/issues.xml?project_id=7&status_id=*
user886140; +1 Ответить
19. SerMaxim 24.05.15 14:17 Сейчас в теме
Коллеги, а у всех работает обновление проектов ? У меня хоть убиться не получается программно создавать/обновлять подчиненные проекты, т.е. те где указан parent_id. Может кто подскажет как решить проблему ?
20. SerMaxim 24.05.15 14:37 Сейчас в теме
Пардон, нашел у себя ошибку - для сведений, в поле parent_id надо класть не идентификатор проекта, а номер родительского проекта. Собственно нашел еще ошибку одну - не всегда Redmine возвращает в ответ файл и необходимо исправить текст некоторых методов чтобы проверять - получен ли файл с сервера или нет. Если нет - то не надо считывать xml.
21. lustin 1015 27.06.15 21:25 Сейчас в теме
(0) поразбирался с обработкой - обратил внимание что с custom fields до конца не разобрались ?

//Описание:Создает задачу по заданным параметрам и возвращает структуру с ее данными.
//Параметры: Параметры - Структура - содержит параметры создаваемой задачи
//Возвращаемое значение:
//  Структура - созданная новая задача
Функция НоваяЗадача(Параметры = Неопределено) Экспорт
	... 
	ЗаполнитьЗначенияСвойств(текОбъект,Параметры,,"custom_fields");

Показать
22. stoptime 287 29.06.15 21:33 Сейчас в теме
(21) lustin,
да они мне были не нужны. с загрузкой файлов тоже не все гладко вышло. в редмайн они грузятся а вот с задачей не связываются. не силен в руби поэтому не стал копать, что там к чему
23. Wanderer.nk 18 20.08.15 09:25 Сейчас в теме
(22)
по прикреплению файлов: у Вас ошибка в схеме в разделе группы файлов, не хватает аттрибута Type
Правильно будет
<objectType name="TypeUploads">
<property name="type" type="xs:string" lowerBound="0" form="Attribute"/>
<property xmlns:d4p1="rm@rm.rarus.ru" ref="d4p1:upload"/>
</objectType>

и
текОбъект.type = "array";
нужно заменить на
текОбъект.uploads.type = "array";

У меня все заработало :)

2. По custom-fields:
это свойство в процедуре УдалитьПустыеПоля(ОбрабатываемаяСтруктура) просто удаляется, если не заполнено.
Как решение заменить в 405 строке
ЗаполнитьЗначенияСвойств(текОбъект,Параметры,,"custom_fields");

на
ЗаполнитьЗначенияСвойств(текОбъект,Параметры,,?(Параметры.Свойство("custom_fields"),"custom_fields",""));

PS: спасибо за обработку. Сэкономило день моего времени!
stoptime; +1 Ответить
24. purgin 19.12.16 19:07 Сейчас в теме
25. stoptime 287 23.12.16 11:44 Сейчас в теме
26. zorin 01.02.17 20:36 Сейчас в теме
Скажите пожалуйста, почему может возникать ошибка (на следующем шаге от точки останова) :
{ВнешняяОбработка.RedmineAPI.МодульОбъекта(77)}: Ошибка при вызове метода контекста (ПрочитатьXML)
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеХМЛ,ТипДанныхXDTO);
по причине:
Ошибка разбора XML: - [1,50]
Фатальная ошибка:
Space required after the Public Identifier
Прикрепленные файлы:
27. zorin 01.02.17 21:32 Сейчас в теме
Указанная ошибка возникает при нажатии " получить проект", "загрузить список проектов", "получить список задач", и т д
28. zorin 01.02.17 23:09 Сейчас в теме
Все, спасибо, разобрался, это антивирус мешал!
29. redscrest 31.07.17 15:48 Сейчас в теме
При количестве задач больше 999 в связи с тем что 1с вставляет в число 1000 разделитель в виде непрерывного пробела вы получите список задач который будет повторяться каждую тысячу элементов
30. redscrest 31.07.17 15:49 Сейчас в теме
Поэтому в параметр offset надо писать строку а не число
user886140; stoptime; +2 Ответить
31. stoptime 287 09.08.17 15:02 Сейчас в теме
37. user886140 23.07.18 16:25 Сейчас в теме
(30) в параметр offset пишу строку но все равно после 1000 загружаются не корректные записи. как быть?
32. ImHunter 91 09.08.17 15:11 Сейчас в теме
Внедряю у себя эту обработку в экспериментальном проекте.
Пока что сделал рефакторинг и добавил реквизиты для опционального создания SSL-соединения. Создал новые ф-ии:
// Функция - Получить соединение
// 
// Возвращаемое значение:
//  HTTPСоединение - Соединение с сервером RM
//
Функция СоздатьОбъектHTTPСоединение()
	
	ЗащСоед = ?(SSLИспользовать, Новый ЗащищенноеСоединениеOpenSSL(), Неопределено);
	Результат = Новый HTTPСоединение(
		РедмайнСервер, ?(РедмайнПорт<>0, РедмайнПорт, Неопределено), 
		?(Не ПустаяСтрока(SSLПользователь), SSLПользователь, Неопределено), 
		?(Не ПустаяСтрока(SSLПароль), SSLПароль, Неопределено), , 2, ЗащСоед, ИспользоватьАутентификациюОС
	);
		
	Возврат Результат;		
	
КонецФункции

Функция СоздатьОбъектHTTPЗапрос(Путь, Параметры = Неопределено, ИмяФайла=Неопределено, ДопЗаголовоки = Неопределено)
	
	СтрокаПараметров = "";

	Если Параметры<>Неопределено Тогда 
		Для каждого текПараметр из Параметры Цикл
			//не заполненные параметры игнорируются
			ТекЗнач = текПараметр.Значение;
			Если ПустаяСтрока(ТекЗнач) Тогда
				Продолжить;
			КонецЕсли;
			СтрокаПараметров = СтрокаПараметров + ?(ПустаяСтрока(СтрокаПараметров), "", "&") 
				+ текПараметр.Ключ + "=" + ?(ТипЗнч(ТекЗнач)=Тип("Число"), Формат(ТекЗнач, "ЧН=0; ЧГ="), ТекЗнач);
		КонецЦикла;
	КонецЕсли;
	СтрокаПараметров = ?(ПустаяСтрока(СтрокаПараметров), "", "?" + СтрокаПараметров);
	ТекстЗапроса = РедмайнПуть + "/" + Путь + ".xml" + СтрокаПараметров;
	//ЗАПРОС
	ЗапросКСайту = Новый HTTPЗапрос(ТекстЗапроса, ЗаголовокЗапроса(ДопЗаголовоки));
	
	Если Не ПустаяСтрока(ИмяФайла) Тогда
		ЗапросКСайту.УстановитьИмяФайлаТела(ИмяФайла);
	КонецЕсли;
	
	Возврат ЗапросКСайту;
	
КонецФункции
Показать

И использовал их:
Функция PostЗапрос(Путь, Параметры, ИмяФайла=Неопределено, ДопЗаголовоки = Неопределено)
	
	ЗапросКСайту = СоздатьОбъектHTTPЗапрос(Путь, Параметры, ИмяФайла, ДопЗаголовоки);
	РезультатИмяФайла = ПолучитьИмяВременногоФайла();//ПолучитьИмяТестовогоФайла();//
	Соединение = СоздатьОбъектHTTPСоединение();//Соединяем
	Соединение.ОтправитьДляОбработки(ЗапросКСайту, РезультатИмяФайла);
	Текст = Новый ЧтениеТекста(РезультатИмяФайла, КодировкаТекста.UTF8);
	Возврат Текст.Прочитать();	
	
КонецФункции
Показать
JohnyDeath; +1 Ответить
33. lastpioneer 150 20.04.18 13:47 Сейчас в теме
Подскажите, как вы задавали отбор, если нужно было выбрать задачи по двум Трекерам ? Если можно примерчик строки запроса
34. lastpioneer 150 23.04.18 12:30 Сейчас в теме
И ещё, как отобрать задачи у которых не заполнен трекер или другое поле перечисления?
40. lastpioneer 150 12.12.18 18:14 Сейчас в теме
(34) Сам спросил, сам ответил. Вдруг кто-то будет искать. Нужно указать в фильтре, вместо идентификатора, символы "!*"

Например: ..../redmine/issues.xml?key=d8f157...c8f0165851&&fixed_version_id=!*&&project_id=390
35. stoptime 287 23.04.18 17:23 Сейчас в теме
Поидее передавать пустую строку, это если по API Redmıne оринтироватся, но нужно проверять. У мяня в сценарии использования такой вариант не используется.
36. user886140 16.07.18 15:08 Сейчас в теме
Добрый день! возможно ли получить все задачи из redmine разом, в один xml файл? Пока получается только по 100 задач вытащить за раз.
38. stoptime 287 26.07.18 14:33 Сейчас в теме
(36) насколько я помню это ограничения самого API. В той версии котороую я использую больше 100 нельзя
39. r2d255 10.09.18 19:31 Сейчас в теме
При нажатии на создать задачу :

{ВнешняяОбработка.RedmineAPI.МодульОбъекта(404)}: Ошибка при вызове метода контекста (ЗаполнитьЗначенияСвойств)
ЗаполнитьЗначенияСвойств(текОбъект,Параметры,,"custom_fields");
по причине:
Недопустимое значение параметра (параметр номер '4') (Поле 'custom_fields' объекта 'Структура' не обнаружено)
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Ведущий инженер - программист 1С
Москва
зарплата от 200 000 руб.
Полный день

Ведущий программист 1С
Нижний Новгород
зарплата от 100 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 120 000 руб.
Полный день

Программист 1С
Волгоград
зарплата от 45 000 руб. до 90 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству