JetBrains / JetBrains/teamcity-cli

Create connections for additional providers

Open
#216 0 comments 1 reaction 0 assignees View on GitHub
votes-needed
Dominant language
Go
Stars
123
Forks
16
Avg merge
1d 13h
Merged PRs (30d)
22

Description

### Area

Configuration (parameters, projects)

### Problem or use case

Connection creation currently supports GitHub App and Docker registry connections. Users of other providers must create connections in the TeamCity UI or use raw REST calls. Authorization support for a provider does not mean the CLI can create its connection.

### Proposed solution

Add providers independently, based on a concrete user need. Candidates include GitLab (hosted/self-managed), Bitbucket Cloud, GitHub OAuth/Enterprise, AWS, and Azure DevOps. Other providers can be proposed with their intended use case; this is not a commitment to implement every provider.

For each provider:
- Confirm supported TeamCity versions, persisted properties, and authentication flow against a working connection. Do not copy unverified property tables.
- Provide required fields, secret prompts/stdin, useful non-interactive errors, and JSON output using existing command conventions.
- Verify creation, the applicable authorization flow, and actual use by a VCS root or consuming build feature. Test invalid input without exposing secrets.

GitLab connection metadata is present on cli.teamcity.com, but no new provider creation or external OAuth flow was tested during grooming. Choose the first provider before implementation.

### Alternatives considered

Create connections through the UI or `teamcity api`. A generic unchecked property writer would still leave provider-specific setup and validation to callers.

### Contribution

- [ ] I'd be willing to submit a PR (once it's `status:finalized`)

Contributor guide

Open the contributing guide

Research direction

No implementation files, tests, or entry points are named. First choose one provider and verify its TeamCity versions, persisted properties, authentication flow, and working connection; then trace the existing connection-creation command conventions. Done means validated creation, authorization and consumer use, with secret-safe invalid-input handling and JSON output tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, azure, github, gitlab, go
Domain
api, authentication, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.