You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(source-control): Support Alibaba Cloud Codeup (and more generic PR providers)
#18546
T3 Code currently has a solid provider-neutral SourceControlProvider abstraction that supports GitHub, GitLab, Bitbucket, Azure DevOps, Forgejo/Gitea, and GitCafe for cloning, publishing, and especially creating/reviewing pull requests.
In China, a large portion of developers use Alibaba Cloud Codeup (云效 Codeup) instead of the above platforms. Supporting Codeup would make the PR workflow usable for many more users, while also making the abstraction more complete for future providers.
Current Architecture
From the existing implementation, the core interface already looks roughly like this:
Provider discovery based on remote URL + auth status
This is a good foundation. Adding a new provider mainly requires implementing this interface and registering it.
Proposed Change
Add a CodeupSourceControlProvider (similar to the existing BitbucketApi + BitbucketSourceControlProvider pattern):
Implement a lightweight CodeupApi client that talks to Codeup’s OpenAPI.
Map Codeup’s Change Request (合并请求) operations to the existing neutral ChangeRequest type.
Support authentication via personal access token (x-yunxiao-token), configurable in Settings → Source Control (same style as GitHub token / Bitbucket token).
Discovery: recognize remotes on codeup.aliyun.com (and organization custom domains if possible).
Codeup API Reference
Codeup provides OpenAPI for merge requests, for example:
Create: POST /oapi/v1/codeup/.../changeRequests
Merge: POST /oapi/v1/codeup/.../changeRequests/{localId}/merge
Review, comment, etc.
Auth is done with a personal access token in the header x-yunxiao-token. Both Central and Region editions are supported.
Why This Matters
Many Chinese teams use Codeup as their primary Git hosting platform.
The PR creation / review flow is one of the nicest features in T3 Code.
The abstraction already exists, so the incremental cost of adding Codeup is relatively low.
It also makes it easier to add other similar providers later.
Additional Suggestion
If the team wants to make future providers even easier, it could be worth extracting a slightly more formal “minimal PR operations” contract that new providers only need to implement, with optional richer features (line comments, reviewers, labels, etc.) layered on top.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Summary
T3 Code currently has a solid provider-neutral
SourceControlProviderabstraction that supports GitHub, GitLab, Bitbucket, Azure DevOps, Forgejo/Gitea, and GitCafe for cloning, publishing, and especially creating/reviewing pull requests.In China, a large portion of developers use Alibaba Cloud Codeup (云效 Codeup) instead of the above platforms. Supporting Codeup would make the PR workflow usable for many more users, while also making the abstraction more complete for future providers.
Current Architecture
From the existing implementation, the core interface already looks roughly like this:
listChangeRequests/getChangeRequest/createChangeRequest/checkoutChangeRequestgetRepositoryCloneUrls/createRepository/getDefaultBranchThis is a good foundation. Adding a new provider mainly requires implementing this interface and registering it.
Proposed Change
Add a
CodeupSourceControlProvider(similar to the existingBitbucketApi+BitbucketSourceControlProviderpattern):CodeupApiclient that talks to Codeup’s OpenAPI.ChangeRequesttype.x-yunxiao-token), configurable in Settings → Source Control (same style as GitHub token / Bitbucket token).codeup.aliyun.com(and organization custom domains if possible).Codeup API Reference
Codeup provides OpenAPI for merge requests, for example:
POST /oapi/v1/codeup/.../changeRequestsPOST /oapi/v1/codeup/.../changeRequests/{localId}/mergeAuth is done with a personal access token in the header
x-yunxiao-token. Both Central and Region editions are supported.Why This Matters
Additional Suggestion
If the team wants to make future providers even easier, it could be worth extracting a slightly more formal “minimal PR operations” contract that new providers only need to implement, with optional richer features (line comments, reviewers, labels, etc.) layered on top.
All reactions