| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
The Project object was previously using the GroupIterationManager
resulting in the incorrect API endpoint being used. Utilize the correct
ProjectIterationManager instead.
Resolves #2403
|
| |
|
| |
|
|
|
|
|
|
|
| |
Add the ability to get a project's pull mirror details. This was added
in GitLab 15.5 and is a PREMIUM feature.
https://docs.gitlab.com/ee/api/projects.html#get-a-projects-pull-mirror-details
|
|
|
|
|
|
|
|
|
|
|
|
| |
Example::
gitlab project update --id 616 --mr-default-target-self 1
References:
* https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58093
* https://gitlab.com/gitlab-org/gitlab/-/blob/v13.11.0-ee/doc/user/project/merge_requests/creating_merge_requests.md#new-merge-request-from-a-fork
* https://gitlab.com/gitlab-org/gitlab/-/blob/v14.7.0-ee/doc/api/projects.md#get-single-project
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Previously `_repr_attr` was `path` but that only gives the basename of
the path. So https://gitlab.com/gitlab-org/gitlab would only show
"gitlab". Using `path_with_namespace` it will now show
"gitlab-org/gitlab"
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Boolean. Enable or disable merge pipelines.
See:
https://docs.gitlab.com/ee/api/projects.html#edit-project
https://docs.gitlab.com/ee/ci/pipelines/merged_results_pipelines.html
|
| |
|
| |
|
|
|
|
|
|
| |
Add support for validating a project's CI configuration [1]
[1] https://docs.gitlab.com/ee/api/lint.html
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
Enable the pylint "unused-argument" check and resolve issues it found.
* Quite a few functions were accepting `**kwargs` but not then
passing them on through to the next level. Now pass `**kwargs` to
next level.
* Other functions had no reason to accept `**kwargs`, so remove it
* And a few other fixes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Commit f0152dc3cc9a42aa4dc3c0014b4c29381e9b39d6 removed situation
where `get()` in a `GetWithoutIdMixin` based class could return `None`
Update the type-hints to no longer return `Optional` AKA `None`
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change the repr from:
$ gitlab.projects.get(id=some_id)
<Project id:some_id>
To:
$ gitlab.projects.get(id=some_id)
<Project id:some_id name_with_namespace:"group_name / project_name">
This is especially useful when working on random projects or listing of
projects since users generally don't remember projects ids.
|
|
|
|
|
|
|
| |
Create a custom `warnings.warn` wrapper that will walk the stack trace
to find the first frame outside of the `gitlab/` path to print the
warning against. This will make it easier for users to find where in
their code the error is generated from
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Create a new ArrayAttribute class. This is to indicate types which are
sent to the GitLab server as arrays
https://docs.gitlab.com/ee/api/#array
At this stage it is identical to the CommaSeparatedListAttribute class
but will be used later to support the array types sent to GitLab.
This is the second step in a series of steps of our goal to add full
support for the GitLab API data types[1]:
* array
* hash
* array of hashes
Step one was: commit 5127b1594c00c7364e9af15e42d2e2f2d909449b
[1] https://docs.gitlab.com/ee/api/#encoding-api-parameters-of-array-and-hash-types
Related: #1698
|
|
|
|
|
|
|
|
|
|
|
| |
This name more accurately describes what the type is. Also this is the
first step in a series of steps of our goal to add full support for
the GitLab API data types[1]:
* array
* hash
* array of hashes
[1] https://docs.gitlab.com/ee/api/#encoding-api-parameters-of-array-and-hash-types
|
|\
| |
| | |
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>
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
There is an optional `squash_option` parameter which can be used when
creating Projects and UserProjects.
Closes #1744
|
|
|
|
|
|
| |
Initial pylint check is added. A LONG list of disabled checks is also
added. In the future we should work through the list and resolve the
errors or disable them on a more granular level.
|
| |
|
| |
|
|
|
|
|
|
| |
Add support for `projects.groups.list()` endpoint.
Closes #1717
|
| |
|
| |
|
|
|
|
| |
Add support for merge trains
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are small typos in:
- docs/gl_objects/deploy_tokens.rst
- gitlab/base.py
- gitlab/mixins.py
- gitlab/v4/objects/features.py
- gitlab/v4/objects/groups.py
- gitlab/v4/objects/packages.py
- gitlab/v4/objects/projects.py
- gitlab/v4/objects/sidekiq.py
- gitlab/v4/objects/todos.py
Fixes:
- Should read `treatment` rather than `reatment`.
- Should read `transferred` rather than `transfered`.
- Should read `registered` rather than `registred`.
- Should read `occurred` rather than `occured`.
- Should read `overridden` rather than `overriden`.
- Should read `marked` rather than `maked`.
- Should read `instantiate` rather than `instanciate`.
- Should read `function` rather than `fonction`.
|
|
|
|
|
| |
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
|