I tried to create a very simple plugin which registers a custom issue-tracker. I managed to see "my" issue-tracker in the combobox of the dialog where you can choose the tracker connections (Server configuration -> IssueTracker -> Create new connection).
But if a click on my tracker, nothing happens. I see the following line in the stdout-log file:
No mapping found for HTTP request with URI [/admin/myissuetracker/editIssueProvider.html] in DispatcherServlet with name 'buildServer'
I've checked that my editIssueProvider.jsp is loacted in "TeamCity\webapps\ROOT\plugins\MyIssueTracker\admin"...
Did I miss the point where I configure which page should get loaded?
What TeamCity version do you use?
The URL path should be "/admin/issuetracker/editIssueProvider.html", but I can't figure out how it could've changed.
Could you attach the current sources of your plugin?
thanks for your reply.
After your reply I changed the getType() return value in my code (MySIssueProvider and MyIssueProviderFactory), because that's the only point where I return "MyIssueTracker". I changed it to "IssueTracker" which leads to the following error in the stdout-logfile:
ework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/admin/issuetracker/editIssueProvider.html] in DispatcherServlet with name 'buildServer'
Probably that's now the correct URL, but unfortunately, the behavior is the same and in the drop-down-box of the tracker-connections, I do now see "IssueTracker" instead of my desired "MyIssueTracker" value.
(I'm using TeamCity 5.0.2 under Windows XP.)
I've attached the plugin source that produces the error.
You will probably have to change some path's in the build.xml (teamcityDir and releaseDir). I'm using my own build-file because I was really overwhelmed of the sample build file. I hope that's not a problem...
I've also attached a compiled version of the plugin.
Well, so far, thanks for your support, I hope we can solve my issue...
Sorry for the delay, it took me some time before I could get back to your problem.
> No mapping found for HTTP request with URI [/admin/issuetracker/editIssueProvider.html...
Something's definitely wrong here, because our internal controller is mapped on this url. Please try in your browser: <server>/admin/issueTracker/editIssueProvider.html?type=bugzilla
In ordinary TeamCity installations a simple dialog for bugzilla should be displayed.
I didn't look into your build.xml, and tried to compile and deploy the plugin myself. In the end I succeeded, but I have a few comments though.
- MyCommentTransformationHelper returns incorrect regexp. This isn't causing problems right now, but it will. Note that the regexp should _not_ match empty string.
- You can reuse common implementation part. It is bundled with TeamCity starting from 5.1 (few EAPs have already been released). I think it may simplify the plugin significantly.
In my configuration I named the plugin "my_issue_tracker". getType() methods returned this string, the resources were copied to "/plugins/my_issue_tracker". And everything worked out.
I think you should check your TeamCity installation first, then try to deploy the plugin. Please write back with your results.
thanks for your comments. I will try your suggestions.
Right now I'm really busy so it will take some time until I can come back to the plugin, but I will post my results here...