edavis10 / redmine_external_signup

Coming soon...

This URL has Read+Write access

README.rdoc

External Signup

External signup is a Redmine plugin that allows an external source create a new Redmine project and user.

Features

Provides two RESTful web service endpoints to:

  • Add a new Project, User, and Member to Redmine.
  • Update an existing Project or User.

Getting the plugin

A copy of the plugin can be downloaded from Little Stream Software or from GitHub

Installation and Setup

  1. Follow the Redmine plugin installation steps at: www.redmine.org/wiki/redmine/Plugins
  2. Restart your Redmine web servers (e.g. mongrel, thin, mod_rails)
  3. Login as an Administrator and configure the security key as well as any other data in: Administration > Plugins > Configure

Usage

Creating a new project and user

An example form is provided in examples/signup_form.html. To simulate the signup process:

  1. Make sure you have generated a security key from your Redmine (above).
  2. Edit the action of the example form to point to your Redmine site.
  3. Make sure all of the required (*) fields are filled in.
  4. Submit the form
  5. Redmine will return specific xml documents based on if the request was successful. The HTTP status code of the response can be used to determine if the action was successful.

XML Responses

  • Success - will contain a ‘success’ tag as well as details about the Member, User, and Project created. See examples/create/success.xml
  • Invalid Security key - Will contain a message that the key is invalid. See examples/create/failed_security_check.xml
  • Missing data - Will contain sections for each type of data and what fields had errors. See examples/create/missing_data.xml
  • Invalid HTTP method - Will contain what HTTP methods (verbs) are allowed.
  • Server error - Will contain the Ruby exception that was raised. (rare)

Updating a project and/or user

An example form is provided in examples/update_form.html. To simulate the update process:

  1. Make sure you have generated a security key from your Redmine (above).
  2. Edit the action of the example form to point to your Redmine site.
  3. Make sure all of the required (*) fields are filled in.
  4. Make sure either the Project id or the User id is filled in (or both).
  5. Submit the form
  6. Redmine will return specific xml documents based on if the request was successful. The HTTP status code of the response can be used to determine if the action was successful.

XML Responses

  • Success - will contain a ‘success’ tag as well as details about the User and/or Project that was updated. See examples/update/success.xml
  • Invalid Security key - Will contain a message that the key is invalid. See examples/update/failed_security_check.xml
  • Missing data - Will contain sections for each type of data and what fields had errors. See examples/update/missing_data.xml
  • Invalid HTTP method - Will contain what HTTP methods (verbs) are allowed.
  • Server error - Will contain the Ruby exception that was raised. (rare)

HTTP Responses

  • HTTP 200 - Success.
  • HTTP 400/404 - Not connecting to the Redmine server / misconfiguration.
  • HTTP 403 - Unauthorized request. e.g misconfiguration or invalid security token.
  • HTTP 405 - Method not allowed (e.g. form not sending data using the correct HTTP verb like POST or PUT).
  • HTTP 412 - Missing required data. Check the XML response for details.
  • HTTP 500 - Error on the server. Check the server log files (e.g. log/production.org).

License

This plugin is licensed under the GNU GPL v2. See COPYRIGHT.txt and GPL.txt for details.

Project help

If you need help you can contact the maintainer at the Bug Tracker. The bug tracker is located at projects.littlestreamsoftware.com