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" />
                    
Directory.Packages.props
<PackageReference Include="Bitzsoft.Integrations.ProjectManagement.All" />
                    
Project file
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
                    
#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
                    
Install as a Cake Addin
#tool nuget:?package=Bitzsoft.Integrations.ProjectManagement.All&version=1.0.4
                    
Install as a Cake Tool

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 公共基座与供应商解析器

相关包

供应商 / 组件 包名 说明
统一抽象 Bitzsoft.Integrations.ProjectManagement 统一接口定义、基础模型与结果包装
Asana Bitzsoft.Integrations.ProjectManagement.Asana Asana 任务与项目协作连接器
Azure DevOps Bitzsoft.Integrations.ProjectManagement.AzureDevOps 微软 Azure DevOps Boards 敏捷工单与 WIQL 检索
GitHub Bitzsoft.Integrations.ProjectManagement.GitHub GitHub Issues / PR / 里程碑与协同
GitLab Bitzsoft.Integrations.ProjectManagement.GitLab GitLab Issues / Notes / MR 敏捷协同
Gitee Bitzsoft.Integrations.ProjectManagement.Gitee 码云 Gitee Issues / 状态流转与工单协同
Jira Cloud Bitzsoft.Integrations.ProjectManagement.JiraCloud Atlassian Jira Cloud 任务生命周期与工作流流转
Jira Data Center Bitzsoft.Integrations.ProjectManagement.JiraDataCenter Jira Server / Data Center 私有部署与 JQL/Transitions
Monday Bitzsoft.Integrations.ProjectManagement.Monday monday.com 工作流与任务管理
ONES Bitzsoft.Integrations.ProjectManagement.Ones ONES 企业级敏捷研发管理
PingCode Bitzsoft.Integrations.ProjectManagement.PingCode PingCode 研发项目与工单协作
TAPD Bitzsoft.Integrations.ProjectManagement.Tapd 腾讯敏捷协作平台(需求/缺陷/任务三态工作流)
Teambition Bitzsoft.Integrations.ProjectManagement.Teambition 阿里巴巴 Teambition 协同连接器
Trello Bitzsoft.Integrations.ProjectManagement.Trello Trello 看板与卡片协同
阿里云效 Bitzsoft.Integrations.ProjectManagement.Yunxiao 阿里云效 Projex 空间协作与工作项/合并请求
聚合包 Bitzsoft.Integrations.ProjectManagement.All 一键聚合注册全部 14 家项目管理供应商
基础工具库 Bitzsoft.Integrations.Core 核心基座与供应商解析器 (IIntegrationProviderResolver<T>)
Product 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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.4 124 9/23/2026
1.0.3 104 9/22/2026
1.0.2 123 8/29/2026
1.0.1 147 8/3/2026
1.0.0 135 8/2/2026