| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
| |
Adds promotion to Project Milestones
Signed-off-by: Raimund Hook <raimund.hook@exfo.com>
|
|\
| |
| | |
feat(api): add merge request approval state
|
| |
| |
| |
| | |
Add support for merge request approval state
|
| |
| |
| |
| |
| |
| | |
Adds a mixin that allows the /promote endpoint to be called.
Signed-off-by: Raimund Hook <raimund.hook@exfo.com>
|
| |
| |
| |
| |
| | |
* fix(api): delete 'group-runner get' and 'group-runner delete' commands
Co-authored-by: Léo GATELLIER <git@leogatellier.fr>
|
| | |
|
| | |
|
|/
|
|
|
| |
BREAKING CHANGE: As of python-gitlab 3.0.0, the default branch for development
has changed from `master` to `main`.
|
| |
|
| |
|
|
|
|
|
| |
BREAKING CHANGE: remove deprecated constants defined in
gitlab.v4.objects, and use only gitlab.const module
|
|
|
|
|
| |
BREAKING CHANGE: remove deprecated tag release API.
This was removed in GitLab 14.0
|
|
|
|
|
| |
BREAKING CHANGE: remove deprecated project.issuesstatistics
in favor of project.issues_statistics
|
|
|
|
|
| |
BREAKING CHANGE: remove deprecated members.all() method
in favor of members_all.list()
|
|
|
|
| |
BREAKING CHANGE: remove deprecated pipelines() methods in favor of pipelines.list()
|
|
|
|
|
| |
BREAKING CHANGE: python-gitlab will now default to gitlab.com
if no URL is given
|
|\
| |
| | |
fix!: raise error if there is a 301/302 redirection
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before we raised an error if there was a 301, 302 redirect but only
from an http URL to an https URL. But we didn't raise an error for
any other redirects.
This caused two problems:
1. PUT requests that are redirected get changed to GET requests
which don't perform the desired action but raise no error. This
is because the GET response succeeds but since it wasn't a PUT it
doesn't update. See issue:
https://github.com/python-gitlab/python-gitlab/issues/1432
2. POST requests that are redirected also got changed to GET
requests. They also caused hard to debug tracebacks for the user.
See issue:
https://github.com/python-gitlab/python-gitlab/issues/1477
Correct this by always raising a RedirectError exception and improve
the exception message to let them know what was redirected.
Closes: #1485
Closes: #1432
Closes: #1477
|
| |
| |
| |
| |
| | |
Add an additional check to attempt to solve the flakiness of the
test_merge_request_should_remove_source_branch() test.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
|
|
|
|
|
|
| |
`retry_transient_errors` can now be set through the Gitlab instance and global configuration
Documentation for API usage has been updated and missing tests have been added.
|
| |
|
|
|
|
|
| |
Stop requiring a `name` attribute for creating a Release, since a
release name has not been required since GitLab 12.5.
|
|
|
|
|
|
|
| |
- Add test for using merge_ref on non-merged MR
- Add test for using merge_ref on MR with conflicts
Signed-off-by: Matej Focko <mfocko@redhat.com>
|
|\
| |
| | |
feat(api): add group hooks
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
| |
Sometimes we have errors where we don't get a dictionary passed to
RESTObject.__init__() method. This breaks things but in confusing
ways.
Check in the __init__() method and raise an exception if it occurs.
|
|
|
| |
chore: fix functional project service test
|
| |
|
|
|
| |
feat(objects): add support for Group wikis
|
|
|
|
|
|
|
| |
Timing issues between requesting group deletion and GitLab enacting that
deletion resulted in errors while attempting to delete a user which was
the sole owner of said group (see: test_groups). Pass the 'hard_delete'
parameter to ensure user deletion.
|
|
|
|
| |
Was incorrectly using the issue 'id' vs 'iid'.
|
|
|
|
|
| |
Deploy tokens would remain in the instance if the respective project or
group was deleted without explicitly revoking the deploy tokens first.
|
|
|
|
|
| |
This is a feature added in 3.8, removing it allows for the test to run
with lower python versions.
|
|
|
|
|
|
| |
Additionally updates token creation to make use of `first_or_create()`,
to avoid errors from the script caused by GitLab constraints preventing
duplicate tokens with the same value.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Move the 'gitlab/tests/' directory to 'tests/unit/' so we have all the
tests located under the 'tests/' directory.
|