Yes, so you should combine them like:
- debug:
msg: "{{ (result.stdout|from_json).access_token }}"
On Sat, 14 Oct 2023 at 16:10, Veera <[email protected]> wrote:
>
> when I try with
> - debug:
> msg: "{{ result }}"
>
> the output is
>
> TASK [debug]
> **************************************************************************************************************************
> ok: [localhost] => {
> "msg": {
> "changed": true,
> "cmd": "curl -X POST 'https://xxxxxx.com/auth/login' -H
> 'Content-Type: application/json' -d @.mycred.json",
> -- trimmed lines ----
> "rc": 0,
> -- trimmed lines ----
> "stdout":
> "{\"access_token\":\"XXXXX\",\"token_type\":\"Bearer\",\"expires_in\":86400}",
> "stdout_lines": [
>
> "{\"access_token\":\"XXXXX\",\"token_type\":\"Bearer\",\"expires_in\":86400}"
> ]
> }
> }
>
>
> The output for the
> - debug:
> msg: "{{ result.stdout |from_json }}"
>
> is
>
>
> TASK [debug]
> **************************************************************************************************************************
> ok: [localhost] => {
> "msg": {
> "access_token": "XXXXXX",
> "expires_in": 86400,
> "token_type": "Bearer"
> }
> }
>
>
>
> when I use the
> - debug:
> msg: "{{ result.stdout.access_token }}"
>
> the error is
>
> TASK [debug]
> **************************************************************************************************************************
> fatal: [localhost]: FAILED! => {"msg": "The task includes an option with
> an undefined variable. The error was:
> 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute
> 'access_token'\n\nThe error appears to be in '/home/user/check.yml': line
> 32, column 7, but may\nbe elsewhere in the file depending on the exact
> syntax problem.\n\nThe offending line appears to be:\n\n\n - debug:\n
> ^ here\n"}
>
> On Saturday, October 14, 2023 at 6:31:49 PM UTC+5:30 Will McDonald wrote:
>
>> Is there any reason you can't just use result.stdout.access_token?
>>
>> $ cat debug-token.yml
>> - name: debug vars
>> hosts: localhost
>> gather_facts: no
>>
>> vars:
>> result:
>> stdout:
>> access_token: xxxxxxxxxx
>> expires_in: 4320
>> token_type: yyyyyyyyyy
>>
>> tasks:
>> - name: debug the result
>> ansible.builtin.debug:
>> var: result
>>
>> - name: extract the token
>> ansible.builtin.debug:
>> msg: "{{ result.stdout.access_token }}"
>>
>>
>> $ ansible-playbook debug-token.yml
>>
>> PLAY [debug vars]
>> **********************************************************************************************************
>>
>> TASK [debug the result]
>> ****************************************************************************************************
>> ok: [localhost] => {
>> "result": {
>> "stdout": {
>> "access_token": "xxxxxxxxxx",
>> "expires_in": 4320,
>> "token_type": "yyyyyyyyyy"
>> }
>> }
>> }
>>
>> TASK [extract the token]
>> ***************************************************************************************************
>> ok: [localhost] => {
>> "msg": "xxxxxxxxxx"
>> }
>>
>>
>> On Sat, 14 Oct 2023 at 13:43, Veera <[email protected]> wrote:
>>
>>> I need only the output or the value of the below(trying to set_fact the
>>> access_token)
>>> access_token": "xxxxxxxxxx"
>>>
>>>
>>>
>>>
>>> On Saturday, October 14, 2023 at 6:01:54 PM UTC+5:30 Dick Visser wrote:
>>>
>>>> What is your desired output then??
>>>>
>>>> Sent from Gmail Mobile
>>>>
>>>>
>>>> On Sat, 14 Oct 2023 at 10:01, Veera <[email protected]> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I have the below output from my playbook using
>>>>> - debug:
>>>>> msg: "{{ result.stdout }}"
>>>>>
>>>>> TASK [debug]
>>>>> **************************************************************************************************************************
>>>>> ok: [localhost] => {
>>>>> "msg": {
>>>>> "access_token": "xxxxxxxxxx",
>>>>> "expires_in": 43200,
>>>>> "token_type": "xxxxxx"
>>>>> }
>>>>> }
>>>>>
>>>>>
>>>>> and when I tried to filter the access token alone , with map by
>>>>> "{{ result.stdout | map('extract', access_token) }}" ., it errors as
>>>>> below
>>>>>
>>>>> The task includes an option with an undefined variable. The error was:
>>>>> 'access_token' is undefined\n\n
>>>>>
>>>>> and when I tried to filter the access token alone , with map by
>>>>> msg: "{{ result.stdout | map(attribute='access_token') }}" ., it
>>>>> errors as below
>>>>>
>>>>> What I am missing here to get the desired output here?
>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Ansible Project" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/ansible-project/6a7a5ed1-6c6b-4660-8da9-1388898923fen%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/ansible-project/6a7a5ed1-6c6b-4660-8da9-1388898923fen%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Ansible Project" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/ansible-project/f1f16814-e47b-4251-8bea-9e9660ead1fcn%40googlegroups.com
>>> <https://groups.google.com/d/msgid/ansible-project/f1f16814-e47b-4251-8bea-9e9660ead1fcn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ansible-project/03558fe3-2444-4a96-9cb9-cc1a91943e7bn%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/03558fe3-2444-4a96-9cb9-cc1a91943e7bn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CAF8BbLYZbdaduUSPk-%3DAn-tLZNEM0WD%3Dvozwa9o8Jf6F7sbU3w%40mail.gmail.com.