Skip to content

Project Transfers API

Project transfer endpoints 通过 request/accept flow 在 workspaces 之间转移 project ownership。

POST /api/v2/projects/:fullname/transfer/plan

返回 project transfer plan,但不应用任何更改。

Arguments:

ArgumentLocationDescription
fullnamePathSource project fullname.

Payload:

FieldRequiredDescription
targetWorkspaceTarget workspace fullname.
targetNametarget workspace 中的新 project name。如果未传入,则保留当前 name。

响应:ProjectTransferPlan

POST /api/v2/projects/:fullname/transfer-requests

创建 transfer request。只有 target workspace owner accept 后,project 才会被转移。

Arguments:

ArgumentLocationDescription
fullnamePathSource project fullname.

Payload:

FieldRequiredDescription
targetWorkspaceTarget workspace fullname.
targetNametarget workspace 中的新 project name。
expectedPlanHash/transfer/plan 获得的 plan hash。如果传入且 plan 已变化,则不会创建 request。

响应:ProjectTransferRequest

GET /api/v2/project-transfer-requests

返回 incoming/outgoing transfer requests。

Arguments:

ArgumentLocationDescription
workspaceQueryWorkspace fullname.
directionQueryincomingoutgoing
statusQuerypending, accepted, rejected, cancelled, expired, failed.

Payload: 无。

响应:ProjectTransferRequest[]

POST /api/v2/project-transfer-requests/:id/accept

接受 incoming transfer request 并应用 project transfer。

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload: optional action object.

FieldRequiredDescription
reasonOptional comment/reason.

响应:ProjectTransferAcceptResult

POST /api/v2/project-transfer-requests/:id/reject

拒绝 incoming transfer request。

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload:

FieldRequiredDescription
reasonOptional rejection reason.

响应:ProjectTransferRequest

POST /api/v2/project-transfer-requests/:id/cancel

取消 outgoing transfer request。

Arguments:

ArgumentLocationDescription
idPathTransfer request id.

Payload:

FieldRequiredDescription
reasonOptional cancellation reason.

响应:ProjectTransferRequest