PingCode 基于 PingCode REST API,实现 IProjectManagementService 统一接口。
包信息
| 项 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.ProjectManagement.PingCode |
| 实现接口 | IProjectManagementService |
| Provider ID | pingcode |
| 鉴权方式 | API Token Bearer(Authorization: Bearer {token}) |
| 默认 BaseUrl | https://open.pingcode.com/api |
| 区域 | CN |
凭据在 PingCode 个人设置中创建后获取。支持迭代/故事/任务/缺陷四类工作项。
配置字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
AccessToken | string | 是 | — | API Token(Bearer 凭据) |
BaseUrl | string | 否 | https://open.pingcode.com/api | PingCode API 基地址 |
HttpClientName | string | 否 | ProjectManagementPingCode | 业务 HttpClient 命名 |
配置 JSON 示例
{ "ProjectManagement": { "PingCode": { "AccessToken": "xxxxxxxxxxxxxxxxxxxxxxxx", "BaseUrl": "https://open.pingcode.com/api" } }}DI 注册
// 从配置节注册(默认节名 ProjectManagement:PingCode)services.AddPingCodeProjectManagement(configuration);
// 或用回调单独配置services.AddPingCodeProjectManagement(options =>{ options.AccessToken = "xxxxxxxxxxxxxxxxxxxxxxxx"; options.BaseUrl = "https://open.pingcode.com/api";});使用示例
public class SprintService{ private readonly IProjectManagementService _pm;
public SprintService(IProjectManagementService pm) => _pm = pm;
public Task<List<PmTask>> ListSprintTasksAsync(string projectId) => _pm.ListTasksAsync(new ListTasksRequest { ProjectId = projectId });
public Task<PmResult> CompleteAsync(string taskId) => _pm.CompleteTaskAsync(taskId);}依赖
| 包 | 说明 |
|---|---|
Bitzsoft.Integrations.ProjectManagement | 项目管理服务抽象层 |
Bitzsoft.Integrations.Core | 公共基座 |
已知限制
- 支持迭代/故事/任务/缺陷四类工作项,均映射到统一的任务(Task)模型。