| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
BREAKING CHANGE: remove deprecated project.issuesstatistics
in favor of project.issues_statistics
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Convert our manager usage to be done via type annotations.
Now to define a manager to be used in a RESTObject subclass can simply
do:
class ExampleClass(CRUDMixin, RESTObject):
my_manager: MyManager
Any type-annotation that annotates it to be of type *Manager (with the
exception of RESTManager) will cause the manager to be created on the
object.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 'managers' are dynamically created. This unfortunately means that
we don't have any type-hints for them and so editors which understand
type-hints won't know that they are valid attributes.
* Add the type-hints for the managers we define.
* Add a unit test that makes sure that the type-hints and the
'_managers' attribute are kept in sync with each other.
* Add unit test that makes sure specified managers in '_managers'
have a name ending in 'Managers' to keep with current convention.
* Make RESTObject._managers always present with a default value of
None.
* Fix a type-issue revealed now that mypy knows what the type is
|
|
|
|
|
|
|
|
| |
repository_archive() returns 'bytes' not 'str'
https://docs.gitlab.com/ee/api/repositories.html#get-file-archive
Fixes: #1584
|
|
|
|
|
| |
Stop requiring a `name` attribute for creating a Release, since a
release name has not been required since GitLab 12.5.
|
|
|
|
|
|
|
| |
Support merge_ref on merge requests that returns commit of attempted
merge of the MR.
Signed-off-by: Matej Focko <mfocko@redhat.com>
|
| |
|
|\
| |
| | |
feat(api): add group hooks
|
| | |
|
| |
| |
| |
| | |
Release API now supports PUT.
|
|\ \
| |/
|/| |
feat(api): add support for creating/editing reviewers in project MRs
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Adding type-hints to gitlab/v4/objects/projects.py
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Sync the create attributes with:
https://docs.gitlab.com/ee/api/projects.html#create-project
Sync the update attributes with documentation at:
https://docs.gitlab.com/ee/api/projects.html#edit-project
As a note the ordering of the attributes was done to match the
ordering of the attributes in the documentation.
Closes: #1497
|
| | |
|
| |
| |
| | |
feat(objects): add support for Group wikis
|
| |
| |
| |
| |
| |
| |
| | |
Add missing optional create parameter ('protected_branch_ids') to the
project approvalrules.
https://docs.gitlab.com/ee/api/merge_request_approvals.html#create-project-level-rule
|
| |
| |
| |
| | |
Co-authored-by: John Villalovos <john@sodarock.com>
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MR https://github.com/python-gitlab/python-gitlab/pull/1121 changed
mr.merge() to use 'query_data'. This appears to have been wrong.
From the Gitlab docs they state it should be sent in a payload body
https://docs.gitlab.com/ee/api/README.html#request-payload since
mr.merge() is a PUT request.
> Request Payload
> API Requests can use parameters sent as query strings or as a
> payload body. GET requests usually send a query string, while PUT
> or POST requests usually send the payload body
Fixes: #1452
Related to: #1120
|
| |
|
|
|
|
|
|
| |
Fix the import ordering using isort.
https://pycqa.github.io/isort/
|
| |
|
|\
| |
| | |
fix(objects): make lists work for filters in all objects
|
| | |
|
| | |
|
|\ \
| | |
| | | |
fix(objects): add missing group attributes
|
| |/ |
|
|/
|
|
|
| |
The python API was missing the field code_owner_approval_required
as implemented in the GitLab REST API.
|
|
|
|
|
|
|
|
|
| |
Set the 'iids' values as type ListAttribute so it will pass the list
as a comma-separated string, instead of a list.
Add a functional test.
Closes: #1407
|
|\
| |
| | |
fix: add a check to ensure the MRO is correct
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a check to ensure the MRO (Method Resolution Order) is correct for classes in
gitlab.v4.objects when doing type-checking.
An example of an incorrect definition:
class ProjectPipeline(RESTObject, RefreshMixin, ObjectDeleteMixin):
^^^^^^^^^^ This should be at the end.
Correct way would be:
class ProjectPipeline(RefreshMixin, ObjectDeleteMixin, RESTObject):
Correctly at the end ^^^^^^^^^^
Also fix classes which have the issue.
|
| | |
|
|/
|
|
| |
It's mostly an internal thing anyway and can be removed in 3.0.0
|
|\
| |
| | |
fix: correct ProjectFile.decode() documentation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ProjectFile.decode() returns 'bytes' and not 'str'.
Update the method's doc-string and add a type-hint.
ProjectFile.decode() returns the result of a call to
base64.b64decode()
The docs for that function state it returns 'bytes':
https://docs.python.org/3/library/base64.html#base64.b64decode
Fixes: #1403
|
|\ \
| |/
|/| |
Fix all issues reported by running: tox -e pep8 and enable pep8 as a linter check
|
| |
| |
| |
| |
| |
| | |
Local variable name is assigned to but never used
https://www.flake8rules.com/rules/F841.html
|
| |
| |
| |
| |
| |
| | |
F401: Module imported but unused
https://www.flake8rules.com/rules/F401.html
|
| |
| |
| |
| |
| |
| | |
While adding type-hints mypy flagged this as an issue. The third
argument to register_custom_action is supposed to be a tuple. It was
being passed as a string rather than a tuple of strings.
|
| | |
|