If I create a machine user with CLI and try to specify a token for that user:
drone user add testuser --machine --token ONE_TOKEN Successfully added user testuser Generated account token ANOTHER_TOKEN
What happens is that the user is created with another (randomly generated) token.
This is problematic, because if I want to create a user automatically (e.g. creating a user for Autoscaler with Ansible), it’s tricky to get the token out of the printed text (which is not a stable API), instead of specifying it.
Looking into the code it seems that the words
hash are a bit mixed up and that is causing the problem.
First a user object is created with a
This is marshalled as
Then it’s sent to the server:
But when the server unmarshals it:
It doesn’t find it:
And more importantly, it doesn’t even look at
token, but at
So it generates a random one:
And sends it back as
Finally, the client prints it: