Redmine plugin hooks list

To see the current list of plugin hooks, run rake redmine:plugins:hook_list in the Redmine directory.

On Redmine 2.0.0 and up the rake task has been deprecated.
As an alternative you can use either of the following in the Redmine directory (see RE: hook list?).
grep -r call_hook *                                       # list of source lines with hook calls
grep -rohT 'call_hook([^)]*)'                             # list of hooks calls and source files
grep -roh  'call_hook([^)]*)' | sort -u | grep '([^)]*)'  # list of hooks calls only

Controller hooks

Name Description Context
:controller_account_success_authentication_after :user
:controller_custom_fields_new_after_save :params, :custom_field
:controller_custom_fields_edit_after_save :params, :custom_field
:controller_issues_bulk_edit_before_save Passes the current issue and the params to the hook before saving. This can be used to set attributes on the issues. :params, :issue
:controller_issues_new_before_save :params, :issue
:controller_issues_new_after_save :params, :issue
:controller_issues_edit_before_save :params, :issue, :time_entry, :journal
:controller_issues_edit_after_save :params, :issue, :time_entry, :journal
:controller_issues_move_before_save :params, :issue, :copy, :target_project
:controller_journals_edit_post :params, :journal
:controller_messages_new_after_save :params, :message
:controller_messages_reply_after_save :params, :message
:controller_timelog_edit_before_save :params, :time_entry
:controller_wiki_edit_after_save :params, :page

Helper hooks

Name Description Context
:helper_issues_show_detail_after_setting Passes data to the hook to allow it to set the label and value. :detail, :label, :value, :old_value

Model hooks

Name Description Context
:model_changeset_scan_commit_for_issue_ids_pre_issue_update :changeset, :issue
:model_project_copy_before_save :source_project, :destination_project

View hooks

The current project is accessible using the :project key of the context for all the view hooks.

Name Description Context
:view_account_left_bottom :user
:view_account_right_bottom :user
:view_account_login_top (none)
:view_account_login_bottom (none)
:view_custom_fields_form_upper_box :custom_field, :form
:"view_custom_fields_form_#{@custom_field.type.to_s.underscore}" :custom_field, :form
:view_issue_statuses_form :issue_status
:view_issues_bulk_edit_details_bottom Appends content to the bulk edit form before the note :issues
:view_issues_edit_notes_bottom Appends content to the note bottom before files form :issue, :notes, :form
:view_issues_form_details_bottom Appends content to the html table at the bottom of the issue form :issue, :form
:view_issues_history_journal_bottom :journal
:view_issues_show_details_bottom Appends content to the bottom of the issues details table :issue
:view_issues_sidebar_issues_bottom (none)
:view_issues_sidebar_planning_bottom (none)
:view_issues_sidebar_queries_bottom (none)
:view_issues_context_menu_start :issues, :can, :back
:view_issues_context_menu_end :issues, :can, :back
:view_issues_new_top :issue
:view_issues_show_description_bottom :issue
:view_issues_move_bottom :issue, :target_project, :copy
:view_journals_notes_form_after_notes :journal
:view_journals_update_rjs_bottom :page, :journal
:view_layouts_base_body_bottom Appends content to the end of the body section of the base layout (none)
:view_layouts_base_content (none)
:view_layouts_base_html_head Appends content to the html head of the base layout (none)
:view_layouts_base_sidebar (none)
:view_my_account :user, :form
:view_my_account_contextual :user
:view_projects_form :project, :form
:view_projects_roadmap_version_bottom :version
:view_projects_settings_members_table_header Appends content to the table header of a Project's Member setting :project
:view_projects_settings_members_table_row Appends content to the table row of a Project's Member setting :member, :project
:view_projects_show_left :project
:view_projects_show_right :project
:view_projects_show_sidebar_bottom :project
:view_repositories_show_contextual Appends content to the contextual menu in the Repositories pane :project, :repository
:view_timelog_edit_form_bottom :time_entry, :form
:view_settings_general_form (none)
:view_users_memberships_table_header :user
:view_users_memberships_table_row :user, :membership, :roles, :projects
:view_users_form :user, :form
:view_versions_show_bottom :version
:view_versions_show_contextual :version, :project
:view_welcome_index_left :project
:view_welcome_index_right :project

Other hooks

Name Description Context