Feature #2925
closed
Url to fetch changesets for a repository
Added by Eric Davis almost 16 years ago.
Updated over 10 years ago.
Description
I'd like to add a url hook to Redmine's repositories so a repository can have it's fetch changesets called from a basic HTTP GET/POST. This could be linked up with post commit hooks or a web hook service (e.g. GitHub) to allow a repository to stay up to date without using auto fetch commits or a scheduled rake task.
This might need part of the REST API implemented first, specifically authentication.
+1
Re REST API: I think the controllers need to be refactored first...
I think we could easily add this entry point to SysController that already provides some repository related methods (used by reposman).
Jean-Philippe Lang wrote:
I think we could easily add this entry point to SysController that already provides some repository related methods (used by reposman).
I think once REST is complete, we should remove SysController
completely. Nice side effect is that reposman would be a good example of using the REST API.
SysController#projects
would become ProjectsController#index, :format => :xml
(list of projects in xml)
SysController#create_project_repository
would become RepositoriesController#create, :format => :xml
(create a new repository from xml)
I don't think we should just remove SysController
though, it should be depreciated in order to give developers enough time to port to the REST API. I'm saying this because it's taken me over two weeks to recover from the Rails 2.2.x i18n and Enumeration API changes and I don't want to cause that pain on any other developer without giving notice.
Eric Davis wrote:
SysController#create_project_repository
would become RepositoriesController#create, :format => :xml
(create a new repository from xml)
But this would require a Redmine admin account to run reposman.
I don't think it's the best solution.
I believe that if you `curl http://www.your-redmine.com/projects/your-project/repository | /dev/null`
in your post-commit hook it will cause Redmine to "look" at the repository, specifically fetch the changesets. If you have a private project this would become crazy-complicated, however, this seems to work for me (although I use a local Git repo on the server hard disk).
I'm not suggesting this isn't a good feature, I'm just saying that until the feature is done that a good band-aid solution exists (or exists with my setup - YMMV).
- Status changed from New to Closed
- Target version set to 0.9.0
- Resolution set to Fixed
There is also a plugin to fetch commits for a specific repository only.
Also available in: Atom
PDF