Commit Graph
92 Commits
Author SHA1 Message Date
Caleb Sweeney 54065792b8 fixes #1106 for GitHub Enterprise API (#1110) 2019-05-03 09:24:59 +08:00
Jake Wilkins 818bd78fe9 Use non-deprecated path for creating GitHub App access tokens (#1086)
/installations/<installation_id>/access_tokens was deprecated as of
https://developer.github.com/changes/2018-08-16-renaming-and-deprecation-of-github-app-installation-access-token-route/
2019-04-10 10:11:06 +08:00
Isac Souza 5ae7af55ea Adding communications Retry functionality into requests via urllib3 retry object. (#1002)
This is a continuation of the work started by @allevin on https://github.com/PyGithub/PyGithub/pull/860.

I have refactored the testing Framework to use the `httpretty` library in order to use the urllib3 retry feature and therefore be able to test it.

Please refer to https://github.com/PyGithub/PyGithub/pull/860 for additional context.

cc: @allevin @mfonville @jrouquie @sfdye

Closes #757 
Closes #860
2019-04-05 13:49:01 +08:00
Wan Liuyang 6efd631890 Remove status API, closes #1080 2019-04-04 13:54:09 +08:00
Hamel Husain 86a9d8e973 provide option to extend expiration of jwt token (#1068)
supply optional parameter for `create_jwt` method
2019-03-29 15:37:36 +08:00
秋葉 6a89eb645d resolves #1023 (#1042)
resolves #1023
2019-02-14 10:50:11 +08:00
秋葉 ff789dcc81 fix request got an unexpected keyword argument body (#1012)
Resolves #1010
2019-01-18 15:37:08 +08:00
Benoit Latinier cd6d56d60a Drop httplib for requests to finish work of #664 (#998)
#664 got rid of most of httplib and replaced it with requests.
This is the last place it was used. It makes a more coherent code base I think.

Tests are ok locally.
2018-12-20 10:51:57 +08:00
Steve Kowalik e4dac15e86 Add a Topic object to cover search_topics (#959)
The return value of MainClass.search_topics() was a paginated list of
Repository, which is incorrect. Add a Topic class to encapuslate what is
returned.

Fixes #929
2018-11-13 10:18:29 +08:00
Arda Kuyumcu 8ccf9a9485 Add support for JWT authentication (#948)
APIs such as https://developer.github.com/v3/apps/#find-organization-installation use a JWT for authentication. Adding support for JWT auth.
2018-10-31 08:11:50 +08:00
h.shi 1fa25670f7 Add highlight search to search_code function (#925)
*  add highlight search to search_code function

*  add highlighting search code tests
2018-10-10 16:38:47 +08:00
Bruce Richardson e18b107883 Gists with since (#914)
The Github gists api has a since parameter for the various gist searches.  This adds that parameter to Github.get_gists(), NamedUser.get_gists() and Authenticator.get_gists().  Tests and replay data added/updated as needed.

I added a Time module in the tests directory, containing just a UTCtzinfo class, which I felt I needed for one of the tests (and would probably be useful in other since/until tests).  Might not be the best name for the module but it seemed the least invasive thing to do.
2018-10-03 11:51:59 +08:00
Yossarian King faca4ce1c0 Add support for projects (#854)
Initial solution for [PyGithub support for projects](https://github.com/PyGithub/PyGithub/issues/606) (#606). Adds comprehensive project querying API.

Currently does not support for modifying projects, columns or cards. (I only need this interface for reporting purposes. Of course once I'm done others are more than welcome to add additional features!)

API that was integrated:
https://developer.github.com/v3/projects
https://developer.github.com/v3/projects/columns
https://developer.github.com/v3/projects/cards

Note that the Github project API is in preview mode - it requires a special header in order for requests to be processed, and the API is subject to change without notice.

## Summary
- new classes: Project, ProjectColumn, ProjectCard
- add Organization.get_projects method
- add Repository.get_projects method
- add MainClass.get_project method
- add test cases to exercise all new classes and methods and verify attributes are as expected; replay data is included, recorded (mostly) from my fork of PyGithub
- updated add_attribute script to:
  - use makeXXXAttribute API
  - be able to add to the end of the current set of properties
  - handle both Completable and NonCompletable class types correctly

## Checklist
Not to be merged until these are done:

- [x] remaining Project properties
- [x] remaining ProjectColumn properties
- [x] remaining ProjectCard properties
- [x] support for archived_state parameter when getting cards: all,archived, or not_archived
- [x] get issue from card, not just pull request ("get_content" method?)
- [x] centralize header management for "preview" access to projects API
- [x] add test for retrieving organization projects
- [x] add test for getting issue / pull request content from card
2018-09-11 13:05:16 +08:00
Shubham Singh 3ce0418382 Feature: Search By Topics (#893) 2018-09-06 11:44:53 +08:00
Wan Liuyang fd8a03648a Adding support for search/graphql rate limit, fixes #553 2018-09-05 12:33:20 +08:00
Steve Kowalik 6732517c1d Change MainClass.get_repo default laziness (#882)
MainClass.get_repo() used to default to lazy fetching, which is not what
NamedUser.get_repo() does, so change the default. Fix the tess to pass
lazy=True, so that we don't need to grow 8 ReplayData files with 11
lines of the repository in question.

Fixes #353
2018-08-27 11:57:58 +08:00
Wan Liuyang ae5cdb285e Refactor common header constants and custom media type 2018-08-21 15:01:23 +08:00
Wan Liuyang 3f0caa4057 Sync copyright header 2018-08-19 10:47:41 +08:00
Maarten Fonville 8bdac23ca1 Fix github API requests after asset upload (#771)
In the old code the self.__hostname would be overwritten with uploads.github.com
but it could not be correctly re-set to api.github.com after completing the upload
Create a separate connection if hostname or port differ in requestBlobAndCheck

in the end this became quite a large overhaul, to also make this change generic
for e.g. connecting to status.github.com and similar methods

~~not sure if tests need (more) updating, if so I will update the PR accordingly~~
2018-06-22 12:46:46 +08:00
Joshua Hoblitt 140c648075 increase default timeout to be > github request timeout (#793)
* increase default timeout to 15s

* Update MainClass.py
2018-05-21 10:39:33 +08:00
Mike Miller 85a9124b09 Add ability to skip SSL verify from requests (#758) 2018-04-26 14:46:44 +08:00
Svend Sorensen 1e0150b527 Add get_organizations() (#748)
* Add get_organizations()

* Add unit tests for get_organizations
2018-04-12 08:50:42 +08:00
Wan Liuyang b54ccc784e Implement License API (#734)
* Implement License API

* Update copyright
2018-04-06 09:17:19 +08:00
Wan Liuyang 3cd176e3c3 Depreciate legacy search API 2018-03-20 20:27:27 +08:00
sfdye 365a0a24d3 Apply fix_headers script to update copyright info 2018-03-17 20:06:16 +08:00
sfdye 58e1ef9ccb Fix copyright formatting 2018-03-13 22:30:47 +08:00
sfdye 020c136a40 Update doc link in copyright text 2018-03-13 22:07:38 +08:00
Wan Liuyang a32a17bf81 Fix broken Github reference link in class docstrings 2018-03-13 15:07:07 +08:00
Agor Maxime aa556f85a1 Finished search_commits PR (#727)
* Added support for newer commit search API endpoint

* Added tests for new commit search method on main Github class

* Fixed sort parameter of search_commits
2018-03-09 08:00:47 +08:00
Colin Hoglund 84b43da76c Decode jwt bytes object in Python 3 (#633) 2017-11-27 14:59:38 -08:00
Jannis Gebauer 4c64b28920 added repository collaborator invitation 2017-07-10 13:14:09 +02:00
Jannis Gebauer d447eb13b9 switch to pyjwt, python-jose is not secure 2017-03-27 15:20:24 +02:00
Jannis Gebauer 33334e4345 adding support for the integrations installation endpoint 2017-02-01 10:51:13 +01:00
Jannis Gebauer d60943db8c adds GitHub integrations 2016-09-15 15:39:43 +02:00
Peter Buckley cb0cf0a680 update doc url everywhere (#420) 2016-07-12 16:38:02 -04:00
Joseph Rawson 3cf0a44691 support long integers in get_repo 2015-10-03 11:16:54 -05:00
edhollandAL e99ab3caf7 Merge pull request #1 from edhollandAL/develop
Freshen master with changes from develop
2015-05-08 14:57:59 +01:00
Uriel Corfa 626d29c938 Add support to create Repository objects lazily in MainClass.
This lets users do the following without issuing an unnecessary request:

issues_of_my_repository = g.get_repo('PyGithub/PyGithub').get_issues()

Since the GithubObject layer handles laziness transparently, lazy
loading is enabled by default, and can be disabled via the `lazy`
kwarg. This does not affect any test except tests that pertain to
caching or laziness itself.
2015-03-26 20:56:27 -07:00
Daniel Pocock cd8fe788e4 Allow access to preview versions of the server-side API 2015-02-03 11:56:13 +01:00
Vincent Jacques abca7a026e pep8
This is strange, maybe Cygwin's version is stricter.
No time to investigate.
2014-05-04 12:54:05 -07:00
Vincent Jacques 580528876a Acknowledge some lack of test coverage 2014-05-04 12:18:00 -07:00
Tyler Treat 0ddfaaca01 Implement support for getting repo by id
This allows the Github class to retrieve repos by either their full name
or id. If the user passes in an id for a repo which doesn't exist or in which
they don't have sufficient permissions, an UnknownObjectException will
be raised. This addresses issue #245.
2014-04-22 21:12:22 -05:00
Vincent Jacques 9f2ac570f8 Fix urlencoding for search (see #237)
Parameters are encoded in Requester => simply remove urllib.quote
Path needs to be encoded => change to urllib.quote_plus as in #237
2014-03-16 10:47:31 -07:00
C. R. Oldham 972a91e4cc Change quote to quote_plus and avoid double-escaping some problematic characters. 2014-03-06 11:16:11 -07:00
Vincent Jacques 87dbb94cee Fix doc (#224) 2014-03-02 21:01:34 -08:00
Vincent Jacques 07c026742c Restore coverage for several previous PRs 2014-03-02 20:48:13 -08:00
Thialfihar 3afae930a7 Add code search
Code search results are content resources with an embedded repository.
The "content" and "encoding" attributes aren't returned and require
completion.
2014-02-08 21:06:43 +01:00
Thialfihar b1524e290c Add issue search
Qualifiers can be added via keyword args in order to keep the method
uncluttered. Qualifiers could also be given in the query string
directly.
2014-02-08 21:06:43 +01:00
Thialfihar b1e60eb95b Add user search
Qualifiers can be added via keyword args in order to keep the method
uncluttered. Qualifiers could also be given in the query string
directly.
2014-02-08 21:06:43 +01:00
Thialfihar b5faac0144 Add repository search
Qualifiers can be added via keyword args in order to keep the method
uncluttered. Qualifiers could also be given in the query string
directly.
2014-02-08 21:06:42 +01:00