Trello 基于 Trello REST API,实现 IProjectManagementService 统一接口。
包信息
| 项 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.ProjectManagement.Trello |
| 实现接口 | IProjectManagementService |
| Provider ID | trello |
| 鉴权方式 | API Key + Token,以 query 参数注入(?key={apiKey}&token={apiToken}) |
| 默认 BaseUrl | https://api.trello.com/1 |
| 区域 | Global |
凭据在 Trello 授权平台创建应用并授权后获取。
配置字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
ApiKey | string | 是 | — | API Key |
ApiToken | string | 是 | — | API Token(用户授权后获取) |
BaseUrl | string | 否 | https://api.trello.com/1 | Trello REST API 基地址 |
HttpClientName | string | 否 | ProjectManagementTrello | 业务 HttpClient 命名 |
配置 JSON 示例
{ "ProjectManagement": { "Trello": { "ApiKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "ApiToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "BaseUrl": "https://api.trello.com/1" } }}DI 注册
// 从配置节注册(默认节名 ProjectManagement:Trello)services.AddTrelloProjectManagement(configuration);
// 或用回调单独配置services.AddTrelloProjectManagement(options =>{ options.ApiKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; options.ApiToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";});使用示例
public class CardService{ private readonly IProjectManagementService _pm;
public CardService(IProjectManagementService pm) => _pm = pm;
public Task<PmTask> CreateCardAsync(string boardId, string name) => _pm.CreateTaskAsync(new CreateTaskRequest { ProjectId = boardId, Name = name });
public Task<PmTask> GetCardAsync(string cardId) => _pm.GetTaskAsync(cardId);}依赖
| 包 | 说明 |
|---|---|
Bitzsoft.Integrations.ProjectManagement | 项目管理服务抽象层 |
Bitzsoft.Integrations.Core | 公共基座 |
已知限制
- 项目概念映射为 Trello Board,任务映射为 Card。
- 鉴权走 query 参数而非请求头。