问题标签 [rt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
212 浏览

c# - 如何使用 System.net.http.httpclient 创建新的 RT(request tracker ticket)

需要开发 C# 应用程序来创建新的 RT 票证,但https://rt-wiki.bestpractical.com/wiki/REST#C.23上的 c# 示例代码不起作用。

我从不同的地方找到了信息,但没有一个真正有关于如何使用 C# HttpClient 创建新的 rt 票证的示例。

这是我的尝试:

我得到以下回复:

响应状态码:OK

RT/4.4.2 200 好

# 必需:id,队列

任何帮助表示赞赏。谢谢!

0 投票
1 回答
371 浏览

rt - 通过 REST API 2.0 更新 RT Ticket 的 Owner 字段

此命令适用于更新 JSON 顶级票证的值,但诸如“所有者”之类的值会失败。该文档没有说明更新这些特定字段的任何方法。通过 Request Tracker REST API 2.0 (rt-extension-rest2) 更新工单的 Owner 字段的推荐方法是什么?

0 投票
1 回答
63 浏览

rt - I want to check the previous status within an RT scrip?

my $TransactionPreviousStatus = $self->TicketObj->Status->OldValue:

I am thinking this should give the old status but I end up getting the current status

For Ex:

Old status: open

Current Status: reply-pls

So when somebody will reply on the ticket, a custom script will execute which should change the status to old value (i.e., open) but again it goes back to reply-pls.

0 投票
1 回答
205 浏览

mysql - RT 4.0.3 到 4.4.3 由于 ACL 检查导致性能问题

我正在尝试将旧的 request-tracker 4.0.3 实例更新为 4.4.3。升级甚至适用于 82'319 用户(包括特权 LDAP 用户;ExternalAuth)。

到目前为止一切都很好,但我意识到使用特权用户显示队列的性能非常慢。显示的队列越长,执行时间就越长。我说的是分钟……通过使用 root 用户或具有管理权限的特权用户“做任何事或什么都不做”(从德语翻译),我立即得到了队列。

此外,我发现 mysql 查询会导致执行时间过长。由于根执行不需要 ACL 检查,因此运行速度更快。但我想花这么多时间是不正常的。花了好几个小时才弄明白。

基本上查询(MYSQL EXPLAIN SELECT ...)的区别是:

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | SIMPLE| Groups_2| ref| groups1,groups2,groups3| groups1 | 67 | const | 693212 | Using where; Distinct | SIMPLE | CachedGroupMembers_3 | ref | DisGrouMem,CachedGroupMembers3,cachedgroupmembers1 | DisGrouMem | 12 | rt3.Groups_2.id,const,const | 1 | Using where; Using index; Distinct

我猜Groups表中的 693212 行差不多。具有相同未更新实例的旧(仍在运行)RT 4.0.3 实例运行起来就像一个魅力。

我做错了吗?

顺便说一句,我在数据库升级期间收到了这个警告:

处理 4.3.0 现在插入数据。[6564] [2018 年 8 月 29 日星期三 22:44:51] [警告]:您有 11141 个用户,其“ExternalAuthId”列的值非空。Core RT 不使用此列,因此扩展或本地修改可能会使用它。请将这些用户值迁移到自定义字段或属性,因为此升级将删除这些列。在 ./etc/upgrade/4.3.0/content 第 67 行。 (./etc/upgrade/4.3.0/content:67) [6564] [Wed Aug 29 22:44:51 2018] [警告]:你有256 个用户,“AuthSystem”列的值为非空。Core RT 不使用此列,因此扩展或本地修改可能会使用它。请将这些用户值迁移到自定义字段或属性,因为此升级将删除这些列。在 ./etc/upgrade/4.3.0/content 第 67 行。(。

为了解决这个问题,我没有做任何改变,但由于 LDAP 用户仍然能够登录,我想这不是问题所在。

有人有什么想法吗?

用户: SELECT DISTINCT main.* FROM Tickets main LEFT JOIN Groups Groups_2 ON ( Groups_2.Domain = 'RT::Ticket-Role' ) AND ( Groups_2.Instance = main.id ) JOIN Queues Queues_1 ON ( Queues_1.id = main.Queue ) LEFT JOIN CachedGroupMembers CachedGroupMembers_3 ON ( CachedGroupMembers_3.Disabled = '0' ) AND ( CachedGroupMembers_3.MemberId = '1296794' ) AND ( CachedGroupMembers_3.GroupId = Groups_2.id ) WHERE ( ( main.Queue IN ('44', '59', '1', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '19', '20', '21', '22', '23', '24', '25', '26', '27', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '57', '58', '59', '60', '62', '63', '64', '65', '66', '68', '69', '72', '78', '79', '73', '80', '82', '83', '85', '88', '90', '92', '93', '94', '97', '99', '28', '102', '103', '106', '108', '109') OR ( CachedGroupMembers_3.MemberId IS NOT NULL AND Groups_2.Name = 'Requestor' ) OR ( CachedGroupMembers_3.MemberId IS NOT NULL AND Groups_2.Name = 'Cc' AND main.Queue IN ('77') ) OR ( CachedGroupMembers_3.MemberId IS NOT NULL AND Groups_2.Name = 'AdminCc' ) OR ( main.Owner = '1296794' ) ) ) AND (main.IsMerged IS NULL) AND (main.Status != 'deleted') AND (main.Type = 'ticket') AND (main.Queue = '72' AND ( ( Queues_1.Lifecycle = 'assets' AND ( main.Status = 'new' OR main.Status = 'allocated' OR main.Status = 'in-use' ) ) OR ( Queues_1.Lifecycle = 'default' AND ( main.Status = 'new' OR main.Status = 'open' OR main.Status = 'stalled' ) ) OR ( Queues_1.Lifecycle = 'approvals' AND ( main.Status = 'new' OR main.Status = 'open' OR main.Status = 'stalled' ) ) ) ) ORDER BY main.id ASC LIMIT 50;

11 行(37.49 秒)

根:

SELECT main.* FROM Tickets main JOIN Queues Queues_1 ON ( Queues_1.id = main.Queue ) WHERE (main.IsMerged IS NULL) AND (main.Status != 'deleted') AND (main.Type = 'ticket') AND (main.Queue = '72' AND ( ( Queues_1.Lifecycle = 'default' AND ( main.Status = 'new' OR main.Status = 'open' OR main.Status = 'stalled' ) ) OR ( Queues_1.Lifecycle = 'assets' AND ( main.Status = 'new' OR main.Status = 'allocated' OR main.Status = 'in-use' ) ) OR ( Queues_1.Lifecycle = 'approvals' AND ( main.Status = 'new' OR main.Status = 'open' OR main.Status = 'stalled' ) ) ) ) ORDER BY main.id ASC LIMIT 50;

11 行(0.00 秒)

0 投票
3 回答
286 浏览

python - 我需要帮助将此 REST API Curl 命令转换为 Python 请求

我是新来的,老实说,我对所有编码都是新手。

我正在尝试创建一个 Pyton 脚本来使用 REST API 从 Request Tracker 资产数据库中搜索项目。

到目前为止,我得到了这个 Curl 命令:

它返回一个不错的 JSON,其中包含来自 RT_URL 的结果,其中所有者使用令牌 MY_TOKEN 匹配 NAME。

但我不知道如何用 Python 编写代码。我有一个使用请求库来获取的脚本,它使用了一个简单的 URL 请求,但我不知道如何实现搜索字段。

我已经到处找了一个样本,但我无法让它工作。我还没有找到有关如何使用令牌在请求中进行身份验证的任何信息。

无论如何,提前感谢您的任何回复:)

0 投票
1 回答
644 浏览

rt - 通过 REST 在 Request Tracker 中创建新工单时获取可用的自定义字段

Request Tracker API当我创建新票证时,我正在尝试为特定队列获取可用的自定义字段。例如,当我设置Queue = 'X'then 我想接收一个Custom Fields带有值A,的键B,该键C可用于该队列。

当我将浏览器指向时,domain/REST/1.0/ticket/new我收到以下响应:

如您所见,我在响应中没有任何自定义字段,因为队列指向General而不是X.

我可以以某种方式修改 URL 以更改Queue: GeneralQueue: X接收custom fields此队列的所有可用信息吗?

0 投票
1 回答
53 浏览

perl - 如何修复 Perl Business::Hours Bad order 2 严重错误?

我们有请求跟踪器4.4.3。我们有一个使用Business::Hours分布的自动化脚本。这是必不可少的部分:

有时我们会收到 stderr 错误:

这似乎没有意义,1552462809-1552462694 几乎等于 115。

如何分析/修复此错误?

0 投票
1 回答
270 浏览

rt - Request Tracker 中的“Updated”和“LastUpdated”有什么区别?

Request Tracker REST API中,我可以访问该LastUpdated字段。但是,如果我使用 Query Builder 工具,我可以使用UpdatedLastUpdated。这两个领域有什么区别?

0 投票
1 回答
355 浏览

java - 无法将附件添加到新的 RT 票证

我目前在一个项目中使用 RT 4.4.3,我正在尝试使用 Java 代码创建一个带有附件的新票。

我尝试按照托管在 GitHub 上的BestPractical 资源提供的说明进行操作,并在此拉取列表中指定。

尝试执行该操作的代码片段如下:

所以我发送到 RT 的 JSON 如下:

问题是票证已正确创建,但未添加附件。

我也尝试使用 SOAPUI 执行相同的操作,但即使响应没有任何错误,也不会将附件添加到票证中。

有人可以帮我做错什么吗?

编辑 2019-06-10:因为据报道至少到 2018 年 12 月底:

创建附件 目前 RT 不允许通过其 API 创建附件。

https://rt-wiki.bestpractical.com/wiki/REST#Ticket_Attachment

但是作为临时解决方法,应该可以将附件发布到票的评论中,任何人都可以帮助找到解决此问题的方法吗?

0 投票
1 回答
101 浏览

rt - 删除附件以减少磁盘空间

自两年前以来,我想删除大量所有附件,因为需要更多磁盘空间。是否可以更新数据库上的任何字段直接?减少空间是个好主意吗?是否有任何工具或可以在 mysql 数据库上执行任何查询来做到这一点?

谢谢!