create_task
Create a task in Repsona by specifying project and name, with optional fields for dates, priority, assignee, status, tags, and parent task.
Instructions
新しいタスクを作成します
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | プロジェクトID | |
| name | Yes | タスク名 | |
| description | No | 内容 | |
| startDate | No | ||
| dueDate | No | ||
| status | No | ステータスID | |
| tags | No | タグID | |
| priority | No | 優先度 | |
| milestone | No | マイルストーンID | |
| parent | No | 親タスクID | |
| addToBottom | No | 一番下に追加するかどうか | |
| responsibleUser | No | 担当者 | |
| ballHoldingUser | No | ボール保持者 |
Implementation Reference
- index.js:1138-1155 (handler)The 'create_task' handler in the CallToolRequestSchema switch statement. It extracts projectId from args, parses date fields (startDate, dueDate) using the parseDate helper, calls repesonaAPI.createTask(), and returns the result as a JSON string.
case 'create_task': const { projectId: createProjectId, ...taskData } = args; // 日付フィールドを処理 if (taskData.startDate) { taskData.startDate = parseDate(taskData.startDate); } if (taskData.dueDate) { taskData.dueDate = parseDate(taskData.dueDate); } const newTask = await this.repsonaAPI.createTask(createProjectId, taskData); return { content: [ { type: 'text', text: `タスクが作成されました: ${JSON.stringify(newTask, null, 2)}`, }, ], }; - index.js:461-491 (schema)The input schema definition for the 'create_task' tool, registered in the ListToolsRequestSchema handler. Defines required fields (projectId, name) and optional fields including date fields with oneOf (number timestamp or string relative date).
name: 'create_task', description: '新しいタスクを作成します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, name: { type: 'string', description: 'タスク名' }, description: { type: 'string', description: '内容' }, startDate: { oneOf: [ { type: 'number', description: '開始日時(ミリ秒タイムスタンプ)' }, { type: 'string', description: '開始日時("今日", "明日", "3日後", "来週末", "来月末", "来週の月曜日", ISO形式など)' } ] }, dueDate: { oneOf: [ { type: 'number', description: '期限(ミリ秒タイムスタンプ)' }, { type: 'string', description: '期限("今日", "明日", "3日後", "来週末", "来月末", "来週の月曜日", ISO形式など)' } ] }, status: { type: 'number', description: 'ステータスID' }, tags: { type: 'array', items: { type: 'number' }, description: 'タグID' }, priority: { type: 'number', enum: [1, 2, 3], description: '優先度' }, milestone: { type: 'number', description: 'マイルストーンID' }, parent: { type: 'number', description: '親タスクID' }, addToBottom: { type: 'boolean', description: '一番下に追加するかどうか' }, responsibleUser: { type: 'number', description: '担当者' }, ballHoldingUser: { type: 'number', description: 'ボール保持者' }, }, required: ['projectId', 'name'], }, - index.js:422-1107 (registration)The 'create_task' tool is registered as part of the tools array in the ListToolsRequestSchema handler (line 461-491). The tool is listed among many other tools within this registration block.
this.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ { name: 'get_tasks', description: 'Repsonaからタスクの一覧を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, page: { type: 'string', description: '一覧の開始ページ' }, keywords: { type: 'string', description: 'キーワード' }, tags: { type: 'string', description: 'タグID' }, statuses: { type: 'string', description: 'ステータスID' }, milestones: { type: 'string', description: 'マイルストーンID' }, priorities: { type: 'string', description: '優先度' }, responsible_users: { type: 'string', description: '担当者のユーザーID' }, ball_holding_users: { type: 'string', description: 'ボール保持者のユーザーID' }, due_date_gte: { type: 'string', description: '期限の開始日' }, due_date_lte: { type: 'string', description: '期限の終了日' }, is_expired: { type: 'boolean', description: '期限切れを表示する' }, is_closed: { type: 'boolean', description: '完了済み表示する' }, }, required: ['projectId'], }, }, { name: 'get_task', description: '特定のタスクの詳細を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskId: { type: 'string', description: 'タスクID' }, }, required: ['projectId', 'taskId'], }, }, { name: 'create_task', description: '新しいタスクを作成します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, name: { type: 'string', description: 'タスク名' }, description: { type: 'string', description: '内容' }, startDate: { oneOf: [ { type: 'number', description: '開始日時(ミリ秒タイムスタンプ)' }, { type: 'string', description: '開始日時("今日", "明日", "3日後", "来週末", "来月末", "来週の月曜日", ISO形式など)' } ] }, dueDate: { oneOf: [ { type: 'number', description: '期限(ミリ秒タイムスタンプ)' }, { type: 'string', description: '期限("今日", "明日", "3日後", "来週末", "来月末", "来週の月曜日", ISO形式など)' } ] }, status: { type: 'number', description: 'ステータスID' }, tags: { type: 'array', items: { type: 'number' }, description: 'タグID' }, priority: { type: 'number', enum: [1, 2, 3], description: '優先度' }, milestone: { type: 'number', description: 'マイルストーンID' }, parent: { type: 'number', description: '親タスクID' }, addToBottom: { type: 'boolean', description: '一番下に追加するかどうか' }, responsibleUser: { type: 'number', description: '担当者' }, ballHoldingUser: { type: 'number', description: 'ボール保持者' }, }, required: ['projectId', 'name'], }, }, { name: 'update_task', description: 'タスクを更新します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskId: { type: 'string', description: 'タスクID' }, name: { type: 'string', description: 'タスク名' }, description: { type: 'string', description: '内容' }, startDate: { oneOf: [ { type: 'number', description: '開始日時(ミリ秒タイムスタンプ)' }, { type: 'string', description: '開始日時("今日", "明日", "3日後", "来週末", "来月末", "来週の月曜日", ISO形式など)' } ] }, dueDate: { oneOf: [ { type: 'number', description: '期限(ミリ秒タイムスタンプ)' }, { type: 'string', description: '期限("今日", "明日", "3日後", "来週末", "来月末", "来週の月曜日", ISO形式など)' } ] }, status: { type: 'number', description: 'ステータスID' }, tags: { type: 'array', items: { type: 'number' }, description: 'タグID' }, priority: { type: 'number', enum: [1, 2, 3], description: '優先度' }, milestone: { type: 'number', description: 'マイルストーンID' }, parent: { type: 'number', description: '親タスクID' }, responsibleUser: { type: 'number', description: '担当者' }, ballHoldingUser: { type: 'number', description: 'ボール保持者' }, }, required: ['projectId', 'taskId'], }, }, { name: 'delete_task', description: 'タスクを削除します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskId: { type: 'string', description: 'タスクID' }, }, required: ['projectId', 'taskId'], }, }, { name: 'get_project_notes', description: '指定したプロジェクト内のノート一覧を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, }, required: ['projectId'], }, }, { name: 'get_project_note', description: '指定したプロジェクト内の特定のノートの詳細を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteId: { type: 'string', description: 'ノートID' }, }, required: ['projectId', 'noteId'], }, }, { name: 'create_project_note', description: '指定したプロジェクト内にノートを作成します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, name: { type: 'string', description: 'ノート名' }, description: { type: 'string', description: 'ノートの内容' }, tags: { type: 'array', items: { type: 'number' }, description: 'タグID' }, parent: { type: 'number', description: '親ノートID' }, addToBottom: { type: 'boolean', description: '一番下に追加するかどうか' }, }, required: ['projectId', 'name'], }, }, { name: 'update_project_note', description: '指定したプロジェクト内のノートを更新します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteId: { type: 'string', description: 'ノートID' }, name: { type: 'string', description: 'ノート名' }, description: { type: 'string', description: 'ノートの内容' }, tags: { type: 'array', items: { type: 'number' }, description: 'タグID' }, parent: { type: 'number', description: '親ノートID' }, }, required: ['projectId', 'noteId'], }, }, { name: 'delete_project_note', description: '指定したプロジェクト内のノートを削除します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteId: { type: 'string', description: 'ノートID' }, }, required: ['projectId', 'noteId'], }, }, { name: 'get_project_note_children', description: '指定したプロジェクト内のノートのサブノート一覧を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteId: { type: 'string', description: 'ノートID' }, }, required: ['projectId', 'noteId'], }, }, { name: 'get_project_note_comments', description: '指定したプロジェクト内のノートのコメント一覧を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteId: { type: 'string', description: 'ノートID' }, }, required: ['projectId', 'noteId'], }, }, { name: 'create_project_note_comment', description: '指定したプロジェクト内のノートにコメントを投稿します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteId: { type: 'string', description: 'ノートID' }, comment: { type: 'string', description: 'コメント内容' }, parent: { type: 'number', description: '返信先コメントID' }, }, required: ['projectId', 'noteId', 'comment'], }, }, { name: 'update_project_note_comment', description: '指定したプロジェクト内のノートのコメントを更新します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteCommentId: { type: 'string', description: 'コメントID' }, comment: { type: 'string', description: 'コメント内容' }, }, required: ['projectId', 'noteCommentId', 'comment'], }, }, { name: 'delete_project_note_comment', description: '指定したプロジェクト内のノートのコメントを削除します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteCommentId: { type: 'string', description: 'コメントID' }, }, required: ['projectId', 'noteCommentId'], }, }, { name: 'get_project_note_activity_log', description: '指定したプロジェクト内のノートのアクティビティログを取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteId: { type: 'string', description: 'ノートID' }, page: { type: 'number', description: 'ページ番号(1が最初)' }, }, required: ['projectId', 'noteId'], }, }, { name: 'get_project_note_history', description: '指定したプロジェクト内のノートの履歴を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, noteId: { type: 'string', description: 'ノートID' }, }, required: ['projectId', 'noteId'], }, }, { name: 'download_file', description: '指定したファイルハッシュでファイルをダウンロードします', inputSchema: { type: 'object', properties: { hash: { type: 'string', description: 'ファイルハッシュ' }, }, required: ['hash'], }, }, { name: 'upload_file', description: '指定したプロジェクトにファイルをアップロードします', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, fileData: { type: 'object', description: 'ファイルデータ(multipart/form-data形式)' }, }, required: ['projectId', 'fileData'], }, }, { name: 'attach_file', description: '指定したファイルをタスクやノートに添付します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, model: { type: 'string', enum: ['task', 'task_comment', 'note', 'note_comment'], description: 'タスク、タスクコメント、ノート、ノートコメント' }, modelId: { type: 'string', description: 'タスクID、タスクコメントID、ノートID、ノートコメントID' }, fileId: { type: 'string', description: 'ファイルID' }, }, required: ['projectId', 'model', 'modelId', 'fileId'], }, }, { name: 'detach_file', description: '指定したファイルをタスクやノートから添付を外します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, model: { type: 'string', enum: ['task', 'task_comment', 'note', 'note_comment'], description: 'タスク、タスクコメント、ノート、ノートコメント' }, modelId: { type: 'string', description: 'タスクID、タスクコメントID、ノートID、ノートコメントID' }, fileId: { type: 'string', description: 'ファイルID' }, }, required: ['projectId', 'model', 'modelId', 'fileId'], }, }, { name: 'delete_file', description: '指定したファイルハッシュでファイルを削除します(アップロードしたユーザーのみ)', inputSchema: { type: 'object', properties: { hash: { type: 'string', description: 'ファイルハッシュ' }, }, required: ['hash'], }, }, { name: 'update_user_role', description: '指定したユーザーのロールを更新します(Owner/Admin権限が必要)', inputSchema: { type: 'object', properties: { userId: { type: 'string', description: 'ユーザーID' }, role: { type: 'string', enum: ['owner', 'admin', 'member', 'no-login'], description: 'ロール(owner: オーナー、admin: 管理者、member: メンバー、no-login: ログイン不可)' }, }, required: ['userId', 'role'], }, }, { name: 'invite_to_space', description: '新しいメンバーをスペースに招待します(Owner/Admin権限が必要)', inputSchema: { type: 'object', properties: { email: { type: 'string', description: 'メールアドレス' }, name: { type: 'string', description: '名前' }, fullName: { type: 'string', description: 'フルネーム' }, projects: { type: 'array', items: { type: 'string' }, description: 'プロジェクトID' }, }, required: ['email', 'name'], }, }, { name: 'get_me', description: '自分の情報を取得します', inputSchema: { type: 'object', properties: {}, }, }, { name: 'update_me', description: '自分の情報を更新します', inputSchema: { type: 'object', properties: { name: { type: 'string', description: '名前' }, fullName: { type: 'string', description: 'フルネーム' }, whatAreYouDoing: { type: 'string', description: '何をやっていますか?' }, }, }, }, { name: 'get_my_tasks', description: '指定したタイプの自分のタスクを取得します', inputSchema: { type: 'object', properties: { type: { type: 'string', enum: ['responsible', 'ballHolding', 'following'], description: 'タイプ。responsible(担当)、ballHolding(ボール保持)、following(フォロー中)を指定できます。' }, }, required: ['type'], }, }, { name: 'get_my_tasks_count', description: '指定したタイプの自分のタスク数を取得します', inputSchema: { type: 'object', properties: { type: { type: 'string', enum: ['responsible', 'ballHolding', 'following'], description: 'タイプ。responsible(担当)、ballHolding(ボール保持)、following(フォロー中)を指定できます。' }, }, required: ['type'], }, }, { name: 'get_my_projects', description: '参加しているプロジェクトを取得します', inputSchema: { type: 'object', properties: {}, }, }, { name: 'get_feed', description: '自分のアクティビティフィードを取得します', inputSchema: { type: 'object', properties: { page: { type: 'number', description: 'ページ番号(1が最初)' }, }, }, }, { name: 'get_projects', description: 'プロジェクトの一覧を取得します', inputSchema: { type: 'object', properties: {}, }, }, { name: 'get_project', description: '指定したプロジェクトの詳細情報を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, }, required: ['projectId'], }, }, { name: 'create_project', description: '新しいプロジェクトを作成します', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'プロジェクト名' }, fullName: { type: 'string', description: '正式名称' }, purpose: { type: 'string', description: 'プロジェクトの目的' }, }, required: ['name'], }, }, { name: 'update_project', description: '指定したプロジェクトを更新します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, name: { type: 'string', description: 'プロジェクト名' }, fullName: { type: 'string', description: '正式名称' }, purpose: { type: 'string', description: 'プロジェクトの目的' }, }, required: ['projectId'], }, }, { name: 'get_project_users', description: '指定したプロジェクトに参加しているユーザーを取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, }, required: ['projectId'], }, }, { name: 'get_project_activity', description: '指定したプロジェクトのアクティビティを取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, page: { type: 'number', description: 'ページ番号(1が最初)' }, }, required: ['projectId'], }, }, { name: 'get_project_statuses', description: '指定したプロジェクトのステータス一覧を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, }, required: ['projectId'], }, }, { name: 'get_project_milestones', description: '指定したプロジェクトのマイルストーン一覧を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, }, required: ['projectId'], }, }, { name: 'get_space_info', description: 'スペースの情報を取得します', inputSchema: { type: 'object', properties: {}, }, }, { name: 'get_all_tags', description: '全てのタグ一覧を取得します', inputSchema: { type: 'object', properties: {}, }, }, { name: 'get_inbox', description: '自分の受信トレイを取得します', inputSchema: { type: 'object', properties: { status: { type: 'string', description: 'ステータス(例: all, unread, read)' }, }, required: ['status'], }, }, { name: 'update_inbox', description: '受信トレイの未読・既読を更新します', inputSchema: { type: 'object', properties: { id: { type: 'string', description: '受信トレイID' }, status: { type: 'string', enum: ['unread', 'archived'], description: 'ステータス(unread: 未読、archived: 既読)' }, }, required: ['id', 'status'], }, }, { name: 'archive_all_inbox', description: '受信トレイを一括既読にします', inputSchema: { type: 'object', properties: {}, }, }, { name: 'get_inbox_unread_count', description: '受信トレイの未読件数を取得します', inputSchema: { type: 'object', properties: {}, }, }, { name: 'get_task_comments', description: '指定したタスクのコメント一覧を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskId: { type: 'string', description: 'タスクID' }, }, required: ['projectId', 'taskId'], }, }, { name: 'create_task_comment', description: '指定したタスクにコメントを投稿します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskId: { type: 'string', description: 'タスクID' }, comment: { type: 'string', description: 'コメント内容' }, parent: { type: 'number', description: '親コメントID(返信の場合)' }, }, required: ['projectId', 'taskId', 'comment'], }, }, { name: 'update_task_comment', description: '指定したタスクのコメントを更新します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskCommentId: { type: 'string', description: 'コメントID' }, comment: { type: 'string', description: 'コメント内容' }, }, required: ['projectId', 'taskCommentId', 'comment'], }, }, { name: 'delete_task_comment', description: '指定したタスクのコメントを削除します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskCommentId: { type: 'string', description: 'コメントID' }, }, required: ['projectId', 'taskCommentId'], }, }, { name: 'get_task_activity_log', description: '指定したタスクのアクティビティログを取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskId: { type: 'string', description: 'タスクID' }, page: { type: 'number', description: 'ページ番号(1が最初)' }, }, required: ['projectId', 'taskId'], }, }, { name: 'get_task_history', description: '指定したタスクの履歴を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskId: { type: 'string', description: 'タスクID' }, }, required: ['projectId', 'taskId'], }, }, { name: 'get_task_subtasks', description: '指定したタスクのサブタスク一覧を取得します', inputSchema: { type: 'object', properties: { projectId: { type: 'string', description: 'プロジェクトID' }, taskId: { type: 'string', description: 'タスクID' }, }, required: ['projectId', 'taskId'], }, }, ], }; }); - index.js:17-112 (helper)The parseDate helper function used by the create_task handler to parse relative date strings (like '今日', '明日', '3日後', '来週末', etc.) into millisecond timestamps.
function parseDate(dateInput) { if (!dateInput) return undefined; // 数値の場合はそのまま返す(ミリ秒タイムスタンプ) if (typeof dateInput === 'number') { return dateInput; } // 文字列の場合 if (typeof dateInput === 'string') { const now = new Date(); const lowerInput = dateInput.toLowerCase().trim(); // 基本的な相対日付 if (lowerInput === '今日' || lowerInput === 'today') { const today = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0); return today.getTime(); } if (lowerInput === '明日' || lowerInput === 'tomorrow') { const tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1, 0, 0, 0); return tomorrow.getTime(); } if (lowerInput === '明後日' || lowerInput === 'day after tomorrow') { const dayAfter = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 2, 0, 0, 0); return dayAfter.getTime(); } // X日後のパターン const daysPattern = /^(\d+)日後$/; const daysMatch = lowerInput.match(daysPattern); if (daysMatch) { const days = parseInt(daysMatch[1], 10); const futureDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() + days, 0, 0, 0); return futureDate.getTime(); } // 週関連 if (lowerInput === '来週' || lowerInput === 'next week') { const nextWeek = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 7, 0, 0, 0); return nextWeek.getTime(); } if (lowerInput === '来週末' || lowerInput === 'next weekend') { // 来週の日曜日を取得 const daysUntilNextWeek = 7 - now.getDay(); // 今週の日曜日まで const nextSunday = new Date(now.getFullYear(), now.getMonth(), now.getDate() + daysUntilNextWeek + 7, 0, 0, 0); return nextSunday.getTime(); } // 月関連 if (lowerInput === '来月' || lowerInput === 'next month') { const nextMonth = new Date(now.getFullYear(), now.getMonth() + 1, 1, 0, 0, 0); return nextMonth.getTime(); } if (lowerInput === '来月末' || lowerInput === 'end of next month') { // 来月の最終日 const nextMonth = new Date(now.getFullYear(), now.getMonth() + 2, 0, 0, 0, 0); return nextMonth.getTime(); } // 今月末 if (lowerInput === '今月末' || lowerInput === 'end of this month') { const endOfMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0, 0, 0, 0); return endOfMonth.getTime(); } // 週末 if (lowerInput === '週末' || lowerInput === 'weekend') { // 今週の日曜日 const daysUntilSunday = 7 - now.getDay(); const thisSunday = new Date(now.getFullYear(), now.getMonth(), now.getDate() + daysUntilSunday, 0, 0, 0); return thisSunday.getTime(); } // 曜日指定(来週の○曜日) const weekdayPattern = /^来週の?([月火水木金土日])曜日?$/; const weekdayMatch = lowerInput.match(weekdayPattern); if (weekdayMatch) { const weekdays = { '月': 1, '火': 2, '水': 3, '木': 4, '金': 5, '土': 6, '日': 0 }; const targetDay = weekdays[weekdayMatch[1]]; if (targetDay !== undefined) { const daysUntilNextWeek = 7 - now.getDay(); // 今週の日曜日まで const daysFromNextSunday = targetDay === 0 ? 0 : targetDay; // 来週の目標曜日まで const targetDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() + daysUntilNextWeek + daysFromNextSunday, 0, 0, 0); return targetDate.getTime(); } } // ISO形式やその他の日付文字列 const parsed = new Date(dateInput); if (!isNaN(parsed.getTime())) { return parsed.getTime(); } } return undefined; } - index.js:163-165 (helper)The RepsonaAPI.createTask method that makes the actual POST request to the Repsona API to create a task.
async createTask(projectId, task) { return this.makeRequest(`/project/${projectId}/task`, 'POST', task); }