asana_create_project_status
Create project status updates in Asana with text content, color coding, and optional HTML formatting to track progress and communicate updates.
Instructions
Create a new status update for a project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | The color of the status (green, yellow, red) | |
| html_text | No | HTML formatted text for the status update | |
| opt_fields | No | Comma-separated list of optional fields to include | |
| project_gid | Yes | The project GID to create the status for | |
| text | Yes | The text content of the status update | |
| title | No | The title of the status update |
Implementation Reference
- src/tool-handler.ts:260-266 (handler)The main tool handler logic for 'asana_create_project_status' which destructures the input arguments and delegates to AsanaClientWrapper.createProjectStatus.case "asana_create_project_status": { const { project_gid, ...statusData } = args; const response = await asanaClient.createProjectStatus(project_gid, statusData); return { content: [{ type: "text", text: JSON.stringify(response) }], }; }
- The Tool object defining the schema, name, and description for 'asana_create_project_status' used for input validation.export const createProjectStatusTool: Tool = { name: "asana_create_project_status", description: "Create a new status update for a project", inputSchema: { type: "object", properties: { project_gid: { type: "string", description: "The project GID to create the status for" }, text: { type: "string", description: "The text content of the status update" }, color: { type: "string", description: "The color of the status (green, yellow, red)", enum: ["green", "yellow", "red"] }, title: { type: "string", description: "The title of the status update" }, html_text: { type: "string", description: "HTML formatted text for the status update" }, opt_fields: { type: "string", description: "Comma-separated list of optional fields to include" } }, required: ["project_gid", "text"] } };
- src/tool-handler.ts:38-61 (registration)Registration of the tool in the all_tools array, which is filtered and exported as list_of_tools for MCP tool discovery.const all_tools: Tool[] = [ listWorkspacesTool, searchProjectsTool, searchTasksTool, getTaskTool, createTaskTool, getStoriesForTaskTool, updateTaskTool, getProjectTool, getProjectTaskCountsTool, getProjectSectionsTool, createTaskStoryTool, addTaskDependenciesTool, addTaskDependentsTool, createSubtaskTool, getMultipleTasksByGidTool, getProjectStatusTool, getProjectStatusesForProjectTool, createProjectStatusTool, deleteProjectStatusTool, setParentForTaskTool, getTasksForTagTool, getTagsForWorkspaceTool, ];
- src/asana-client-wrapper.ts:262-266 (helper)Supporting method in AsanaClientWrapper that performs the actual Asana API call to create a project status update.async createProjectStatus(projectId: string, data: any) { const body = { data }; const response = await this.projectStatuses.createProjectStatusForProject(body, projectId); return response.data; }
- src/tool-handler.ts:13-17 (registration)Import statement registering the createProjectStatusTool for use in the tool handler.getProjectStatusTool, getProjectStatusesForProjectTool, createProjectStatusTool, deleteProjectStatusTool } from './tools/project-status-tools.js';