I’m trying to create an external service that will be used to CRUD RT users. For this I am using REST API 2.0.
Everything works fine except for updating user passwords. I can create users with their respective passwords just fine.
Example code in JS Superagent:
await request({
post: `http://ip_address/REST/2.0/user`,
set: ["Authorization", `token ${process.env.API_KEY}`],
send: { Name: "test", EmailAddress: "test@test.test", Password: "password12345", Privileged: 1 }
});
The response is successful. I can even use the specified username and password to log into the RT dashboard.
However this does not work:
await request({
put: `http://ip_address/REST/2.0/user/test`,
set: ["Authorization", `token ${process.env.API_KEY}`],
send: { Password: "password123" }
});
It returns an HTTP 500 error with no error message.
The httpd error log shows this error:
[error]: RT::User::Password Unimplemented in RT::Record. (/opt/rt5/sbin/../lib/RT/Record.pm line 958) (/opt/rt5/sbin/../lib/RT/REST2/Middleware/Log.pm:62)
How do I update the password without errors? Are some patches needed in Record.pm?