Initialise the service. This method is guaranteed to be called before the first call to run().
As the parameters are gained from the user's interaction with the website, it
is not guaranteed to be called with the correct, or indeed with any parameters.
init() may be called multiple times during the services lifetime.
Perform the action of this service. The caller of this method assumes that no housekeeping has been done, and
will call setLastRun() after the run() method.
init() is guaranteed to be called before run(), but the parameters passed to init() are not guaranteed to be
correct. Any parameters expected to be set by init() should be checked in this method upon each invocation.
This method is called when the service is unloaded (usually when the web application or server
is being shut down).
You may wish to remove any connections that you have established, eg. database connections.
Indicates whether administrators can delete this service from within the web interface.
Generally only Atlassian services should return true from this.
true if this service is internal to JIRA, false otherwise
Whether this service class should be unique. Some service are fine to have multiples, and some are not.
Having multiple backup services could be fine - perhaps you want to backup once an hour, and also once a day.
With other services, you may wish to enforce their uniqueness
A textual description of the service. You can include HTML if required, but do not use tables, or DHTML, as
the description may be displayed inside tables / frames.
A good description will describe what this service does, and then explains the parameters required for
configuring the service.
If no description is appropriate, return null.
A textual name of the service as entered by the user from the web interface.
The name should be unique to identify services of the same class.
This is enforced when adding new services via the web interface.
The value of name does not effect the service, hence can be set to null