Redmine MCP Server

create_time_entry

Create a new time entry.

  • Either project_id or issue_id is required
  • hours is required
  • activity_id is required unless a default activity is defined
  • Returns 201 Created on success
  • Returns 422 Unprocessable Entity on validation failure
  • Available since Redmine 1.1

Input Schema

NameRequiredDescriptionDefault
activity_idNoActivity ID (required unless a default activity is defined)
commentsNoComments (max 255 characters)
hoursYesNumber of spent hours (can include decimals)
issue_idNoIssue ID
project_idNoProject ID (numeric) or identifier (string)
spent_onNoDate (YYYY-MM-DD format, defaults to current date)
user_idNoUser ID (requires admin privileges)

Input Schema (JSON Schema)

{ "oneOf": [ { "required": [ "project_id" ] }, { "required": [ "issue_id" ] } ], "properties": { "activity_id": { "description": "Activity ID (required unless a default activity is defined)", "type": "number" }, "comments": { "description": "Comments (max 255 characters)", "maxLength": 255, "type": "string" }, "hours": { "description": "Number of spent hours (can include decimals)", "exclusiveMinimum": true, "minimum": 0, "type": "number" }, "issue_id": { "description": "Issue ID", "type": "number" }, "project_id": { "description": "Project ID (numeric) or identifier (string)", "type": [ "string", "number" ] }, "spent_on": { "description": "Date (YYYY-MM-DD format, defaults to current date)", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "type": "string" }, "user_id": { "description": "User ID (requires admin privileges)", "type": "number" } }, "required": [ "hours" ], "type": "object" }