-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
area:configConfiguration management (parameters, DSL, cleanup)Configuration management (parameters, DSL, cleanup)enhancementNew feature or requestNew feature or request
Description
Area: Configuration (parameters, projects)
Problem or use case
The CLI has a CreateProject API method (api/interface.go) but no corresponding CLI command. AI agents following Journey 2 (new developer setting up CI) must fall back to raw teamcity api calls to create a project, which requires knowing the exact REST API payload format:
# Current workaround — fragile and agent-unfriendly
teamcity api '/app/rest/projects' -X POST -f 'name=MyProject' -f 'id=MyProject' -f 'parentProject=id:_Root'This is a critical gap for the "Set Up CI via Agent" journey where an AI agent needs to create a project as the first step of onboarding.
Proposed solution
teamcity project create <name> # Create with auto-generated ID
teamcity project create <name> --id MyProject # Explicit project ID
teamcity project create <name> --parent ParentProject # Under a parent project
teamcity project create <name> --id MyProject --parent ParentProjectOutput:
✓ Created project "MyProject" (id: MyProject)
URL: https://teamcity.example.com/project/MyProject
Flags
--id— explicit project ID (default: auto-generated from name)--parent, -p— parent project ID (default:_Root)--json— machine-readable output-w, --web— open in browser after creation
API
Uses existing CreateProject method in api/interface.go:
POST /app/rest/projects
The Go API client already has CreateProject(req CreateProjectRequest) — this just needs a CLI wrapper.
Alternatives considered
- Use
teamcity apiraw endpoint — works but poor UX, agents must know payload format - Only support project creation via Kotlin DSL / versioned settings — not sufficient for the zero-touch onboarding scenario
Contribution
- I'd be willing to submit a PR for this feature
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:configConfiguration management (parameters, DSL, cleanup)Configuration management (parameters, DSL, cleanup)enhancementNew feature or requestNew feature or request