Skip to content
Bitzsoft.Integrationsbitzsoft.integrations

Reference

禅道 Zentao

Bitzsoft.Integrations.Ticketing.Zentao 包参考——Session Token 鉴权、ITicketService 配置与使用示例。

Last updated

禅道 Zentao 基于禅道 REST API v1,实现 ITicketService 统一接口。

包信息

NuGet 包Bitzsoft.Integrations.Ticketing.Zentao
实现接口ITicketService
Provider IDzentao
鉴权方式Session Token(用户名/密码或 Access Token 换取 token,以 Token {session} 头访问业务接口)
默认 BaseUrl无(需配置,形如 http://zentao.example.com/api.php/v1
区域CN

本包内置 token 换取与刷新流程。当配置了 AccessToken 时跳过换 Token 流程,直接以 Access Token 鉴权。

配置字段

字段类型必填默认值说明
UserNamestring禅道登录用户名
Passwordstring禅道登录密码(明文,用于换取 Session Token)
AccessTokenstring?Access Token(提供时跳过 /tokens 换取流程直接鉴权)
BaseUrlstring禅道 API 基地址,形如 http://zentao.example.com/api.php/v1
HttpClientNamestringTicketingZentao业务 HttpClient 命名
TokenHttpClientNamestringTicketingZentaoToken令牌刷新专用 HttpClient 命名

配置 JSON 示例

{
"Ticketing": {
"Zentao": {
"UserName": "admin",
"Password": "your-password",
"BaseUrl": "http://zentao.example.com/api.php/v1"
}
}
}

DI 注册

// 从配置节注册(默认节名 Ticketing:Zentao)
services.AddZentaoTicket(configuration);
// 或用回调单独配置
services.AddZentaoTicket(options =>
{
options.UserName = "admin";
options.Password = "your-password";
options.BaseUrl = "http://zentao.example.com/api.php/v1";
});

使用示例

public class BugService
{
private readonly ITicketService _ticket;
public BugService(ITicketService ticket) => _ticket = ticket;
public Task<TicketInfo> CreateBugAsync(string title, string description)
=> _ticket.CreateTicketAsync(new CreateTicketRequest
{
Subject = title,
Description = description
});
public Task<TicketingResult> AssignAsync(string bugId, string assigneeId)
=> _ticket.AssignTicketAsync(bugId, assigneeId);
}

依赖

说明
Bitzsoft.Integrations.Ticketing工单系统服务抽象层
Bitzsoft.Integrations.Core公共基座

已知限制

  • Session Token 有效期有限,本包通过独立的 token HttpClient 自动刷新;若已持有 Access Token 填入可跳过换取流程。

100%

滚轮或按钮缩放 · 放大后拖动画面 · 双击切换 100% / 200%