summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fix(cli): allow custom methods in managersfix/cli-manager-custom-methodsNejc Habjan2022-01-223-4/+42
|
* Merge pull request #1854 from MRigal/docs/small-releases-additionsNejc Habjan2022-01-211-0/+9
|\ | | | | Enhance releases API docs for CI_JOB_TOKEN usage
| * docs: enhance release docs for CI_JOB_TOKEN usageMatthieu Rigal2022-01-211-0/+9
|/
* Merge pull request #1845 from python-gitlab/jlvillal/rm_httmockNejc Habjan2022-01-185-238/+405
|\ | | | | Remove usage of httmock and clean up deprecations
| * test: convert usage of `match_querystring` to `match`jlvillal/rm_httmockJohn L. Villalovos2022-01-164-101/+104
| | | | | | | | | | In the `responses` library the usage of `match_querystring` is deprecated. Convert to using `match`
| * test: remove usage of httpmock libraryJohn L. Villalovos2022-01-152-224/+388
|/ | | | | Convert all usage of the `httpmock` library to using the `responses` library.
* Merge pull request #1838 from python-gitlab/jlvillal/version_mvNejc Habjan2022-01-157-6/+6
|\ | | | | chore: rename `gitlab/__version__.py` to `gitlab/_version.py`
| * chore: rename `gitlab/__version__.py` -> `gitlab/_version.py`jlvillal/version_mvJohn L. Villalovos2022-01-157-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It is confusing to have a `gitlab/__version__.py` because we also create a variable `gitlab.__version__` which can conflict with `gitlab/__version__.py`. For example in `gitlab/const.py` we have to know that `gitlab.__version__` is a module and not the variable due to the ordering of imports. But in most other usage `gitlab.__version__` is a version string. To reduce confusion make the name of the version file `gitlab/_version.py`.
* | Merge pull request #1843 from python-gitlab/jlvillal/rm_httmockNejc Habjan2022-01-151-146/+191
|\ \ | | | | | | test: use 'responses' in test_mixins_methods.py
| * | test: use 'responses' in test_mixins_methods.pyJohn L. Villalovos2022-01-141-146/+191
|/ / | | | | | | | | | | Convert from httmock to responses in test_mixins_methods.py This leaves only one file left to convert
* | Merge pull request #1841 from python-gitlab/jlvillal/get_idNejc Habjan2022-01-153-3/+6
|\ \ | | | | | | chore: create return type-hints for `get_id()` & `encoded_id`
| * | chore: create return type-hints for `get_id()` & `encoded_id`John L. Villalovos2022-01-143-3/+6
|/ / | | | | | | | | | | Create return type-hints for `RESTObject.get_id()` and `RESTObject.encoded_id`. Previously was saying they return Any. Be more precise in saying they can return either: None, str, or int.
* | Merge pull request #1840 from python-gitlab/docs/missing-changelog-itemsMax Wittig2022-01-141-0/+8
|\ \ | | | | | | docs(changelog): add missing changelog items
| * | docs(changelog): add missing changelog itemsNejc Habjan2022-01-141-0/+8
| |/
* | Merge pull request #1839 from python-gitlab/jlvillal/catch_warningsNejc Habjan2022-01-141-2/+2
|\ \ | |/ |/| chore(tests): use method `projects.transfer()`
| * chore(tests): use method `projects.transfer()`jlvillal/catch_warningsJohn L. Villalovos2022-01-131-2/+2
|/ | | | | | When doing the functional tests use the new function `projects.transfer` instead of the deprecated function `projects.transfer_project()`
* chore: release v3.1.0v3.1.0github-actions2022-01-142-1/+13
|
* test(groups): enable group transfer testsNejc Habjan2022-01-133-10/+11
|
* chore(groups): use encoded_id for group pathNejc Habjan2022-01-131-1/+1
|
* feat: add support for Groups API method `transfer()`Christian Sattler2022-01-132-1/+27
|
* Merge pull request #1836 from python-gitlab/jlvillal/id_to_encodedidNejc Habjan2022-01-142-7/+7
|\ | | | | chore(objects): use `self.encoded_id` where applicable
| * chore(objects): use `self.encoded_id` where applicableJohn L. Villalovos2022-01-132-7/+7
|/ | | | | | | | Updated a few remaining usages of `self.id` to use `self.encoded_id` as for the most part we shouldn't be using `self.id` There are now only a few (4 lines of code) remaining uses of `self.id`, most of which seem that they should stay that way.
* Merge pull request #1835 from python-gitlab/jlvillal/id_to_encodedidNejc Habjan2022-01-142-3/+3
|\ | | | | chore(objects): use `self.encoded_id` where could be a string
| * chore(objects): use `self.encoded_id` where could be a stringJohn L. Villalovos2022-01-132-3/+3
| | | | | | | | | | Updated a few remaining usages of `self.id` to use `self.encoded_id` where it could be a string value.
* | chore(projects): fix typing for transfer methodNejc Habjan2022-01-131-1/+1
| | | | | | Co-authored-by: John Villalovos <john@sodarock.com>
* | feat(api): add `project.transfer()` and deprecate `transfer_project()`Nejc Habjan2022-01-135-6/+89
|/
* Merge pull request #1832 from python-gitlab/jlvillal/return_saveNejc Habjan2022-01-141-4/+7
|\ | | | | feat(api): return result from `SaveMixin.save()`
| * feat(api): return result from `SaveMixin.save()`kernelport2022-01-131-4/+7
| | | | | | | | | | | | | | | | | | Return the new object data when calling `SaveMixin.save()`. Also remove check for `None` value when calling `self.manager.update()` as that method only returns a dictionary. Closes: #1081
* | Merge pull request #1834 from python-gitlab/jlvillal/cover_no_failNejc Habjan2022-01-141-2/+2
|\ \ | |/ |/| ci: don't fail CI if unable to upload the code coverage data
| * ci: don't fail CI if unable to upload the code coverage dataJohn L. Villalovos2022-01-131-2/+2
|/ | | | | If a CI job can't upload coverage results to codecov.com it causes the CI to fail and code can't be merged.
* Merge pull request #1831 from python-gitlab/chore/ignore-coverageNejc Habjan2022-01-131-1/+1
|\ | | | | chore: ignore intermediate coverage artifacts
| * chore: ignore intermediate coverage artifactsNejc Habjan2022-01-131-1/+1
|/
* Merge pull request #1819 from python-gitlab/jlvillal/encoded_idNejc Habjan2022-01-1326-134/+267
|\ | | | | fix: use url-encoded ID in all paths
| * chore: replace usage of utils._url_encode() with utils.EncodedId()jlvillal/encoded_idJohn L. Villalovos2022-01-139-113/+28
| | | | | | | | | | | | utils.EncodedId() has basically the same functionalityy of using utils._url_encode(). So remove utils._url_encode() as we don't need it.
| * chore: add EncodedId string class to use to hold URL-encoded pathsJohn L. Villalovos2022-01-139-11/+180
| | | | | | | | | | | | | | | | | | Add EncodedId string class. This class returns a URL-encoded string but ensures it will only URL-encode it once even if recursively called. Also added some functional tests of 'lazy' objects to make sure they work.
| * fix: use url-encoded ID in all pathsJohn L. Villalovos2022-01-1319-92/+141
| | | | | | | | | | | | | | | | | | | | | | | | Make sure all usage of the ID in the URL path is encoded. Normally it isn't an issue as most IDs are integers or strings which don't contain a slash ('/'). But when the ID is a string with a slash character it will break things. Add a test case that shows this fixes wikis issue with subpages which use the slash character. Closes: #1079
* | Merge pull request #1827 from python-gitlab/jlvillal/all_objectsNejc Habjan2022-01-132-6/+44
|\ \ | | | | | | fix: members: use new *All objects for *AllManager managers
| * | fix(members): use new *All objects for *AllManager managersJohn L. Villalovos2022-01-132-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change it so that: GroupMemberAllManager uses GroupMemberAll object ProjectMemberAllManager uses ProjectMemberAll object Create GroupMemberAll and ProjectMemberAll objects that do not support any Mixin type methods. Previously we were using GroupMember and ProjectMember which support the `save()` and `delete()` methods but those methods will not work with objects retrieved using the `/members/all/` API calls. `list()` API calls: [1] GET /groups/:id/members/all GET /projects/:id/members/all `get()` API calls: [2] GET /groups/:id/members/all/:user_id GET /projects/:id/members/all/:user_id Closes: #1825 Closes: #848 [1] https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project-including-inherited-and-invited-members [2] https://docs.gitlab.com/ee/api/members.html#get-a-member-of-a-group-or-project-including-inherited-and-invited-members
* | | fix(cli): add missing list filters for environmentsNejc Habjan2022-01-131-0/+1
| |/ |/|
* | Merge pull request #1829 from python-gitlab/jlvillal/lazy_serviceNejc Habjan2022-01-132-1/+20
|\ \ | |/ |/| fix(api): services: add missing `lazy` parameter
| * fix(api): services: add missing `lazy` parameterjlvillal/lazy_serviceJohn L. Villalovos2022-01-132-1/+20
|/ | | | | | | | Commit 8da0b758c589f608a6ae4eeb74b3f306609ba36d added the `lazy` parameter to the services `get()` method but missed then using the `lazy` parameter when it called `super(...).get(...)` Closes: #1828
* Merge pull request #1823 from python-gitlab/jlvillal/fix_urlNejc Habjan2022-01-091-1/+1
|\ | | | | fix: broken URL for FAQ about attribute-error-list
| * fix: broken URL for FAQ about attribute-error-listJohn L. Villalovos2022-01-091-1/+1
|/ | | | | | | | | | | | | | The URL was missing a 'v' before the version number and thus the page did not exist. Previously the URL for python-gitlab 3.0.0 was: https://python-gitlab.readthedocs.io/en/3.0.0/faq.html#attribute-error-list Which does not exist. Change it to: https://python-gitlab.readthedocs.io/en/v3.0.0/faq.html#attribute-error-list add the 'v' --------------------------^
* feat: add support for Group Access Token APIFabio Huser2022-01-095-0/+167
| | | | See https://docs.gitlab.com/ee/api/group_access_tokens.html
* docs: update project access token API reference linkFabio Huser2022-01-092-2/+2
|
* Merge pull request #1812 from python-gitlab/jlvillal/pprintNejc Habjan2022-01-093-0/+53
|\ | | | | chore: add `pprint()` and `pformat()` methods to RESTObject
| * chore: add `pprint()` and `pformat()` methods to RESTObjectJohn L. Villalovos2022-01-083-0/+53
| | | | | | | | | | This is useful in debugging and testing. As can easily print out the values from an instance in a more human-readable form.
* | Merge pull request #1786 from python-gitlab/jlvillal/loggingNejc Habjan2022-01-094-18/+55
|\ \ | | | | | | test: add logging to `tests/functional/conftest.py`
| * | chore: add logging to `tests/functional/conftest.py`John L. Villalovos2022-01-084-18/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have found trying to debug issues in the functional tests can be difficult. Especially when trying to figure out failures in the CI running on Github. Add logging to `tests/functional/conftest.py` to have a better understanding of what is happening during a test run which is useful when trying to troubleshoot issues in the CI.
* | | Merge pull request #1816 from python-gitlab/jlvillal/remove_replaceNejc Habjan2022-01-098-22/+50
|\ \ \ | |/ / |/| | fix: remove custom URL encoding