Content
You are here:
Internal error occured by API call
Added by Michael Freitter over 9 years ago
Greetings,
I call a API to add a workpackage to my openproject instance, but an error occured;
" Dim addWPUrl As String = “https://openproject.domain.at/api/v2/projects/test_project/planning_elements.json?key=” + APIKey"
‘{“”planning_element“”: {“”subject“”: “”Test Issue“”, “”status_id“”: 1, “”type_id“”: 2, “”priority_id“”: 2}’
Error text:
“Internal error
An error occurred on the page you were trying to access.
If you continue to experience problems please contact your OpenProject administrator for assistance.”
How can I find the reason of this error?
Thank you!
Michael
Replies (8)
Hello Michael,
Not sure if it is because of my missing VB reading skills, but the request you are sending looks weird: Are those double double quotes around your string values?
E.g.
""planning_element"":
should read"planningElement":
In any case there is at least some error on the OpenProject side, at least in that it returns an HTTP 500 when it should return some 4xx status.
Since we are not maintaining APIv2 actively anymore I’d advise you to use the APIv3 endpoint to create a work package (added in OpenProject 4.2).
You can find the documentation for APIv3 here: https://www.openproject.org/api
APIv3 should have better error messages than APIv2, if you still encounter errors don’t hesitate to contact us again.
Best regards
Jan Sandbrink
Hello Jan,
thank you for your information, but I get also the 500 error.
Here is the whole sample code in Visual basic:
@ Public Function addWP(ByVal ProjectID As Integer, ByVal Subject As String) As JObject
Dim urlParmsHead As New JObject()
Dim urlParms As New JObject()
Dim vals As New JArray()
Dim addWPUrl As String = “https://openproject.domain.xy/api/v3/projects/” + ProjectID.ToString.Trim() + “/work_packages”
urlParms(“subject”) = Subject
urlParms(“_links”) = “{ ”“status”“: {”“href”“:”“/api/v3/statuses/1”“}, ”“type”“: { ”“href”“:”“/api/v3/types/2”" }, “”priority“”: { “”href“”:“”/api/v3/priorities/2“” }}"
Dim rObject = InvokeMethodPut(addWPUrl, “POST”, urlParms)
Return rObject
End Function@
Have you an additional idea, why the error occured?
Regards
Michael
Are you actually passing
subject
and_links
as url parameters? (asking because of the nameurlParms
)You should pass the JSON object in the body of the POST call.
I would also be interested in the full response by the OpenProject instance (i.e. the error message).
Is your OP instance running in production mode or in development mode?
Btw. for posting multiline code (or logs) in this forum, you can escape using the
pre
tags.E.g.
I don’t know. I have installed my openproject instance by a company.
How can I find out which mode my OpenProject is running?
Hello Jan,
have you an example code (no matter what programming language) where you add a workpackage to a existing project in OpenProject?
Regards
Michael
We do it in our integrative RSpec tests:
https://github.com/opf/openproject/blob/2199b22f0ec66b84f130c294f0692210ce082de9/spec/requests/api/v3/work_packages/work_packages_by_project_resource_spec.rb#L87
It is something along the lines:
There might be various cases where you are not able to add a work package:
However:
Whenever something goes wrong, the server should respond with a meaningful error message. Therefore I’d really like to know what that error message is, you are receiving. E.g.
Thank you!
I have now upgrade from version 4.1 to 4.2 and now I can create a workpackage.
Unfortunately, I can’t delete a workpackage, but I open a new ticket.
Thank you!
Michael