make jira authentication Python3 compatible (#33862)

* make jira authentication Python3 compatible

(cherry picked from commit a51a699314)
This commit is contained in:
Tim Werner 2018-03-22 22:38:01 +01:00 committed by Toshio Kuratomi
parent 95f043c199
commit 07ab4a9d20

View file

@ -227,6 +227,7 @@ EXAMPLES = """
import base64 import base64
import json import json
import sys import sys
from ansible.module_utils._text import to_text, to_bytes
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.urls import fetch_url from ansible.module_utils.urls import fetch_url
@ -243,7 +244,8 @@ def request(url, user, passwd, timeout, data=None, method=None):
# resulting in unexpected results. To work around this we manually # resulting in unexpected results. To work around this we manually
# inject the basic-auth header up-front to ensure that JIRA treats # inject the basic-auth header up-front to ensure that JIRA treats
# the requests as authorized for this user. # the requests as authorized for this user.
auth = base64.encodestring('%s:%s' % (user, passwd)).replace('\n', '') auth = to_text(base64.b64encode(to_bytes('{0}:{1}'.format(user, passwd), errors='surrogate_or_strict')))
response, info = fetch_url(module, url, data=data, method=method, timeout=timeout, response, info = fetch_url(module, url, data=data, method=method, timeout=timeout,
headers={'Content-Type': 'application/json', headers={'Content-Type': 'application/json',
'Authorization': "Basic %s" % auth}) 'Authorization': "Basic %s" % auth})