Bitzsoft.Integrations.ProjectManagement.All
1.0.4
dotnet add package Bitzsoft.Integrations.ProjectManagement.All --version 1.0.4
NuGet\Install-Package Bitzsoft.Integrations.ProjectManagement.All -Version 1.0.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Bitzsoft.Integrations.ProjectManagement.All" Version="1.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bitzsoft.Integrations.ProjectManagement.All" Version="1.0.4" />
<PackageReference Include="Bitzsoft.Integrations.ProjectManagement.All" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Bitzsoft.Integrations.ProjectManagement.All --version 1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Bitzsoft.Integrations.ProjectManagement.All, 1.0.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Bitzsoft.Integrations.ProjectManagement.All@1.0.4
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Bitzsoft.Integrations.ProjectManagement.All&version=1.0.4
#tool nuget:?package=Bitzsoft.Integrations.ProjectManagement.All&version=1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Bitzsoft.Integrations.ProjectManagement.All
项目管理服务聚合包,按配置节动态扫描并自动注册已实现的全部 14 个独立项目管理供应商连接器(覆盖 ProjectManagement 领域 16 个官方包标准生态:1 个统一抽象包 + 14 个独立厂商连接器包 + 1 个一键聚合包)。
功能特性
- 统一契约门面:统一
IProjectManagementService抽象规范,屏蔽全部底层供应商 API 差异。 - 配置驱动按需激活:仅当
appsettings.json中配置了对应厂商的配置节时,才会将其注册到依赖注入容器,杜绝多余资源开销。 - 多供应商解析支持:通过核心基座提供的
IIntegrationProviderResolver<IProjectManagementService>按照 Provider 标识(如asana、github、jira-cloud等)动态定位目标连接器。 - 支持的 14 家供应商全景(16 包完整生态):
- 全球协同与敏捷平台:Asana、Monday、Trello、ONES、PingCode
- 研发协同与代码托管工单:GitHub、GitLab、码云 Gitee、阿里云效(Aliyun Yunxiao Projex)
- Atlassian 与微软生态:Atlassian Jira Cloud、Jira Server / Data Center、微软 Azure DevOps Boards
- 企业协同与国内平台:腾讯 TAPD、阿里巴巴 Teambition
安装
dotnet add package Bitzsoft.Integrations.ProjectManagement.All
<PackageReference Include="Bitzsoft.Integrations.ProjectManagement.All" Version="1.0.0" />
配置
在 appsettings.json 中,可按需配置一个或多个项目管理供应商:
{
"ProjectManagement": {
"Asana": {
"PersonalAccessToken": "your-asana-pat-token",
"BaseUrl": "https://app.asana.com/api/1.0"
},
"Teambition": {
"AppKey": "your-teambition-app-key",
"AppSecret": "your-teambition-app-secret",
"BaseUrl": "https://open.teambition.com/api"
},
"Monday": {
"ApiKey": "your-monday-api-key",
"BaseUrl": "https://api.monday.com/v2"
},
"Trello": {
"ApiKey": "your-trello-api-key",
"ApiToken": "your-trello-api-token"
},
"Ones": {
"Email": "admin@your-company.com",
"Password": "your-ones-password",
"BaseUrl": "https://your-tenant.ones.ai"
},
"PingCode": {
"AccessToken": "your-pingcode-access-token",
"BaseUrl": "https://open.pingcode.com/api"
},
"Yunxiao": {
"BaseUrl": "https://openapi-rdc.aliyuncs.com",
"Token": "your-yunxiao-pat-token",
"OrganizationId": "your-aliyun-org-id",
"SpaceId": "your-default-space-id"
},
"GitHub": {
"BaseUrl": "https://api.github.com",
"AccessToken": "ghp_your-github-pat-token",
"DefaultOwner": "your-org",
"DefaultRepo": "your-repo"
},
"GitLab": {
"BaseUrl": "https://gitlab.com/api/v4",
"AccessToken": "glpat-your-gitlab-token",
"UseBearerAuth": false,
"DefaultProjectId": "your-group/your-project"
},
"Gitee": {
"BaseUrl": "https://gitee.com/api/v5",
"AccessToken": "your-gitee-pat-token",
"DefaultOwner": "your-gitee-owner",
"DefaultRepo": "your-gitee-repo"
},
"JiraCloud": {
"TenantId": "tenant-default",
"AuthorizationSubject": "system-operator",
"ProfileId": "default"
},
"JiraDataCenter": {
"BaseUrl": "https://jira.your-company.com",
"PersonalAccessToken": "your-jira-bearer-pat-token",
"DefaultProjectKey": "PROJ",
"DefaultIssueType": "Task"
},
"AzureDevOps": {
"BaseUrl": "https://dev.azure.com/your-org",
"Organization": "your-org",
"PersonalAccessToken": "your-azure-devops-pat-token",
"DefaultProject": "your-project"
},
"Tapd": {
"BaseUrl": "https://api.tapd.cn",
"ApiUser": "your-tapd-api-user",
"ApiPassword": "your-tapd-api-password",
"DefaultWorkspaceId": "1000001"
}
}
}
注意:每个 Provider 使用独立配置节(按厂商命名),仅在配置节存在时注册对应 Provider。无需全部填写,仅配置业务实际使用的供应商即可。
注册服务
using Bitzsoft.Integrations.ProjectManagement.All;
using Microsoft.Extensions.DependencyInjection;
// 一键扫描并注册已配置的全部项目管理 Provider
services.AddBitzsoftProjectManagementAll(configuration);
// 自定义主配置节名称(默认为 "ProjectManagement"):
// services.AddBitzsoftProjectManagementAll(configuration, "CustomProjectManagement");
使用示例
在多供应商应用场景中,通过 IIntegrationProviderResolver<IProjectManagementService> 动态解析目标连接器:
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Bitzsoft.Integrations.Core;
using Bitzsoft.Integrations.ProjectManagement;
using Bitzsoft.Integrations.ProjectManagement.Dtos;
using TaskStatus = Bitzsoft.Integrations.ProjectManagement.Dtos.TaskStatus;
namespace YourNamespace;
public class MultiPlatformTaskAppService
{
private readonly IIntegrationProviderResolver<IProjectManagementService> _resolver;
public MultiPlatformTaskAppService(IIntegrationProviderResolver<IProjectManagementService> resolver)
{
_resolver = resolver;
}
public async Task<PmTask> CreateTaskOnPlatformAsync(
string providerId,
string projectId,
string taskName,
string description,
string? assigneeId = null,
DateTimeOffset? dueDate = null,
CancellationToken cancellationToken = default)
{
// 按 Provider 标识解析具体连接器(如 "github", "jira-datacenter", "tapd", "azuredevops", "yunxiao")
var pm = _resolver.GetRequired(providerId);
var request = new CreateTaskRequest
{
ProjectId = projectId,
Name = taskName,
Description = description,
AssigneeId = assigneeId,
DueDate = dueDate,
Priority = TaskPriority.Medium
};
return await pm.CreateTaskAsync(request, cancellationToken);
}
public async Task<List<PmTask>> ListTasksOnPlatformAsync(
string providerId,
string projectId,
TaskStatus? status = null,
CancellationToken cancellationToken = default)
{
var pm = _resolver.GetRequired(providerId);
var request = new ListTasksRequest
{
ProjectId = projectId,
Status = status,
PageIndex = 1,
PageSize = 50
};
return await pm.ListTasksAsync(request, cancellationToken);
}
public async Task<PmResult> CompleteTaskOnPlatformAsync(
string providerId,
string taskId,
CancellationToken cancellationToken = default)
{
var pm = _resolver.GetRequired(providerId);
return await pm.CompleteTaskAsync(taskId, cancellationToken);
}
}
依赖
| 包 | 说明 |
|---|---|
| Bitzsoft.Integrations.ProjectManagement | 项目管理服务统一抽象层 |
| Bitzsoft.Integrations.ProjectManagement.Asana | Asana 实现 |
| Bitzsoft.Integrations.ProjectManagement.Teambition | Teambition 实现 |
| Bitzsoft.Integrations.ProjectManagement.Monday | monday.com 实现 |
| Bitzsoft.Integrations.ProjectManagement.Trello | Trello 实现 |
| Bitzsoft.Integrations.ProjectManagement.Ones | ONES 实现 |
| Bitzsoft.Integrations.ProjectManagement.PingCode | PingCode 实现 |
| Bitzsoft.Integrations.ProjectManagement.Yunxiao | 阿里云效实现 |
| Bitzsoft.Integrations.ProjectManagement.GitHub | GitHub Issues / Projects 实现 |
| Bitzsoft.Integrations.ProjectManagement.GitLab | GitLab Issues 实现 |
| Bitzsoft.Integrations.ProjectManagement.Gitee | 码云 Gitee 缺陷与任务实现 |
| Bitzsoft.Integrations.ProjectManagement.JiraCloud | Jira Cloud 实现 |
| Bitzsoft.Integrations.ProjectManagement.JiraDataCenter | Jira Data Center / Server 实现 |
| Bitzsoft.Integrations.ProjectManagement.AzureDevOps | Azure DevOps Boards 实现 |
| Bitzsoft.Integrations.ProjectManagement.Tapd | 腾讯 TAPD 敏捷协作实现 |
| Bitzsoft.Integrations.Core | 公共基座与供应商解析器 |
相关包
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Bitzsoft.Integrations.Compatibility (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Asana (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.AzureDevOps (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Gitee (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.GitHub (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.GitLab (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.JiraCloud (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.JiraDataCenter (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Monday (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Ones (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.PingCode (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Tapd (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Teambition (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Trello (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Yunxiao (>= 1.0.4)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
-
net5.0
- Bitzsoft.Integrations.Compatibility (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Asana (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.AzureDevOps (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Gitee (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.GitHub (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.GitLab (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.JiraCloud (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.JiraDataCenter (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Monday (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Ones (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.PingCode (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Tapd (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Teambition (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Trello (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Yunxiao (>= 1.0.4)
- Microsoft.Extensions.Configuration.Abstractions (>= 5.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 5.0.0)
-
net8.0
- Bitzsoft.Integrations.Compatibility (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Asana (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.AzureDevOps (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Gitee (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.GitHub (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.GitLab (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.JiraCloud (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.JiraDataCenter (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Monday (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Ones (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.PingCode (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Tapd (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Teambition (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Trello (>= 1.0.4)
- Bitzsoft.Integrations.ProjectManagement.Yunxiao (>= 1.0.4)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.