MotirBuilding in public
MOTIR · moooon
onMotir
You’re viewing a public project. Anyone can view it — no account needed. Sign in to submit, upvote, or comment on requests.View-only — you can’t edit work items
MOTIR-1724

Plan in Huawei CodeArts Req 华为云 (ex-DevCloud / ProjectMan)

Blocked
Description

Motir-AI creates and updates 工作项 (work items) directly in a connected Huawei CodeArts project from a Motir plan, mirrored as motir-core work items and kept in sync.

CodeArts (formerly DevCloud) is Huawei Cloud's one-stop R&D platform, built on Huawei's own engineering practice; its requirement-management module is CodeArts Req (需求管理, formerly ProjectMan), which is the surface this story writes into. It matters for exactly the segment Jira does not reach: Chinese enterprises standardised on Huawei Cloud, and IPD-style organisations.

blocked_by two foundations: Plan in Jira for the write-back engine, and Plan in Yunxiao 云效 for the non-OAuth credential substrate.

⚠️ The auth model is this story's OPEN QUESTION — pin it FIRST

Be honest about what is and is not verified, because it drives the whole shape:

  • Verified. CodeArts Req exposes a v4 work-item ("issue") API family under the api-projectman namespace — e.g. GET /v4/projects/{project_id}/issue/{issue_id}/records for history, plus image upload and Scrum/Kanban work-item endpoints. The product supports Scrum, Kanban and IPD models with 需求 / 缺陷 / 任务 object types.
  • NOT verified — resolve before building. (a) The exact create-work-item endpoint and payload under that v4 family. (b) Whether Huawei Cloud offers any delegated authorization letting a third-party SaaS act on behalf of a user — Huawei Cloud APIs authenticate with an IAM token or AK/SK signing, and no consumer-style OAuth authorization-code flow for third parties is documented. If none exists, the only path is the user supplying a cloud credential, which is a materially worse security posture than an OAuth token: an AK/SK pair is a long-lived, potentially account-wide cloud key, not a scoped per-app grant.

So the first subtask at expansion is a research/spike that pins both, and the answer to (b) may change the recommendation for this story — including narrowing it to Huawei Cloud IAM agency-style delegation if one applies, or requiring a dedicated least-privilege IAM sub-user documented for the customer. Do not plan the connect flow before that spike lands, and do not assume the Yunxiao paste-a-token surface transfers unchanged: a scoped personal token and a cloud account key are not the same risk, and the credential substrate must not blur them.

The adapter

Map Motir kind / type / status / priority / assignee / parent + dependency edges onto CodeArts Req's work-item hierarchy and the project's configured process model (Scrum vs Kanban vs IPD differ structurally, so read the project's configuration). Sync back via CodeArts' webhook/notification path into the engine's conflict rule.

Boundary. WRITE direction only; importing a CodeArts backlog is a hand-off to Issue importer in Epic 7. Build the API client against the shipped connector interface (7.16.4a). The credential substrate belongs to Plan in Yunxiao 云效; this story adds the Huawei Cloud credential kind on top of it.

Not yet expanded into subtasks — expand when picked up.

Status
Blocked
Type
Story