Commit Graph
165 Commits
Author SHA1 Message Date
Steve Kowalik 6452ddfeb4 Add Repository.rename_branch method (#2089)
The GitHub API exposes an endpoint to rename a branch, so we should
support calling it. Sadly, there is not enough information to add
that method to the Branch class, so expose it in the Repository object.

Fixes #1901
2021-10-24 15:21:31 +11:00
c8a945bb42 Add function to delete pending reviews on a pull request (#1897)
Add a delete method to PullRequestReview to allow dismissing them.

Fixes #1856 

Co-authored-by: bagashvilit <bagashvilit@allegheny.edu>
Co-authored-by: WonjoonC <chos@allegheny.edu>
2021-10-24 15:15:31 +11:00
Steve Kowalik f1faf941ec Cover all code paths in search_commits (#2087)
The search_commits method was only very lightly tested, meaning over
half of it was not covered. Write another test case, covering all code
paths.
2021-10-22 08:39:31 +11:00
Steve Kowalik 93b92cd2fc Correctly deal when PaginatedList's data is a dict (#2084)
When calculating totalCount for a PaginatedList, if a Link header is not
in the returned data, we use len() to calculate the number of items.
PullRequest.get_review_requests() actually returns a dictionary, which
neatly defeats this naive method. Peer inside the dictionary in this
case, and add a test case.

Fixes #2053
2021-10-20 18:49:12 +11:00
秋葉 4f00cbf2c4 Add two_factor_authentication in AuthenticatedUser. (#1972)
Fixes #1971
2021-10-19 15:07:53 +11:00
Steve Kowalik b1c8eec58f Add method to delete Workflow runs (#2078)
One piece of missing functionality is the ability to delete Workflow
Runs, which the GitHub API supports. Add a delete() method to
WorkflowRun.

Fixes #2019
2021-10-15 15:40:09 +11:00
James Simpson 53fb49882f Implement organization.cancel_invitation() (#2072)
Implement a new function cancel_invitation for github.Organization objects, allowing for
cancellation of organization invitations.
2021-10-13 16:22:54 +11:00
秋葉 6570892a79 Feat: Add html_url property in Team Class. (#1983)
Fixes: #1942
2021-10-13 15:57:07 +11:00
Marina Peresypkina bc5e5950aa Add github actions secrets to org (#2006)
Add functionality to create and delete Secrets for Organizations.
2021-10-13 15:33:18 +11:00
Steve Kowalik fcc1236870 Correct replay for Organization.create_project() test (#2075)
The just landed test case for Organization.create_project() used the
wrong Authorization headers, correct it.
2021-10-12 17:55:28 +11:00
karthik-kadajji d71c25a6d4 Add type hint for Organization.create_project() (#2032)
Organization.create_project() did not have a type hint, add one, and a test case.
2021-10-12 16:10:48 +11:00
Steve Kowalik b10dbe3989 Fix AuthenticatedUser ReplayData with parameters (#2074)
A recently merged change modified AuthenticatedUser.get_notifications()
in how it passes boolean parameters, but did not modify the replay data.
Do so now.
2021-10-11 16:39:19 +11:00
Steve Kowalik 1265747e99 Do not transform requestHeaders when logging (#1965)
Requester.__log() sanitizes the headers of the request so that
authentication details are not logged, but this has the side effect of
meaning that future requests that use the same Requester object will
fail. Usually, this is perfectly fine, since almost every method will
only make one request -- where this falls down is when we make another
after a redirect. Make a copy of the requestHeaders, and sanitize those.

Fixes #1959
2021-06-02 15:00:00 +10:00
Steve Kowalik 4faff23ce9 Implement hash for CompletableGithubObject (#1922)
Since CompletableGithubObject already uses its URL attribute to
implement equality, extend it to also use that attribute for hashing.

Fixes #1826
2021-04-26 14:24:00 +10:00
MeggyCal ad124ef481 key_id could be int on Github Enterprise (#1894)
* PublicKey.key_id can also be int, as well as str

Fixes #1878
2021-03-26 20:31:17 +11:00
MeggyCal 2c77cfad56 Adjust to Github API changes regarding emails (#1890)
Handle AuthenticatedUser.get_emails() correctly with the GitHub API changes.

Fixes #1852
2021-03-24 21:30:01 +11:00
Steve Kowalik 5aab6f5dc2 Tighten asserts for new Permission tests (#1893)
The recently merged code checking attributes on Permissions overeagerly
used assertEqual for everything, switch to the more appropriate methods.
2021-03-24 14:39:58 +11:00
karsten-wagner 76879613fa Adding attributes "maintain" and "triage" to class "Permissions" (#1810)
* Adding attributes "maintain" and "triage" to class "github.Permissions.Permissions"

* Fix for failed test due to extended attribute list

* Adding new simplistic test case for class Permissions

Fixes #1809
2021-03-24 14:27:14 +11:00
Steve Kowalik 916da53bef Re-raise the exception when failing to parse JSON (#1892)
Since GitHub has the bad manners to return bare strings for some API
endpoints, one sharp edge has been that JSON decoding errors were masked
since we wrap the string in a dictionary. However, this makes it
difficult to debug malformed JSON in replay data, so re-raise the
exception if the first character is a { or [ (IE, it's an object or
list.)
2021-03-24 13:56:54 +11:00
Sam Morgan a68577b76a Update PyJWT Version to 2.0+ (#1891)
* Update PyJWT version
* Fix `GitRelease.testUploadAssetWithName` test
  MIME type wasn't as expected

Fixes #1832
2021-03-24 10:14:35 +11:00
Steve Kowalik 3003e06501 Use right variable in both get_check_runs() (#1889)
Both CheckSuite and Commit have a get_check_runs() method that allows
filtering by a string -- the original code did not check for it, and
never added it to the query string since it checked the wrong variable.
Check the right variable and re-record the replay data.

Fixes #1843
2021-03-24 10:02:02 +11:00
Steve Kowalik 901af8c862 Remove client_id/client_secret authentication (#1888)
Authenticating via client_id and client_secret is dangerous, since they
appended to the query string, and can be easily seen from the URL.

client_id/client_secret have been deprecated since May 2020, and ignored
by GitHub since late 2020, so it's high time they were removed.
2021-03-23 14:48:47 +11:00
Steve Kowalik ddd437a7cd Export headers in GithubException (#1887)
Since the headers that led to an exception are also useful, firstly pass
them into the constructor, and then export them in a property. Test one
specific use case to make sure of coverage.

Fixes #1814
2021-03-23 13:47:05 +11:00
Steve Kowalik e0acd8f466 Test repr() for PublicKey (#1879)
The new PublicKey tests did not test the repr() method, increase
coverage by doing so.
2021-03-22 13:07:22 +11:00
Steve Kowalik 696793dea7 Add support for deleting repository secrets (#1868)
When a previous commit added support for creating secrets on repository
objects, support was not added to also remove them. Since the GitHub API
does support that, add a method to do so.
2021-03-17 16:02:57 +11:00
Chris KeatingandLiuyang Wan c90c050ef1 Adding github actions secrets (#1681)
* Fixed pre-commit issues

* Fixed mypy linting error

* Fix flake8 error

* Update PublicKey.py

* Update PublicKey.py

* Update setup.py

* Update setup.py

* Update requirements.txt

Co-authored-by: Liuyang Wan <tsfdye@gmail.com>

Co-authored-by: Liuyang Wan <tsfdye@gmail.com>
2021-03-07 05:40:52 +08:00
Yuya Nakamura 7db1b0c924 fix get_user_issues (#1842)
AuthenticatedUser.get_user_issues() calls the wrong API endpoint.

Fixes #1841
2021-03-05 15:27:34 +11:00
Steve Kowalik 290b62726f Switch all string addition to using f-strings (#1774)
Now that we no longer support Python 3.5, stop using string addition
everywhere it makes sense, and move to the best feature 3.6+ gives us,
f-strings!
2021-03-03 14:50:57 +11:00
Amador Pahim a77d4f48cb Enabling connetion pool_size definition
requests has a default connections pool of 10. Creating multiple threads
will consume from that same pool, since the underlying implementation of
the requests pool is a singletown.

Let's make the pool_size configurable, so clients can set the proper
number for their use case when running multiple threads.

Signed-off-by: Amador Pahim <apahim@redhat.com>
2021-01-08 11:55:36 +00:00
Amador Pahim aaec0a0f0f Always define the session adapter
This represents no change of behaviour, but it enables us to set more
options to the adapter.

Signed-off-by: Amador Pahim <apahim@redhat.com>
2021-01-08 11:55:36 +00:00
Steve Kowalik e113e37de1 Add pyupgrade to pre-commit configuration (#1783)
To help us switch to f-strings and other 3.6+ changes, add pyupgrade to
our pre-commit configuration to keep the codebase clean.
2020-12-15 14:07:33 +11:00
Dhruv ManilawalaandRaju Subramanian 6d501b286e Add support for Check Suites (#1764)
* Add initial support for Check Suites
* Add API call detail in CheckSuite.rerequest
* Update Accept header with general instead of preview
* Add 'get check runs' endpoint for CheckSuite with stubs
* Add create check suite endpoint with stub
* Update CheckSuite tests with creat check suite endpoint
* Add update check suites preferences endpoint
* Add repository preferences object and stub file
* Add update check suite preferences tests

Needed for #1621

Co-authored-by: Raju Subramanian <coder@mahesh.net>
2020-11-30 16:03:07 +11:00
Pascal Hofmann 197e065372 Add missing preview features of Deployment and Deployment Statuses API (#1674)
* Add missing preview features of Deployment and Deployment Statuses API
  - Enable support for deployment status states in_progress and queued
  - Add arguments production_environment and transient_environment to Repository.create_deployment()
  - Add attributes production_environment and transient_environment to Deployment
  - Use correct type in assertion for Deployment.payload
  - Fix incorrect assertion for description in Deployment.create_status()
  - Add arguments environment, environment_url, auto_inactive to Deployment.create_status()
  - Add attribute environment_url to DeploymentStatus
2020-11-30 15:47:54 +11:00
Dhruv Manilawala c77c06760e Add Support for Check Runs (#1727)
* Add CheckRun object and stub file
* Add list of check runs endpoint for Commit
* Add get check run endpoint for Repository
* Add CheckRun test file and replay data files
* Add CheckRunAnnotation object and stub file
* Add create CheckRun API endpoint to Repository
* Update and add new tests for CheckRun endpoint:
2020-11-19 14:29:04 +11:00
Omar Brikaa 4cfc9912c0 Added a method for getting a user by their id (#1691)
* Added a method for getting a user by their id

* Added get_user_by_id to MainClass stubs

Fixes #1615
2020-11-10 14:52:58 +11:00
Yannick Jadoul 78a29a7ce0 Add WorkflowRun.workflow_id (#1737)
Add the missing attribute WorkflowRun.workflow_id
2020-11-04 14:12:17 +11:00
Victor Zeng 24251f4b0f Added support for the Self-Hosted actions runners API (#1684)
* Added data model for Self-Hosted Actions Runner

* Added function for getting self-hosted runners
2020-10-28 15:53:33 +11:00
Steve Kowalik 23f475393d Filter the DeprecationWarning in Team tests (#1728)
With 1c55be5174 merged, Team.set_repo_permission() now raises a
DeprecationWarning, so filter it until the method is removed.
2020-10-28 15:03:46 +11:00
latacora-daniel b42fb244f2 Added get_installations() to Organizations (#1695)
* Added get_installations() to Organizations

Fixes #1694
2020-10-28 14:00:47 +11:00
Andy Grunwald 1c55be5174 Fix #1507: Add new Teams: Add or update team repository endpoint (#1509)
* Add new Team.update_team_repository()

* Mark Team.set_repo_permission() as deprecated

 Fixes #1507
2020-10-28 13:43:35 +11:00
Victor Zeng c23564ddbd Added support for Repository.get_workflow_runs parameters (#1682)
* Added support for `Repository.get_workflow_runs` parameters

* Added anchor tag to docstring link

* Tests
2020-10-28 13:37:59 +11:00
Florent Clarret ee4c7a7e9e feat(pullrequest): add the rebaseable attribute (#1690) 2020-10-26 16:44:31 +11:00
Huan-Cheng Chang f7d203c083 Add support for deleting reactions (#1708)
* Delete comment reactions

* Add test case

* update ignore-word-list

* Delete issue reactions

* Delete issue comment reactions

* Delete pull request comment reactions

* check status
2020-10-26 16:40:46 +11:00
Steve Kowalik 07e29fe014 Format with new black (#1679)
Black is very opinionated, but sometimes those opinions change. Run the
new black version across the codebase, and lock down the version used by
pre-commit so we don't get surprised like this again.
2020-09-02 14:59:09 +10:00
Steve Kowalik 2646a98c31 Test Organization.get_hook() (#1660)
Add a testcase for Organization.get_hook()
2020-08-18 18:14:20 +10:00
Tal Machani 749e8d359a Add method get_team_membership for user to Team (#1658)
* - Add method get_team_membership for user

* add typing get_team_membership for member

Fixes #1657
2020-08-18 17:45:01 +10:00
Steve Kowalik 69b37b4ab6 PaginatedList's totalCount is 0 if no last page (#1641)
When calculating totalCount for PaginatedList, if the links data does
not contain a last page, we can't know how many elements are contained
in the list. Set it to 0 in that case.

Fixes #1614
2020-08-09 19:05:04 +10:00
Mahesh Raju 260558c101 Add initial support for Github Apps. (#1631)
* Add initial support for Github Apps.

Needed for #1621
2020-08-09 19:04:41 +10:00
Jesse Li a778639362 upload_asset with data in memory (#1601)
* Expose upload from memory functionality
* Upload from memory basic test
* Test for custom file like object
* Reorganized existing release tests
* Remove docstrings & comments from tests
* Modify logic
* Explain why encode ignores its argument

Fixes #1140
2020-08-03 18:42:06 +10:00
Mahesh Raju 16850ef1ed Add support for workflow dispatch event (#1625)
* Add support for workflow dispatch event

Fixes: #1624
2020-07-30 16:43:05 +10:00