monday.com 基于 monday.com GraphQL API,实现 IProjectManagementService 统一接口。
包信息
| 项 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.ProjectManagement.Monday |
| 实现接口 | IProjectManagementService |
| Provider ID | monday |
| 鉴权方式 | API Key Bearer(GraphQL) |
| API 协议 | GraphQL(POST /v2 with query body) |
| 默认 BaseUrl | https://api.monday.com/v2 |
| 区域 | Global |
凭据在 monday.com 开发者平台创建后获取。
配置字段
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
ApiKey | string | 是 | — | API Key,作为 Bearer token 直接放入 Authorization 头(不带 “Bearer” 前缀) |
BaseUrl | string | 否 | https://api.monday.com/v2 | Monday GraphQL API 端点 |
HttpClientName | string | 否 | ProjectManagementMonday | 业务 HttpClient 命名 |
配置 JSON 示例
{ "ProjectManagement": { "Monday": { "ApiKey": "eyJhbGciOiJIUzI1NiIsInR5...", "BaseUrl": "https://api.monday.com/v2" } }}DI 注册
// 从配置节注册(默认节名 ProjectManagement:Monday)services.AddMondayProjectManagement(configuration);
// 或用回调单独配置services.AddMondayProjectManagement(options =>{ options.ApiKey = "eyJhbGciOiJIUzI1NiIsInR5...";});使用示例
public class BoardService{ private readonly IProjectManagementService _pm;
public BoardService(IProjectManagementService pm) => _pm = pm;
public Task<List<PmProject>> ListBoardsAsync() => _pm.ListProjectsAsync();
public Task<PmTask> CreateItemAsync(string boardId, string itemName) => _pm.CreateTaskAsync(new CreateTaskRequest { ProjectId = boardId, Name = itemName });}依赖
| 包 | 说明 |
|---|---|
Bitzsoft.Integrations.ProjectManagement | 项目管理服务抽象层 |
Bitzsoft.Integrations.Core | 公共基座 |
已知限制
- 项目概念映射为 Monday Board,任务映射为 Item。
Authorization头直接是 token,无 “Bearer” 前缀——与其他 Bearer 鉴权供应商不同。