create_project_column
Create a new column in a GitHub project by specifying the project ID and column name. Ideal for organizing tasks and workflows efficiently.
Instructions
Create a new column for a project
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the column | |
| project_id | Yes | The ID of the project |
Implementation Reference
- src/operations/projects.ts:178-197 (handler)The core handler function that executes the GitHub API request to create a project column.export async function createProjectColumn( github_pat: string, project_id: number, name: string ): Promise<z.infer<typeof ProjectColumnSchema>> { const response = await githubRequest( github_pat, `https://api.github.com/projects/${project_id}/columns`, { method: "POST", body: { name, }, headers: { "Accept": "application/vnd.github.inertia-preview+json", }, } ); return ProjectColumnSchema.parse(response); }
- src/operations/projects.ts:82-85 (schema)Input schema definition for the create_project_column tool.export const CreateProjectColumnSchema = z.object({ project_id: z.number().describe("The ID of the project"), name: z.string().describe("The name of the column"), });
- src/operations/projects.ts:87-89 (schema)Extended internal schema including GitHub PAT.export const _CreateProjectColumnSchema = CreateProjectColumnSchema.extend({ github_pat: z.string().describe("GitHub Personal Access Token"), });
- src/index.ts:264-268 (registration)Tool registration in the list_tools response.{ name: "create_project_column", description: "Create a new column for a project", inputSchema: zodToJsonSchema(projects.CreateProjectColumnSchema), },
- src/index.ts:712-719 (handler)Dispatch handler in the main CallToolRequestSchema switch that invokes the projects.createProjectColumn function.case "create_project_column": { const args = projects._CreateProjectColumnSchema.parse(params.arguments); const { github_pat, project_id, name } = args; const result = await projects.createProjectColumn(github_pat, project_id, name); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; }