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
HttpClientNamestring否TicketingZentao业务 HttpClient 命名
TokenHttpClientNamestring否TicketingZentaoToken令牌刷新专用 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%