Интересно, еще актуально?
422 может выскакивать в том числе если в передаваемых данных есть "запретное" для пользователя действие или неправильные данные - например попытка выставить дату выполнения меньше чем дата начала.
www.sql.ru/forum/1129863/redmine-rest-api?mid=1694...
вот в этом сообщение второй пример мне сильно помог (у меня тоже Delphi XE 4)
Рабочий пример (с доп полями)
address:='https://АДРЕС/projects/НАЗВАНИЕ ПРОЕКТА/issues.xml?key=';
apiAccessKey := edit1.text; ///Api user key example
for I := 0 to memo1.Lines.Count-1 do
begin
date_due:=copy(memo5.Lines[i],7,4)+'-'+copy(memo5.Lines[i],4,2)+'-'+copy(memo5.Lines[i],1,2);
date_close:=copy(memo6.Lines[i],7,4)+'-'+copy(memo6.Lines[i],4,2)+'-'+copy(memo6.Lines[i],1,2);
date_check:=copy(memo7.Lines[i],7,4)+'-'+copy(memo7.Lines[i],4,2)+'-'+copy(memo7.Lines[i],1,2);
try
issue := TStringList.Create;
with issue do
begin
Add('issue[tracker_id=44');
Add('issue[subject='+memo1.Lines[i]);
Add('issue[description='+memo2.Lines[i]);
Add('issue[status_id=1');
Add('issue[priority_id=2');
Add('issue[assigned_to_id='+memo3.Lines[i]);
Add('issue[start_date='+formatdatetime('YYYY-MM-dd',now()));
Add('issue[due_date='+date_due);
Add('issue[fixed_version_id='+memo8.Lines[i]);
Add('issue[custom_field_values[166='+memo4.Lines[i]);
Add('issue[custom_field_values[76='+memo3.Lines[i]);
Add('issue[custom_field_values[106='+date_close);
Add('issue[custom_field_values[66='+date_check);
end;
try
idhttp1.Post(address+apiAccessKey,issue);
except
issue.Destroy;
raise;
end;
finally
issue.Destroy;
end;