ServiceNow 是适配器——它包装单体连接器 Bitzsoft.Integrations.ServiceNow 暴露的只读 Incident client,把 Incident 查询/列表能力适配到统一的 ITicketService 抽象。
包信息
| 项 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.Ticketing.ServiceNow |
| 实现接口 | ITicketService |
| Provider ID | servicenow |
| 鉴权方式 | 由单体连接器 Bitzsoft.Integrations.ServiceNow 负责(OAuth 2.0) |
| 区域 | Global |
配置字段
本适配器没有独立的 Options 类——鉴权、endpoint、凭据均由单体连接器管理。注册时通过 IServiceNowTicketContextFactory 或固定的 ServiceNowRequestContext 提供请求上下文。
DI 注册
// 1. 先注册 ServiceNow 单体连接器(提供 IServiceNowClient)services.AddBitzsoftServiceNow(/* ... */);
// 2a. 注册工单适配器,用自定义上下文工厂services.AddServiceNowTicket<MyServiceNowContextFactory>();
// 2b. 或用固定的请求上下文services.AddServiceNowTicket(new ServiceNowRequestContext{ // 填写目标 instance / 表等});使用示例
// 读取能力可用var ticket = await _ticket.GetTicketAsync("INC0010001");var tickets = await _ticket.ListTicketsAsync(new ListTicketsRequest { /* ... */ });
// 以下方法会抛出 NotSupportedException(只读边界):// await _ticket.CreateTicketAsync(...)// await _ticket.UpdateTicketAsync(...)// await _ticket.AssignTicketAsync(...)// await _ticket.ChangeStatusAsync(...)// await _ticket.AddCommentAsync(...)依赖
| 包 | 说明 |
|---|---|
Bitzsoft.Integrations.Ticketing | 工单系统服务抽象层 |
Bitzsoft.Integrations.ServiceNow | ServiceNow 单体连接器(提供 IServiceNowClient) |
已知限制
- 只读:仅支持工单查询/列表(
GetTicketAsync、ListTicketsAsync)。创建/更新/分配/状态变更/评论抛出NotSupportedException。 - 鉴权与 token 刷新均由单体连接器管理,本适配器不参与。