Mitigate AI Platform

Redmine

How to configure the Redmine MCP connector with OAuth2 authentication

The Redmine integration allows the chatbot to interact with Redmine for project management tasks using OAuth2 authentication.

Requirements

  • Redmine 6.1+ (required for OAuth2 support)
  • Redmine instance with REST API enabled

Redmine Configuration

1. Enable REST API

In Redmine, go to Administration → Settings → API and enable:

  • REST web service
  • JSONP support (optional)

2. Register OAuth Application

  1. Go to Administration → Applications
  2. Click New Application
  3. Fill in the details:
    • Name: Mitigate AI Platform
    • Redirect URI: https://ai-platform.mitigate.dev/connector_connections/callback
    • Scopes: Leave blank (uses default)
  4. Save and note the Client ID and Client Secret

MCP Server Setup

The Redmine MCP server needs to be hosted separately and pointed at your Redmine instance. You can host it yourself using the redmine-mcp-server repository, or we can host it for you — contact us at ai@mitigate.dev.

Create Connector

In the chatbot admin panel (Admin → Connectors), create a new connector:

FieldValue
Integration TypeMCP
NameRedmine
URL(URL of your hosted Redmine MCP server)/mcp
Transport TypeStreamable HTTP
Authentication TypeOAuth 2.1
OAuth Client ID(from Redmine)
OAuth Client Secret(from Redmine)
OAuth Scopes(leave blank)

Assign to Workspace

In Admin → Workspaces, edit your workspace and add the Redmine connector.

Usage Examples

Once connected, users can interact with Redmine through natural language:

  • "List my Redmine projects"
  • "Show me open issues in project X"
  • "Create a new issue titled 'Bug in login form' in project X"
  • "Log 2 hours on issue #123 with comment 'Fixed the bug'"
  • "Update issue #456 status to resolved"

Troubleshooting

"Failed to connect" Error

  1. Ensure Redmine REST API is enabled
  2. Check OAuth credentials in the connector configuration
  3. Verify the redirect URI matches exactly

"Unauthorized" Error

  1. The OAuth token may have expired - disconnect and reconnect
  2. Verify the user has permission in Redmine for the requested action

Tools

List Redmine Projects

list_redmine_projects

Lists all accessible projects in the Redmine instance.

List Project Members

list_project_members

Lists all members (users and groups) of a Redmine project along with their assigned roles.

Parameters:

  • project_id - Project ID (numeric) or identifier (string)

List Project Issue Custom Fields

list_project_issue_custom_fields

Lists issue custom fields configured for a project, including allowed values and tracker bindings.

Parameters:

  • project_id - Project ID (numeric) or identifier (string)
  • tracker_id - Restrict output to fields applicable to the given tracker ID

List Redmine Versions

list_redmine_versions

Lists versions (roadmap milestones) for a Redmine project. Useful for discovering target version IDs to use when filtering issues by milestone.

Parameters:

  • project_id - Project ID (numeric) or identifier (string)
  • status_filter - Filter by version status. Allowed values: open, locked, closed. Defaults to all versions

Summarize Project Status

summarize_project_status

Provides a comprehensive summary of project status based on issue activity over a specified time period, including recent activity metrics, status breakdowns, and trends.

Parameters:

  • project_id - The ID of the project to summarize
  • days - Number of days to analyze. Defaults to 30

List Redmine Issues

list_redmine_issues

Lists Redmine issues with flexible filtering and pagination support. Supports filtering by project, status, assignee, tracker, priority, target version, and any other Redmine issue filter.

Parameters:

  • filters - Object containing filter and pagination options. Supported keys: project_id, status_id, tracker_id, assigned_to_id (use "me" for current user), priority_id, fixed_version_id, sort (e.g. "updated_on:desc"), limit (max 1000, default 25), offset, fields (array of field names to include)

Search Redmine Issues

search_redmine_issues

Searches issues using text queries with support for pagination and scope filtering. For advanced filtering by specific field values, use list_redmine_issues instead.

Parameters:

  • query - Text to search for in issues
  • options - Object with optional search settings: limit (default 25, max 1000), offset, scope ("all", "my_project", or "subprojects"), open_issues (boolean to restrict to open issues only), fields (array of field names to include)

Get Redmine Issue

get_redmine_issue

Retrieves detailed information about a specific Redmine issue, including journals, attachments, and custom fields.

Parameters:

  • issue_id - The ID of the issue to retrieve
  • include_journals - Include comments/journal entries. Defaults to true
  • include_attachments - Include attachment metadata. Defaults to true
  • include_custom_fields - Include custom fields. Defaults to true
  • journal_limit - Maximum number of journals to return (enables pagination when set)
  • journal_offset - Number of journals to skip for pagination. Defaults to 0
  • include_watchers - Include the watcher list. Defaults to false
  • include_relations - Include issue relations. Defaults to false
  • include_children - Include child issues. Defaults to false

Create Redmine Issue

create_redmine_issue

Creates a new issue in the specified Redmine project.

Parameters:

  • project_id - Target project ID
  • subject - Issue subject/title
  • description - Issue description
  • fields - Additional Redmine fields as an object (e.g. {"priority_id": 3, "tracker_id": 1})
  • extra_fields - Additional fields merged with fields, also accepts an object

Update Redmine Issue

update_redmine_issue

Updates an existing Redmine issue. Supports updating by status_name (resolved automatically to a status ID) and custom fields by name.

Parameters:

  • issue_id - ID of the issue to update
  • fields - Object of fields to update (e.g. {"status_name": "Resolved", "notes": "Fixed"})

List Time Entries

list_time_entries

Lists time entries from Redmine with optional filtering by project, issue, user, and date range.

Parameters:

  • project_id - Filter by project (numeric ID or string identifier)
  • issue_id - Filter by issue ID
  • user_id - Filter by user ID. Use "me" for the current user
  • from_date - Start date filter in YYYY-MM-DD format
  • to_date - End date filter in YYYY-MM-DD format
  • limit - Maximum entries to return. Defaults to 25, max 100
  • offset - Number of entries to skip for pagination. Defaults to 0

Create Time Entry

create_time_entry

Logs time against a Redmine project or issue. Either project_id or issue_id must be provided.

Parameters:

  • hours - Number of hours spent (e.g. 1.5)
  • project_id - Project to log time against
  • issue_id - Issue to log time against
  • activity_id - Time entry activity ID (e.g. Development, Design). Uses default if not provided
  • comments - Description of work performed
  • spent_on - Date when time was spent in YYYY-MM-DD format. Defaults to today

Update Time Entry

update_time_entry

Updates an existing time entry in Redmine. Only provided fields are updated.

Parameters:

  • time_entry_id - ID of the time entry to update
  • hours - New hours value
  • activity_id - New activity ID
  • comments - New comments/description
  • spent_on - New date in YYYY-MM-DD format

List Time Entry Activities

list_time_entry_activities

Lists all available time entry activity types (e.g. Development, Design, Testing). Use this to discover valid activity_id values before creating or updating time entries.

Search Entire Redmine

search_entire_redmine

Searches across issues and wiki pages in the Redmine instance. Requires Redmine 3.3.0 or higher.

Parameters:

  • query - Text to search for
  • resources - Filter by resource types: ["issues"], ["wiki_pages"], or both. Defaults to both
  • limit - Maximum results to return (max 100). Defaults to 100
  • offset - Pagination offset. Defaults to 0

Get Redmine Wiki Page

get_redmine_wiki_page

Retrieves the full content of a wiki page from a Redmine project.

Parameters:

  • project_id - Project identifier (numeric ID or string identifier)
  • wiki_page_title - Wiki page title (e.g. "Installation_Guide")
  • version - Specific version number to retrieve. Defaults to the latest version
  • include_attachments - Include attachment metadata. Defaults to true

Create Redmine Wiki Page

create_redmine_wiki_page

Creates a new wiki page in a Redmine project.

Parameters:

  • project_id - Project identifier (numeric ID or string identifier)
  • wiki_page_title - Wiki page title (e.g. "Getting_Started")
  • text - Wiki page content in Textile or Markdown (depending on Redmine configuration)
  • comments - Comment for the change log

Update Redmine Wiki Page

update_redmine_wiki_page

Updates an existing wiki page in a Redmine project. Version history is maintained automatically.

Parameters:

  • project_id - Project identifier (numeric ID or string identifier)
  • wiki_page_title - Wiki page title to update
  • text - New wiki page content
  • comments - Comment for the change log

Delete Redmine Wiki Page

delete_redmine_wiki_page

Deletes a wiki page from a Redmine project.

Parameters:

  • project_id - Project identifier (numeric ID or string identifier)
  • wiki_page_title - Wiki page title to delete

Get Redmine Attachment Download URL

get_redmine_attachment_download_url

Retrieves a time-limited HTTP download URL for a Redmine attachment. The URL expires based on server configuration (default: 60 minutes).

Parameters:

  • attachment_id - The ID of the attachment to download

On this page