Repository: ansible/ansible

Issue:
github_release module requires github3 library
Module github_release requires Python library called `github3`. 

As per suggestion, 

```
# ansible-playbook github.yml

PLAY [Github] ******************************************************************

TASK [setup] *******************************************************************
ok: [localhost]

TASK [Get latest release of test/test] *****************************************
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Missing requried github3 module (check docs or install with: pip install github3)"}
	to retry, use: --limit @/sample/github.retry

PLAY RECAP *********************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1

```

I tried installing 

```
# pip install github3
Collecting github3
  Could not find a version that satisfies the requirement github3 (from versions: )
No matching distribution found for github3
```

##### ISSUE TYPE
 - Bug Report

##### COMPONENT NAME
lib/ansible/modules/source_control/github_release.py

##### ANSIBLE VERSION
```
2.4 devel
```

##### CONFIGURATION
No specific changes in ansible.cfg

##### OS / ENVIRONMENT
Fedora release 25

##### SUMMARY
Github3 is not available for pip install.

I found following libraries,

1. [Python-github3](https://github.com/kennethreitz-archive/python-github3)
2. [Github3.py](https://github.com/sigmavirus24/github3.py)

Which is the library to go forward to use github_release module ? 

##### STEPS TO REPRODUCE
Run following playbook

```yaml
---
- name: Github
  hosts: myself
  tasks:
    - name: Get latest release of packt
      github_release:
        token: abaccccccc
        user: akasurde
        repo: packt
        action: latest_release
```

##### EXPECTED RESULTS
Get latest release of repo mentioned in ansible playbook

##### ACTUAL RESULTS
```
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "Missing requried github3 module (check docs or install with: pip install github3)"}
	to retry, use: --limit @/sample/github.retry
```


Discussion:
cc @adrianmoisey
[click here for bot help](https://github.com/ansible/ansibullbot/blob/master/ISSUE_HELP.md)
<!--- boilerplate: notify --->
Reproduced and I can pip install github3.py but got the other error:
```
The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_JiTH3W/ansible_module_github_release.py", line 126, in <module>
    main()
  File "/tmp/ansible_JiTH3W/ansible_module_github_release.py", line 106, in main
    except github3.AuthenticationFailed:
AttributeError: 'module' object has no attribute 'AuthenticationFailed'
```

Resolving patch:
diff --git a/lib/ansible/modules/source_control/github_release.py b/lib/ansible/modules/source_control/github_release.py
--- a/lib/ansible/modules/source_control/github_release.py
+++ b/lib/ansible/modules/source_control/github_release.py
@@ -91,7 +91,8 @@ def main():
     )
 
     if not HAS_GITHUB_API:
-        module.fail_json(msg='Missing requried github3 module (check docs or install with: pip install github3)')
+        module.fail_json(msg='Missing required github3 module (check docs or '
+                             'install with: pip install github3.py==1.0.0a4)')
 
     repo = module.params['repo']
     user = module.params['user']


Test patch: