Repository navigation
Conversation
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Attribute ids are numbered per entity type, so the same id can name a different attribute on another kind. delete_custom_attribute now takes an expected_name and refuses, deleting nothing, when it does not match. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## bugfix/278-mcp-epic-link-and-version-fixes #283 +/- ##
==============================================================================
+ Coverage 98.22% 98.25% +0.03%
==============================================================================
Files 12 12
Lines 1576 1607 +31
Branches 151 154 +3
==============================================================================
+ Hits 1548 1579 +31
Misses 19 19
Partials 9 9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds two MCP tools to manage custom-attribute definitions:
create_custom_attribute(entity_type, project, name, description="", type=None)– creates a definition for user stories, tasks, issues or epics and returns it (itsidis theattribute_idforset_custom_attribute_value).typeis omitted from the payload when not given. A duplicate name surfaces Taiga's real message.delete_custom_attribute(entity_type, project, attribute_id, expected_name)– deletes a definition. Destructive (Taiga also drops the stored values), so it refuses, deleting nothing, unless the attribute belongs toprojectand is namedexpected_name(case and surrounding spaces ignored). Both guards are needed: attribute ids are global across projects and numbered separately per entity type, so the same id can name a different attribute on another kind.Both use the existing
*Attributesfactories; no library change. Needed by the Nephilataiga-sprint-planningskill to create an "Estimation" attribute on boards that lack one.Stacked on #279 (
bugfix/278-…): this branch builds on the MCP server code there, so this PR targets that branch and shows only its own 5 commits.References
Taiga US 14050 (https://taiga.nephila.it/project/nephila/us/14050)
Checklist
inv lint(ruff, isort, black, pypi-description: OK)changesfile included (changes/14050.feature)docs/mcp.rst)list-toolstest; 468 pass)Verification
Live-tested on a Taiga instance, on a test board:
Note: the repo's pre-commit "ruff (legacy alias)" hook fails on ~99 pre-existing errors in untouched files;
inv lintis clean and the new code adds none.AI usage
Model: Claude Sonnet 5.5 (Claude Code), with Opus subagents as whole-branch reviewers.
Scope: design, tests-first implementation, docs and this PR text were drafted with AI; each commit and the push were reviewed and approved by the author. The create tool and the first version of the delete tool (
fba0752) had an independent AI review; the laterexpected_namechange (2307b6e) and the missing-owner test (cdfd016) were written in response to that review and have not had a second independent pass.Prompts (summary): extend the MCP server so the planning skill can create a missing custom attribute; add a delete tool and live-test both on a test board; fix the review finding that an id can match a different attribute on another entity type.
Agent usage