Project

General

Profile

Actions

Feature #32090

closed

REST API: users: add support for status=*

Added by Martin von Wittich almost 5 years ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
REST API
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Duplicate

Description

Currently, the /users.:format REST API will default to status=1 (active), that is, when you attempt to search for a certain user (redmine-admin.auth contains an API token of an administrator in the format -u TOKEN:x):

curl -H 'Content-Type: application/json' \
  -G -K redmine-admin.auth \
  'https://redmine.example.com/users.json?name=firstname.lastname'

it will only return the requested account when the account is active. This means that I have to make two request for status=1 and status=3 to find a user when I don't know if the account is locked or not :(

I would have suspected that status=* would return all kinds of users, similarly to how it works for Rest Issues with status_id=*, but this is apparently not the case.


Related issues

Is duplicate of Redmine - Defect #40099: User api filtering by status=* broke on upgrade from 5.0 to 5.1ClosedMarius BĂLTEANU

Actions
Actions #1

Updated by Go MAEDA almost 5 years ago

You can get users with any status by adding 'status=' parameter.

curl --user admin:password 'http://redmine.example.com/users.json?status='
Actions #2

Updated by Martin von Wittich almost 5 years ago

  • Status changed from New to Resolved

Go MAEDA wrote:

You can get users with any status by adding 'status=' parameter.

That does exactly what I wanted, thanks! I've updated the wiki accordingly.

Actions #3

Updated by Martin von Wittich almost 5 years ago

Hm, there is one other issue I've stumbled over - users.json?name=foobar&status= won't return the status of the matched users. I either have to query the statuses separately (users.json?name=foobar&status=1 and so on) so I know that all matched users have the status I just queried, or I have to query each returned user separately with users/<id>.json to get the user's status. Is that intentional, or could a status field be added to users.:format?

Actions #4

Updated by Yar n over 3 years ago

This is so extremly not obvious.
Is it possible to update documentation to point to that feature?

Actions #5

Updated by Marius BĂLTEANU 5 months ago

  • Is duplicate of Defect #40099: User api filtering by status=* broke on upgrade from 5.0 to 5.1 added
Actions #6

Updated by Marius BĂLTEANU 5 months ago

  • Status changed from Resolved to Closed
  • Resolution set to Duplicate
The behaviour changed as follow:
  • Redmine <= 5.0.*: you can use status= to get all users from API
  • Redmine 5.1.0 and 5.1.1: you can only use users.json?f[]=status_id&op[status_id]==&v[status_id][]=1&v[status_id][]=2&v[status_id][]=3 to get all users because of #40099.
  • Redmine >= 5.1.2: you can use status= which is now deprecated in favour of status=* or the long syntax
  • Redmine 6.0: you can only use status=* or the long syntax
Actions

Also available in: Atom PDF