summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects
Commit message (Collapse)AuthorAgeFilesLines
...
* feat: Add 'merge_pipelines_enabled' project attributeNick Brown2022-07-111-0/+2
| | | | | | | | 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
* feat: support validating CI lint resultsNejc Habjan2022-07-091-1/+33
|
* fix(cli): remove irrelevant MR approval rule list filtersNejc Habjan2022-07-091-1/+0
|
* feat(cli): add support for global CI lintNejc Habjan2022-07-052-4/+21
|
* chore(ci_lint): add create attributesNejc Habjan2022-07-051-0/+4
|
* refactor(objects): move ci lint to separate fileNejc Habjan2022-07-053-16/+24
|
* feat(objects): add Project CI Lint supportJohn L. Villalovos2022-07-041-0/+23
| | | | | | Add support for validating a project's CI configuration [1] [1] https://docs.gitlab.com/ee/api/lint.html
* feat: add support for group push rulesO'Keefe, Gerard (Gerry)2022-07-042-2/+57
| | | | | | Add the GroupPushRules and GroupPushRulesManager classes. Closes: #1259
* feat(api): add support for `get` for a MR approval ruleJohn L. Villalovos2022-06-271-4/+10
| | | | | | | | | 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
* refactor: avoid possible breaking change in iterator (#2107)John Villalovos2022-06-277-24/+58
| | | | | | | | 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.
* test(pylint): enable pylint "unused-argument" checkJohn L. Villalovos2022-06-266-13/+13
| | | | | | | | | | 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 (#1956)Tom Catshoek2022-06-267-32/+98
| | | | | | | | | | | | | | | * 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
* refactor: remove no-op id argument in GetWithoutIdMixinNejc Habjan2022-06-2510-84/+50
|
* feat(users): add approve and reject methods to UserBen Gamari2022-06-251-0/+36
| | | | | | As requested in #1604. Co-authored-by: John Villalovos <john@sodarock.com>
* feat: Add support for Protected Environmentscalve2022-06-222-1/+34
| | | | | | | | - 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
* Merge pull request #2066 from python-gitlab/jlvillal/approval_rule_idNejc Habjan2022-06-201-2/+1
|\ | | | | fix(cli): project-merge-request-approval-rule
| * fix(cli): project-merge-request-approval-ruleJohn L. Villalovos2022-06-181-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | feat(users): add ban and unban methodsAntoine Auger2022-06-131-0/+42
|/
* chore: enable pylint check: "no-else-return"John L. Villalovos2022-06-041-2/+1
| | | | Enable the pylint check "no-else-return" and fix the errors detected.
* chore: enable pylint check: "attribute-defined-outside-init"John L. Villalovos2022-06-042-0/+4
| | | | | Enable the pylint check: "attribute-defined-outside-init" and fix errors detected.
* chore: enable pylint check "raise-missing-from"John L. Villalovos2022-06-041-2/+2
| | | | Enable the pylint check "raise-missing-from" and fix errors detected.
* chore: move `utils._validate_attrs` inside `types.RequiredOptional`John L. Villalovos2022-05-313-6/+6
| | | | | | 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.
* feat: support mutually exclusive attributes and consolidate validation to ↵Walter Rowe2022-05-314-8/+12
| | | | | | | | | | | | | | | 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
* chore: move `RequiredOptional` to the `gitlab.types` moduleJohn L. Villalovos2022-05-3143-43/+86
| | | | | | 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.
* chore: update type-hints return signature for GetWithoutIdMixin methodsJohn L. Villalovos2022-05-3010-62/+46
| | | | | | | 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`
* feat(client): introduce `iterator=True` and deprecate `as_list=False` in ↵John L. Villalovos2022-05-296-25/+13
| | | | | | | | | | | `list()` `as_list=False` is confusing as it doesn't explain what is being returned. Replace it with `iterator=True` which more clearly explains to the user that an iterator/generator will be returned. This maintains backward compatibility with `as_list` but does issue a DeprecationWarning if `as_list` is set.
* feat(objects): support get project storage endpointNejc Habjan2022-05-271-0/+19
|
* feat: display human-readable attribute in `repr()` if presentNejc Habjan2022-05-0815-43/+33
|
* feat(ux): display project.name_with_namespace on project reprLaurent Peuch2022-04-291-0/+10
| | | | | | | | | | | | | | | 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.
* Merge pull request #1963 from python-gitlab/feat/deploy-token-getMax Wittig2022-04-131-3/+21
|\ | | | | feat(objects): support getting project/group deploy tokens by id
| * feat(objects): support getting project/group deploy tokens by idNejc Habjan2022-04-041-3/+21
| |
* | Merge pull request #1962 from python-gitlab/feat/user-ssh-keyMax Wittig2022-04-131-1/+4
|\ \ | | | | | | feat(user): support getting user SSH key by id
| * | feat(user): support getting user SSH key by idNejc Habjan2022-04-011-1/+4
| |/
* | fix(cli): add missing filters for project commit listNejc Habjan2022-04-041-0/+10
|/
* feat(api): re-add topic delete endpointNejc Habjan2022-04-011-3/+3
| | | | This reverts commit e3035a799a484f8d6c460f57e57d4b59217cd6de.
* feat(object): add pipeline test report summary supportkinbald2022-03-071-0/+20
|
* feat(merge_request_approvals): add support for deleting MR approval rulesNejc Habjan2022-02-131-2/+2
|
* feat(artifacts): add support for project artifacts delete APINejc Habjan2022-02-101-0/+17
|
* chore: create a custom `warnings.warn` wrapperJohn L. Villalovos2022-02-062-14/+18
| | | | | | | 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
* fix(services): use slug for id_attr instead of custom methodsNejc Habjan2022-02-031-49/+3
|
* style(objects): add spacing to docstringsNejc Habjan2022-02-011-1/+10
|
* feat(objects): add a complete artifacts managerNejc Habjan2022-02-013-81/+133
|
* fix: remove custom `delete` method for labelsJohn L. Villalovos2022-02-011-41/+7
| | | | | | | | | | | | | | The usage of deleting was incorrect according to the current API. Remove custom `delete()` method as not needed. Add tests to show it works with labels needing to be encoded. Also enable the test_group_labels() test function. Previously it was disabled. Add ability to do a `get()` for group labels. Closes: #1867
* chore: create new ArrayAttribute classJohn L. Villalovos2022-01-308-36/+24
| | | | | | | | | | | | | | | | | | | | | 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
* chore: don't explicitly pass args to super()Nejc Habjan2022-01-235-6/+6
|
* style: use literals to declare data structuresNejc Habjan2022-01-235-10/+10
|
* chore: rename `types.ListAttribute` to `types.CommaSeparatedListAttribute`John L. Villalovos2022-01-2211-35/+50
| | | | | | | | | | | 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
* fix(objects): make resource access tokens and repos available in CLINejc Habjan2022-01-221-0/+3
|
* chore: create return type-hints for `get_id()` & `encoded_id`John L. Villalovos2022-01-141-0/+2
| | | | | | 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.
* chore(groups): use encoded_id for group pathNejc Habjan2022-01-131-1/+1
|