Setting up the development environment
Making changes and re-deploying a plugin
Understanding Plugin Framework
Converting plugins from v1 to v2
Adding web resources into plugins
Adding new webwork actions to JIRA
Extending a webwork action in JIRA
Dealing with custom fields on an issue
Programming custom field options
Overriding validation of custom fields
Customizing the change log value
Migrating from one custom field type to another
Displaying custom fields on subtask columns
User and date fields from 4.1.x
Adding custom fields to notification mails
Adding help text for a custom field
Removing the 'none' option from a select field
Making the custom field project importable
Changing the size of a text area custom field
Writing a workflow post function
Making an issue editable/non-editable based on workflow status
Including/excluding resolutions for specific transitions
Permissions based on workflow status
Internationalization in workflow transitions
Obtaining available workflow actions programmatically
Programmatically progressing on workflows
Obtaining workflow history from the database
Re-ordering workflow actions in JIRA
Creating common transitions in workflows
Data validation in JIRA reports
Object configurable parameters for reports
Invoking REST services from gadgets
Configuring user preferences in gadgets
Accessing gadgets outside of JIRA
Smart querying using quick search
Parsing a JQL query in plugins
Linking directly to search queries
Index and de-index programmatically
Managing filters programmatically
Creating an issue from a plugin
Changing the basic look and feel
Adding new web sections in the UI
Adding new web items in the UI
Adding conditions for web fragments
Creating new velocity context for web fragments
Adding a new drop-down menu on the top navigation bar
Adding new tabs in the View Issue screen
Adding new tabs in the Browse Project screen
Creating Project Tab Panel using fragments
Adding new tabs in the Browse Version screen
Adding new tabs in the Browse Component screen
Extending a webwork action to add UI elements
Displaying dynamic notifications/warnings on issues
Re-ordering Issue Operations in the View Issue page
Re-ordering fields in the View Issue page
Working with custom fields and SOAP
Extending JIRA DB with custom schema
Accessing DB entities from plugins
Persisting plugin information in JIRA DB
Using active objects to store data
Accessing JIRA configuration properties
Adding configurable parameters to a service
Writing scheduled tasks in JIRA
Redirecting to different page in webwork actions
Adding custom behavior for user details
Adding shared parameters to Servlet Context
Writing a Servlet Context Listener
Using filters to intercept queries in JIRA
Adding and importing components in JIRA
Adding new module types to JIRA
Overriding JIRA's default components in plugins