| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In our fixtures that create:
- groups
- project merge requests
- projects
- users
They delete the created objects after use. Now wait to ensure the
objects are deleted before continuing as having unexpected objects
existing can impact some of our tests.
|
|/
|
|
|
| |
Catch the deprecation warning for the call to `gl.lint()`, so it won't
show up in the log.
|
| |
|
| |
|
|\
| |
| | |
feat: add `asdict()` and `to_json()` methods to Gitlab Objects
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add an `asdict()` method that returns a dictionary representation copy
of the Gitlab Object. This is a copy and changes made to it will have
no impact on the Gitlab Object.
The `asdict()` method name was chosen as both the `dataclasses` and
`attrs` libraries have an `asdict()` function which has the similar
purpose of creating a dictionary represenation of an object.
Also add a `to_json()` method that returns a JSON string
representation of the object.
Closes: #1116
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the `attributes` method would show the original values in a
Gitlab Object even if they had been updated. Correct this so that the
updated value will be returned.
Also use copy.deepcopy() to ensure that modifying the dictionary returned can
not also modify the object.
|
|/
|
|
|
|
|
|
| |
This can be used to tell if a `RESTObject` was created using
`lazy=True`.
Add a message to the `AttributeError` if attribute access fails for an
instance created with `lazy=True`.
|
| |
|
| |
|
|
|
|
| |
Enable the `mypy` `strict_equality` check.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Add support for validating a project's CI configuration [1]
[1] https://docs.gitlab.com/ee/api/lint.html
|
|
|
|
|
|
| |
Add the GroupPushRules and GroupPushRulesManager classes.
Closes: #1259
|
| |
|
|
|
|
|
|
|
| |
Ensure the path elements that are passed to the server are escaped.
For example a "/" will be changed to "%2F"
Closes: #2116
|
|\
| |
| | |
test(projects): add unit tests for projects
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
feat(api): add support for `get` for a MR approval rule
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In GitLab 14.10 they added support to get a single merge request
approval rule [1]
Add support for it to ProjectMergeRequestApprovalRuleManager
[1] https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-a-single-merge-request-level-rule
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Commit b6447211754e126f64e12fc735ad74fe557b7fb4 inadvertently
introduced a possible breaking change as it added a new argument
`iterator` and added it in between existing (potentially positional) arguments.
This moves the `iterator` argument to the end of the argument list and
requires it to be a keyword-only argument.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* feat(downloads): allow streaming downloads access to response iterator
Allow access to the underlying response iterator when downloading in
streaming mode by specifying `iterator=True`.
Update type annotations to support this change.
* docs(api-docs): add iterator example to artifact download
Document the usage of the `iterator=True` option when downloading
artifacts
* test(packages): add tests for streaming downloads
|
| | |
|
|\ \
| | |
| | | |
feat(users): add approve and reject methods to User
|
| | |
| | |
| | |
| | |
| | |
| | | |
As requested in #1604.
Co-authored-by: John Villalovos <john@sodarock.com>
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| | |
Have been seeing timeout issues more and more. Increase timeout from
200 seconds to 300 seconds (5 minutes).
|
| |
| |
| |
| |
| |
| |
| |
| | |
- https://docs.gitlab.com/ee/api/protected_environments.html
- https://github.com/python-gitlab/python-gitlab/issues/1130
no write operation are implemented yet as I have no use case right now
and am not sure how it should be done
|
| | |
|
|\ \
| |/
|/| |
fix(cli): project-merge-request-approval-rule
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using the CLI the command:
gitlab project-merge-request-approval-rule list --mr-iid 1 --project-id foo/bar
Would raise an exception. This was due to the fact that `_id_attr` and
`_repr_attr` were set for keys which are not returned in the response.
Add a unit test which shows the `repr` function now works. Before it
did not.
This is an EE feature so we can't functional test it.
Closes: #2065
|
|/ |
|
|\
| |
| | |
test: add more tests for RequiredOptional
|
| | |
|
| |
| |
| |
| |
| | |
Rename the variables `whaction` and `action` to `resource_action` to
improve code-readability.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Naming a variable `what` makes it difficult to understand what it is
used for.
Rename it to `gitlab_resource` as that is what is being stored.
The Gitlab documentation talks about them being resources:
https://docs.gitlab.com/ee/api/api_resources.html
This will improve code readability.
|
|/ |
|
| |
|
|
|
|
|
| |
Since ac1c619cae6481833f5df91862624bf0380fef67 we delete parent arg keys
from the args dict so this has been trying to access the wrong attribute.
|
|
|
|
|
|
| |
Move the `validate_attrs` function to be inside the `RequiredOptional`
class. It makes sense for it to be part of the class as it is working
on data related to the class.
|
|
|
|
|
|
|
|
| |
There is no reason to return an `int` as we can always return a `str`
version of the `int`
Change `EncodedId` to always return an `EncodedId`. This removes the
need to have `mypy` ignore the error raised.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fix board lists (#2037)
add exclusive tuple to RequiredOptional data class to support for
mutually exclusive attributes
consolidate _check_missing_create_attrs and _check_missing_update_attrs
from mixins.py into _validate_attrs in utils.py
change _create_attrs in board list manager classes from
required=('label_ld',) to
exclusive=('label_id','asignee_id','milestone_id')
closes https://github.com/python-gitlab/python-gitlab/issues/1897
|
|
|
|
|
|
| |
By having `RequiredOptional` in the `gitlab.base` module it makes it
difficult with circular imports. Move it to the `gitlab.types`
module which has no dependencies on any other gitlab module.
|