| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Enhance releases API docs for CI_JOB_TOKEN usage
|
|/ |
|
|\
| |
| | |
Remove usage of httmock and clean up deprecations
|
| |
| |
| |
| |
| | |
In the `responses` library the usage of `match_querystring` is
deprecated. Convert to using `match`
|
|/
|
|
|
| |
Convert all usage of the `httpmock` library to using the `responses`
library.
|
|\
| |
| | |
chore: rename `gitlab/__version__.py` to `gitlab/_version.py`
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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`.
|
|\ \
| | |
| | | |
test: use 'responses' in test_mixins_methods.py
|
|/ /
| |
| |
| |
| |
| | |
Convert from httmock to responses in test_mixins_methods.py
This leaves only one file left to convert
|
|\ \
| | |
| | | |
chore: create return type-hints for `get_id()` & `encoded_id`
|
|/ /
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
docs(changelog): add missing changelog items
|
| |/ |
|
|\ \
| |/
|/| |
chore(tests): use method `projects.transfer()`
|
|/
|
|
|
|
| |
When doing the functional tests use the new function
`projects.transfer` instead of the deprecated function
`projects.transfer_project()`
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
chore(objects): use `self.encoded_id` where applicable
|
|/
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
chore(objects): use `self.encoded_id` where could be a string
|
| |
| |
| |
| |
| | |
Updated a few remaining usages of `self.id` to use `self.encoded_id`
where it could be a string value.
|
| |
| |
| | |
Co-authored-by: John Villalovos <john@sodarock.com>
|
|/ |
|
|\
| |
| | |
feat(api): return result from `SaveMixin.save()`
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/| |
ci: don't fail CI if unable to upload the code coverage data
|
|/
|
|
|
| |
If a CI job can't upload coverage results to codecov.com it causes the
CI to fail and code can't be merged.
|
|\
| |
| | |
chore: ignore intermediate coverage artifacts
|
|/ |
|
|\
| |
| | |
fix: use url-encoded ID in all paths
|
| |
| |
| |
| |
| |
| | |
utils.EncodedId() has basically the same functionalityy of using
utils._url_encode(). So remove utils._url_encode() as we don't need
it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | | |
fix: members: use new *All objects for *AllManager managers
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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(api): services: add missing `lazy` parameter
|
|/
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
fix: broken URL for FAQ about attribute-error-list
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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' --------------------------^
|
|
|
|
| |
See https://docs.gitlab.com/ee/api/group_access_tokens.html
|
| |
|
|\
| |
| | |
chore: add `pprint()` and `pformat()` methods to RESTObject
|
| |
| |
| |
| |
| | |
This is useful in debugging and testing. As can easily print out the
values from an instance in a more human-readable form.
|
|\ \
| | |
| | | |
test: add logging to `tests/functional/conftest.py`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
|/| | |
fix: remove custom URL encoding
|