I found this method :
ComponentAccessor.getIssueManager().createIssueObject(user, issue);
whereas issue is the issue to be created.
So I have problems to create this issue, because Issue and MutableIssue are both interfaces.
You could do
MutableIssue issueNew = new MutableIssue{...} // implement about 100 Methods 
The other way would be with a map .
ApplicationUser user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser();
Map<String,Object> map = new HashMap<>();
map.put("Summary","My Summary");
// and all the other fields..
Issue createdIssue = ComponentAccessor.getIssueManager().createIssueObject(user,map);
I am not happy with all these approaches. For example I do not exactly know what key to put in the map. Is it the same as the label you see next to the fields in the ticket ?