Создание задач в Яндекс-трекер

1. kvaleksandr 24 08.09.22 19:33 Сейчас в теме
Здравствуйте. Есть ли у кого-то пример как через 1с можно создать задачу в яндекс-трекере. Уже всю голову себе изломал как это сделать.

Вот как пытаюсь это сделать:

	Сервер = Интеграция.Сервер;
	Порт = Интеграция.Порт;
	Логин = "";
	Пароль = "";	
	
	Ssl = Новый ЗащищенноеСоединениеOpenSSL();
	Прокси = Новый ИнтернетПрокси(Ложь);
	СоединениеHTTP = Новый HTTPСоединение(Сервер, Порт, Логин, Пароль, Прокси,,Ssl);
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("X-Org-Id",Интеграция.идОрганизации);
	Заголовки.Вставить("Authorization","OAuth "+Интеграция.Токен);
	Заголовки.Вставить("Cache-Control","no-cache");		
		
	Сервис = "/v2/issues?summary=Тестовая задача&type=bug&queue=SP";
	ЗапросHTTP = Новый HTTPЗапрос(Сервис, Заголовки);
	Результат = СоединениеHTTP.Получить(ЗапросHTTP);
	                                      
	
	Если Результат.КодСостояния <> 200 Тогда
		//Ошибка выполнения запроса
	КонецЕсли;
	
	Данные = Результат.ПолучитьТелоКакСтроку();

	Возврат JsonВОбъект(Данные);
Показать


Вроде по документации все, но почему-то возвращает все задачи, а не создает новую. Может кто сталкивался с таким?

ссылка на документацию:
https://cloud.yandex.ru/docs/tracker/concepts/issues/create-issue
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Найденные решения
3. kvaleksandr 24 09.09.22 10:08 Сейчас в теме
Спасибо. Вы дали направление и у меня все получилось.

Конечный работающий результат:
	Сервер = Интеграция.Сервер;
	Порт = Интеграция.Порт;
	Логин = "";
	Пароль = "";	
	
	Ssl = Новый ЗащищенноеСоединениеOpenSSL();
	Прокси = Новый ИнтернетПрокси(Ложь);
	СоединениеHTTP = Новый HTTPСоединение(Сервер, Порт, Логин, Пароль, Прокси,,Ssl);
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("X-Org-Id",Интеграция.идОрганизации);
	Заголовки.Вставить("Authorization","OAuth "+Интеграция.Токен);
	Заголовки.Вставить("Cache-Control","no-cache");		
	
	
	ПараметрыЗапроса = новый Структура;  		
	ПараметрыЗапроса.Вставить("summary", "Тестовая задача");
	ПараметрыЗапроса.Вставить("type", "bug");	
	
	queue = новый Структура;	
	queue.Вставить("id","6");
	queue.Вставить("key","SP");
	ПараметрыЗапроса.Вставить("queue",queue);
	
	
	ТелоЗапроса = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ПараметрыЗапроса);
		
	ЗапросHTTP = Новый HTTPЗапрос("/v2/issues", Заголовки);
	ЗапросHTTP.УстановитьТелоИзСтроки(ТелоЗапроса);
	
	Результат = СоединениеHTTP.ОтправитьДляОбработки(ЗапросHTTP);
	                                      
	
	Если Результат.КодСостояния <> 200 Тогда
		//Ошибка выполнения запроса
	КонецЕсли;
	
	Данные = Результат.ПолучитьТелоКакСтроку();
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 08.09.22 20:11 Сейчас в теме +0.01 $m
(1)
Результат = СоединениеHTTP.Получить(ЗапросHTTP);

Это GET запрос. Согласно документации, для создания требуется:
Чтобы создать задачу используйте HTTP-запрос с методом POST


Помимо этого, необходимо в теле запроса передавать строку в json формате, пример:
{
    "summary": "название задачи",
    "queue": {
        "id": "111",
        "key": "test"
        }
}


Еще и адрес другой, вместо:
Сервис = "/v2/issues?summary=Тестовая задача&type=bug&queue=SP";
должен быть:
Сервис = "/v2/issues";
3. kvaleksandr 24 09.09.22 10:08 Сейчас в теме
Спасибо. Вы дали направление и у меня все получилось.

Конечный работающий результат:
	Сервер = Интеграция.Сервер;
	Порт = Интеграция.Порт;
	Логин = "";
	Пароль = "";	
	
	Ssl = Новый ЗащищенноеСоединениеOpenSSL();
	Прокси = Новый ИнтернетПрокси(Ложь);
	СоединениеHTTP = Новый HTTPСоединение(Сервер, Порт, Логин, Пароль, Прокси,,Ssl);
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("X-Org-Id",Интеграция.идОрганизации);
	Заголовки.Вставить("Authorization","OAuth "+Интеграция.Токен);
	Заголовки.Вставить("Cache-Control","no-cache");		
	
	
	ПараметрыЗапроса = новый Структура;  		
	ПараметрыЗапроса.Вставить("summary", "Тестовая задача");
	ПараметрыЗапроса.Вставить("type", "bug");	
	
	queue = новый Структура;	
	queue.Вставить("id","6");
	queue.Вставить("key","SP");
	ПараметрыЗапроса.Вставить("queue",queue);
	
	
	ТелоЗапроса = УправлениеКонтактнойИнформациейСлужебный.СтруктураВСтрокуJSON(ПараметрыЗапроса);
		
	ЗапросHTTP = Новый HTTPЗапрос("/v2/issues", Заголовки);
	ЗапросHTTP.УстановитьТелоИзСтроки(ТелоЗапроса);
	
	Результат = СоединениеHTTP.ОтправитьДляОбработки(ЗапросHTTP);
	                                      
	
	Если Результат.КодСостояния <> 200 Тогда
		//Ошибка выполнения запроса
	КонецЕсли;
	
	Данные = Результат.ПолучитьТелоКакСтроку();
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот