python-gitlab 4.9.0__tar.gz → 4.10.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/CHANGELOG.md +60 -0
  2. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/PKG-INFO +1 -1
  3. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/faq.rst +1 -1
  4. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/groups.rst +8 -4
  5. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/projects.rst +7 -3
  6. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/_version.py +1 -1
  7. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/exceptions.py +5 -0
  8. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/hooks.py +29 -0
  9. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/python_gitlab.egg-info/PKG-INFO +1 -1
  10. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/requirements-docs.txt +3 -3
  11. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/requirements-lint.txt +4 -4
  12. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/requirements-test.txt +1 -1
  13. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/test_cli_projects.py +1 -1
  14. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/fixtures/.env +1 -1
  15. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_hooks.py +64 -0
  16. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/AUTHORS +0 -0
  17. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/COPYING +0 -0
  18. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/MANIFEST.in +0 -0
  19. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/README.rst +0 -0
  20. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/Makefile +0 -0
  21. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/__init__.py +0 -0
  22. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/_static/js/gitter.js +0 -0
  23. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/api/gitlab.rst +0 -0
  24. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/api/gitlab.v4.rst +0 -0
  25. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/api-levels.rst +0 -0
  26. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/api-objects.rst +0 -0
  27. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/api-usage-advanced.rst +0 -0
  28. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/api-usage.rst +0 -0
  29. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/changelog.md +0 -0
  30. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/cli-examples.rst +0 -0
  31. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/cli-objects.rst +0 -0
  32. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/cli-usage.rst +0 -0
  33. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/conf.py +0 -0
  34. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/ext/__init__.py +0 -0
  35. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/ext/docstrings.py +0 -0
  36. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/ext/manager_tmpl.j2 +0 -0
  37. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/access_requests.rst +0 -0
  38. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/appearance.rst +0 -0
  39. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/applications.rst +0 -0
  40. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/badges.rst +0 -0
  41. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/boards.rst +0 -0
  42. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/branches.rst +0 -0
  43. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/bulk_imports.rst +0 -0
  44. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/ci_lint.rst +0 -0
  45. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/cluster_agents.rst +0 -0
  46. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/clusters.rst +0 -0
  47. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/commits.rst +0 -0
  48. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/deploy_keys.rst +0 -0
  49. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/deploy_tokens.rst +0 -0
  50. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/deployments.rst +0 -0
  51. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/discussions.rst +0 -0
  52. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/draft_notes.rst +0 -0
  53. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/emojis.rst +0 -0
  54. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/environments.rst +0 -0
  55. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/epics.rst +0 -0
  56. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/events.rst +0 -0
  57. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/features.rst +0 -0
  58. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/geo_nodes.rst +0 -0
  59. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/group_access_tokens.rst +0 -0
  60. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/invitations.rst +0 -0
  61. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/issues.rst +0 -0
  62. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/iterations.rst +0 -0
  63. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/job_token_scope.rst +0 -0
  64. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/keys.rst +0 -0
  65. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/labels.rst +0 -0
  66. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/merge_request_approvals.rst +0 -0
  67. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/merge_requests.rst +0 -0
  68. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/merge_trains.rst +0 -0
  69. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/messages.rst +0 -0
  70. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/milestones.rst +0 -0
  71. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/namespaces.rst +0 -0
  72. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/notes.rst +0 -0
  73. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/notifications.rst +0 -0
  74. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/packages.rst +0 -0
  75. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/pagesdomains.rst +0 -0
  76. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/personal_access_tokens.rst +0 -0
  77. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/pipelines_and_jobs.rst +0 -0
  78. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/project_access_tokens.rst +0 -0
  79. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/protected_branches.rst +0 -0
  80. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/protected_container_repositories.rst +0 -0
  81. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/protected_environments.rst +0 -0
  82. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/protected_packages.rst +0 -0
  83. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/releases.rst +0 -0
  84. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/remote_mirrors.rst +0 -0
  85. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/repositories.rst +0 -0
  86. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/repository_tags.rst +0 -0
  87. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/resource_groups.rst +0 -0
  88. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/runners.rst +0 -0
  89. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/search.rst +0 -0
  90. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/secure_files.rst +0 -0
  91. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/settings.rst +0 -0
  92. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/sidekiq.rst +0 -0
  93. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/snippets.rst +0 -0
  94. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/statistics.rst +0 -0
  95. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/system_hooks.rst +0 -0
  96. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/templates.rst +0 -0
  97. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/todos.rst +0 -0
  98. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/topics.rst +0 -0
  99. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/users.rst +0 -0
  100. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/variables.rst +0 -0
  101. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/gl_objects/wikis.rst +0 -0
  102. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/index.rst +0 -0
  103. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/make.bat +0 -0
  104. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/docs/release-notes.rst +0 -0
  105. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/__init__.py +0 -0
  106. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/__main__.py +0 -0
  107. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/_backends/__init__.py +0 -0
  108. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/_backends/protocol.py +0 -0
  109. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/_backends/requests_backend.py +0 -0
  110. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/base.py +0 -0
  111. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/cli.py +0 -0
  112. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/client.py +0 -0
  113. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/config.py +0 -0
  114. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/const.py +0 -0
  115. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/mixins.py +0 -0
  116. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/py.typed +0 -0
  117. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/types.py +0 -0
  118. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/utils.py +0 -0
  119. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/__init__.py +0 -0
  120. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/cli.py +0 -0
  121. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/__init__.py +0 -0
  122. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/access_requests.py +0 -0
  123. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/appearance.py +0 -0
  124. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/applications.py +0 -0
  125. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/artifacts.py +0 -0
  126. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/audit_events.py +0 -0
  127. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/award_emojis.py +0 -0
  128. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/badges.py +0 -0
  129. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/boards.py +0 -0
  130. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/branches.py +0 -0
  131. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/broadcast_messages.py +0 -0
  132. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/bulk_imports.py +0 -0
  133. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/ci_lint.py +0 -0
  134. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/cluster_agents.py +0 -0
  135. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/clusters.py +0 -0
  136. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/commits.py +0 -0
  137. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/container_registry.py +0 -0
  138. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/custom_attributes.py +0 -0
  139. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/deploy_keys.py +0 -0
  140. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/deploy_tokens.py +0 -0
  141. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/deployments.py +0 -0
  142. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/discussions.py +0 -0
  143. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/draft_notes.py +0 -0
  144. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/environments.py +0 -0
  145. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/epics.py +0 -0
  146. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/events.py +0 -0
  147. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/export_import.py +0 -0
  148. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/features.py +0 -0
  149. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/files.py +0 -0
  150. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/geo_nodes.py +0 -0
  151. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/group_access_tokens.py +0 -0
  152. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/groups.py +0 -0
  153. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/integrations.py +0 -0
  154. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/invitations.py +0 -0
  155. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/issues.py +0 -0
  156. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/iterations.py +0 -0
  157. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/job_token_scope.py +0 -0
  158. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/jobs.py +0 -0
  159. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/keys.py +0 -0
  160. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/labels.py +0 -0
  161. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/ldap.py +0 -0
  162. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/members.py +0 -0
  163. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/merge_request_approvals.py +0 -0
  164. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/merge_requests.py +0 -0
  165. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/merge_trains.py +0 -0
  166. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/milestones.py +0 -0
  167. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/namespaces.py +0 -0
  168. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/notes.py +0 -0
  169. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/notification_settings.py +0 -0
  170. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/package_protection_rules.py +0 -0
  171. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/packages.py +0 -0
  172. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/pages.py +0 -0
  173. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/personal_access_tokens.py +0 -0
  174. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/pipelines.py +0 -0
  175. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/project_access_tokens.py +0 -0
  176. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/projects.py +0 -0
  177. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/push_rules.py +0 -0
  178. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/registry_protection_rules.py +0 -0
  179. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/releases.py +0 -0
  180. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/repositories.py +0 -0
  181. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/resource_groups.py +0 -0
  182. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/reviewers.py +0 -0
  183. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/runners.py +0 -0
  184. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/secure_files.py +0 -0
  185. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/service_accounts.py +0 -0
  186. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/settings.py +0 -0
  187. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/sidekiq.py +0 -0
  188. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/snippets.py +0 -0
  189. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/statistics.py +0 -0
  190. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/tags.py +0 -0
  191. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/templates.py +0 -0
  192. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/todos.py +0 -0
  193. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/topics.py +0 -0
  194. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/triggers.py +0 -0
  195. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/users.py +0 -0
  196. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/variables.py +0 -0
  197. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/gitlab/v4/objects/wikis.py +0 -0
  198. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/pyproject.toml +0 -0
  199. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/python_gitlab.egg-info/SOURCES.txt +0 -0
  200. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/python_gitlab.egg-info/dependency_links.txt +0 -0
  201. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/python_gitlab.egg-info/entry_points.txt +0 -0
  202. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/python_gitlab.egg-info/requires.txt +0 -0
  203. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/python_gitlab.egg-info/top_level.txt +0 -0
  204. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/requirements-docker.txt +0 -0
  205. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/requirements-precommit.txt +0 -0
  206. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/requirements.txt +0 -0
  207. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/setup.cfg +0 -0
  208. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/__init__.py +0 -0
  209. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/conftest.py +0 -0
  210. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/__init__.py +0 -0
  211. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/__init__.py +0 -0
  212. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_boards.py +0 -0
  213. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_branches.py +0 -0
  214. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_bulk_imports.py +0 -0
  215. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_current_user.py +0 -0
  216. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_deploy_keys.py +0 -0
  217. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_deploy_tokens.py +0 -0
  218. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_epics.py +0 -0
  219. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_gitlab.py +0 -0
  220. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_groups.py +0 -0
  221. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_import_export.py +0 -0
  222. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_issues.py +0 -0
  223. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_keys.py +0 -0
  224. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_lazy_objects.py +0 -0
  225. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_merge_requests.py +0 -0
  226. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_packages.py +0 -0
  227. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_project_job_token_scope.py +0 -0
  228. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_projects.py +0 -0
  229. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_push_rules.py +0 -0
  230. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_registry.py +0 -0
  231. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_releases.py +0 -0
  232. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_repository.py +0 -0
  233. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_services.py +0 -0
  234. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_snippets.py +0 -0
  235. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_statistics.py +0 -0
  236. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_topics.py +0 -0
  237. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_users.py +0 -0
  238. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_variables.py +0 -0
  239. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/api/test_wikis.py +0 -0
  240. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/__init__.py +0 -0
  241. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/conftest.py +0 -0
  242. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/test_cli.py +0 -0
  243. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/test_cli_artifacts.py +0 -0
  244. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/test_cli_packages.py +0 -0
  245. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/test_cli_repository.py +0 -0
  246. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/test_cli_resource_access_tokens.py +0 -0
  247. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/test_cli_users.py +0 -0
  248. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/test_cli_v4.py +0 -0
  249. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/cli/test_cli_variables.py +0 -0
  250. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/conftest.py +0 -0
  251. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/ee-test.py +0 -0
  252. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/fixtures/__init__.py +0 -0
  253. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/fixtures/avatar.png +0 -0
  254. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/fixtures/create_license.rb +0 -0
  255. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/fixtures/docker-compose.yml +0 -0
  256. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/fixtures/docker.py +0 -0
  257. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/fixtures/invalid_auth.cfg +0 -0
  258. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/fixtures/invalid_version.cfg +0 -0
  259. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/fixtures/set_token.rb +0 -0
  260. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/functional/helpers.py +0 -0
  261. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/install/test_install.py +0 -0
  262. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/smoke/__init__.py +0 -0
  263. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/smoke/test_dists.py +0 -0
  264. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/__init__.py +0 -0
  265. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/_backends/__init__.py +0 -0
  266. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/_backends/test_requests_backend.py +0 -0
  267. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/base/test_rest_manager.py +0 -0
  268. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/base/test_rest_object.py +0 -0
  269. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/conftest.py +0 -0
  270. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/helpers.py +0 -0
  271. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/meta/__init__.py +0 -0
  272. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/meta/test_ensure_type_hints.py +0 -0
  273. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/meta/test_imports.py +0 -0
  274. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/meta/test_mro.py +0 -0
  275. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/mixins/__init__.py +0 -0
  276. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/mixins/test_meta_mixins.py +0 -0
  277. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/mixins/test_mixin_methods.py +0 -0
  278. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/mixins/test_object_mixins_attributes.py +0 -0
  279. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/__init__.py +0 -0
  280. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/conftest.py +0 -0
  281. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_appearance.py +0 -0
  282. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_applications.py +0 -0
  283. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_audit_events.py +0 -0
  284. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_badges.py +0 -0
  285. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_bridges.py +0 -0
  286. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_bulk_imports.py +0 -0
  287. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_ci_lint.py +0 -0
  288. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_cluster_agents.py +0 -0
  289. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_commits.py +0 -0
  290. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_deploy_tokens.py +0 -0
  291. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_deployments.py +0 -0
  292. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_draft_notes.py +0 -0
  293. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_environments.py +0 -0
  294. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_group_access_tokens.py +0 -0
  295. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_groups.py +0 -0
  296. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_invitations.py +0 -0
  297. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_issues.py +0 -0
  298. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_iterations.py +0 -0
  299. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_job_artifacts.py +0 -0
  300. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_job_token_scope.py +0 -0
  301. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_jobs.py +0 -0
  302. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_keys.py +0 -0
  303. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_members.py +0 -0
  304. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_merge_request_pipelines.py +0 -0
  305. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_merge_requests.py +0 -0
  306. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_merge_trains.py +0 -0
  307. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_package_protection_rules.py +0 -0
  308. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_packages.py +0 -0
  309. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_personal_access_tokens.py +0 -0
  310. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_pipeline_schedules.py +0 -0
  311. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_pipelines.py +0 -0
  312. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_project_access_tokens.py +0 -0
  313. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_project_import_export.py +0 -0
  314. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_project_merge_request_approvals.py +0 -0
  315. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_project_statistics.py +0 -0
  316. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_projects.py +0 -0
  317. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_registry_protection_rules.py +0 -0
  318. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_registry_repositories.py +0 -0
  319. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_releases.py +0 -0
  320. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_remote_mirrors.py +0 -0
  321. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_repositories.py +0 -0
  322. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_resource_groups.py +0 -0
  323. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_resource_iteration_events.py +0 -0
  324. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_resource_label_events.py +0 -0
  325. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_resource_milestone_events.py +0 -0
  326. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_resource_state_events.py +0 -0
  327. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_runners.py +0 -0
  328. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_secure_files.py +0 -0
  329. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_services.py +0 -0
  330. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_snippets.py +0 -0
  331. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_statistics.py +0 -0
  332. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_submodules.py +0 -0
  333. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_todos.py +0 -0
  334. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_topics.py +0 -0
  335. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_users.py +0 -0
  336. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/objects/test_variables.py +0 -0
  337. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/test_cli.py +0 -0
  338. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/test_config.py +0 -0
  339. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/test_exceptions.py +0 -0
  340. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/test_gitlab.py +0 -0
  341. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/test_gitlab_auth.py +0 -0
  342. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/test_gitlab_http_methods.py +0 -0
  343. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/test_types.py +0 -0
  344. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tests/unit/test_utils.py +0 -0
  345. {python_gitlab-4.9.0 → python_gitlab-4.10.0}/tox.ini +0 -0
@@ -1,5 +1,65 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v4.10.0 (2024-08-28)
4
+
5
+ ### Chore
6
+
7
+ * chore(release): track tags for renovate ([`d600444`](https://github.com/python-gitlab/python-gitlab/commit/d6004449ad5aaaf2132318a78523818996ec3e21))
8
+
9
+ * chore(deps): update python-semantic-release/upload-to-gh-release digest to 17c75b7 ([`12caaa4`](https://github.com/python-gitlab/python-gitlab/commit/12caaa496740cb15e6220511751b7a20e2d29d07))
10
+
11
+ * chore(deps): update dependency types-setuptools to v73 ([`d55c045`](https://github.com/python-gitlab/python-gitlab/commit/d55c04502bee0fb42e2ef359cde3bc1b4b510b1a))
12
+
13
+ * chore(deps): update all non-major dependencies ([`2ade0d9`](https://github.com/python-gitlab/python-gitlab/commit/2ade0d9f4922226143e2e3835a7449fde9c49d66))
14
+
15
+ * chore(deps): update gitlab/gitlab-ee docker tag to v17.3.1-ee.0 ([`3fdd130`](https://github.com/python-gitlab/python-gitlab/commit/3fdd130a8e87137e5a048d5cb78e43aa476c8f34))
16
+
17
+ * chore(deps): update all non-major dependencies ([`0578bf0`](https://github.com/python-gitlab/python-gitlab/commit/0578bf07e7903037ffef6558e914766b6cf6f545))
18
+
19
+ * chore(deps): update gitlab/gitlab-ee docker tag to v17.3.0-ee.0 ([`e5a46f5`](https://github.com/python-gitlab/python-gitlab/commit/e5a46f57de166f94e01f5230eb6ad91f319791e4))
20
+
21
+ * chore(deps): update dependency myst-parser to v4 ([`930d4a2`](https://github.com/python-gitlab/python-gitlab/commit/930d4a21b8afed833b4b2e6879606bbadaee19a1))
22
+
23
+ * chore(deps): update dependency sphinx to v8 ([`cb65ffb`](https://github.com/python-gitlab/python-gitlab/commit/cb65ffb6957bf039f35926d01f15db559e663915))
24
+
25
+ * chore(deps): update gitlab/gitlab-ee docker tag to v17.2.2-ee.0 ([`b2275f7`](https://github.com/python-gitlab/python-gitlab/commit/b2275f767dd620c6cb2c27b0470f4e8151c76550))
26
+
27
+ * chore(deps): update all non-major dependencies ([`31786a6`](https://github.com/python-gitlab/python-gitlab/commit/31786a60da4b9a10dec0eab3a0b078aa1e94d809))
28
+
29
+ ### Documentation
30
+
31
+ * docs(faq): correct the attribute fetching example
32
+
33
+ There is an example about object attributes in the FAQ. It shows how to
34
+ properly fetch all attributes of all projects, by using list() followed
35
+ by a get(id) call.
36
+
37
+ Unfortunately this example used a wrong variable name, which caused it
38
+ not to work and which could have made it slightly confusing to readers.
39
+ This commit fixes that, by changing the variable name.
40
+
41
+ Now the example uses one variable for two Python objects. As they
42
+ correspond to the same GitLab object and the intended behavior is to
43
+ obtain that very object, just with all attributes, this is fine and is
44
+ probably what readers will find most useful in this context. ([`43a16ac`](https://github.com/python-gitlab/python-gitlab/commit/43a16ac17ce78cf18e0fc10fa8229f052eed3946))
45
+
46
+ ### Feature
47
+
48
+ * feat(api): project/group hook test triggering
49
+
50
+ Add the ability to trigger tests of project and group hooks.
51
+
52
+ Fixes #2924 ([`9353f54`](https://github.com/python-gitlab/python-gitlab/commit/9353f5406d6762d09065744bfca360ccff36defe))
53
+
54
+ ### Test
55
+
56
+ * test(cli): allow up to 30 seconds for a project export
57
+
58
+ Before we allowed a maximum of around 15 seconds for the
59
+ project-export. Often times the CI was failing with this value.
60
+
61
+ Change it to a maximum of around 30 seconds. ([`bdc155b`](https://github.com/python-gitlab/python-gitlab/commit/bdc155b716ef63ef1398ee1e6f5ca67da1109c13))
62
+
3
63
  ## v4.9.0 (2024-08-06)
4
64
 
5
65
  ### Chore
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-gitlab
3
- Version: 4.9.0
3
+ Version: 4.10.0
4
4
  Summary: A python wrapper for the GitLab API
5
5
  Author-email: Gauvain Pocentek <gauvain@pocentek.net>
6
6
  Maintainer-email: John Villalovos <john@sodarock.com>, Max Wittig <max.wittig@siemens.com>, Nejc Habjan <nejc.habjan@siemens.com>, Roger Meier <r.meier@siemens.com>
@@ -58,7 +58,7 @@ To retrieve an object with all attributes, use a ``get()`` call.
58
58
 
59
59
  Example with projects::
60
60
 
61
- for projects in gl.projects.list():
61
+ for project in gl.projects.list():
62
62
  # Retrieve project object with all attributes
63
63
  project = gl.projects.get(project.id)
64
64
 
@@ -89,7 +89,7 @@ Remove a group::
89
89
  group.delete()
90
90
 
91
91
  Restore a Group marked for deletion (Premium only):::
92
-
92
+
93
93
  group.restore()
94
94
 
95
95
 
@@ -368,9 +368,9 @@ SAML group links
368
368
 
369
369
  Add a SAML group link to an existing GitLab group::
370
370
 
371
- saml_link = group.saml_group_links.create({
372
- "saml_group_name": "<your_saml_group_name>",
373
- "access_level": <chosen_access_level>
371
+ saml_link = group.saml_group_links.create({
372
+ "saml_group_name": "<your_saml_group_name>",
373
+ "access_level": <chosen_access_level>
374
374
  })
375
375
 
376
376
  List a group's SAML group links::
@@ -419,6 +419,10 @@ Update a group hook::
419
419
  hook.push_events = 0
420
420
  hook.save()
421
421
 
422
+ Test a group hook::
423
+
424
+ hook.test("push_events")
425
+
422
426
  Delete a group hook::
423
427
 
424
428
  group.hooks.delete(hook_id)
@@ -353,7 +353,7 @@ Import the project using file stored on a remote URL::
353
353
  output = gl.projects.remote_import(
354
354
  url="https://whatever.com/url/file.tar.gz",
355
355
  path="my_new_remote_project",
356
- name="My New Remote Project",
356
+ name="My New Remote Project",
357
357
  namespace="my-group",
358
358
  override_params={'visibility': 'private'},
359
359
  )
@@ -367,7 +367,7 @@ Import the project using file stored on AWS S3::
367
367
  file_key="aws-file-key",
368
368
  access_key_id="aws-access-key-id",
369
369
  secret_access_key="secret-access-key",
370
- name="My New Remote Project",
370
+ name="My New Remote Project",
371
371
  namespace="my-group",
372
372
  override_params={'visibility': 'private'},
373
373
  )
@@ -449,7 +449,7 @@ Get file details from headers, without fetching its entire content::
449
449
  print(headers["X-Gitlab-Size"])
450
450
 
451
451
  Get a raw file::
452
-
452
+
453
453
  raw_content = project.files.raw(file_path='README.rst', ref='main')
454
454
  print(raw_content)
455
455
  with open('/tmp/raw-download.txt', 'wb') as f:
@@ -689,6 +689,10 @@ Update a project hook::
689
689
  hook.push_events = 0
690
690
  hook.save()
691
691
 
692
+ Test a project hook::
693
+
694
+ hook.test("push_events")
695
+
692
696
  Delete a project hook::
693
697
 
694
698
  project.hooks.delete(hook_id)
@@ -3,4 +3,4 @@ __copyright__ = "Copyright 2013-2019 Gauvain Pocentek, 2019-2023 python-gitlab t
3
3
  __email__ = "gauvainpocentek@gmail.com"
4
4
  __license__ = "LGPL3"
5
5
  __title__ = "python-gitlab"
6
- __version__ = "4.9.0"
6
+ __version__ = "4.10.0"
@@ -316,6 +316,10 @@ class GitlabDeploymentApprovalError(GitlabOperationError):
316
316
  pass
317
317
 
318
318
 
319
+ class GitlabHookTestError(GitlabOperationError):
320
+ pass
321
+
322
+
319
323
  # For an explanation of how these type-hints work see:
320
324
  # https://mypy.readthedocs.io/en/stable/generics.html#declaring-decorators
321
325
  #
@@ -370,6 +374,7 @@ __all__ = [
370
374
  "GitlabGetError",
371
375
  "GitlabGroupTransferError",
372
376
  "GitlabHeadError",
377
+ "GitlabHookTestError",
373
378
  "GitlabHousekeepingError",
374
379
  "GitlabHttpError",
375
380
  "GitlabImportError",
@@ -1,5 +1,6 @@
1
1
  from typing import Any, cast, Union
2
2
 
3
+ from gitlab import exceptions as exc
3
4
  from gitlab.base import RESTManager, RESTObject
4
5
  from gitlab.mixins import CRUDMixin, NoUpdateMixin, ObjectDeleteMixin, SaveMixin
5
6
  from gitlab.types import RequiredOptional
@@ -31,6 +32,20 @@ class HookManager(NoUpdateMixin, RESTManager):
31
32
  class ProjectHook(SaveMixin, ObjectDeleteMixin, RESTObject):
32
33
  _repr_attr = "url"
33
34
 
35
+ @exc.on_http_error(exc.GitlabHookTestError)
36
+ def test(self, trigger: str) -> None:
37
+ """
38
+ Test a Project Hook
39
+
40
+ Args:
41
+ trigger: Type of trigger event to test
42
+
43
+ Raises:
44
+ GitlabHookTestError: If the hook test attempt failed
45
+ """
46
+ path = f"{self.manager.path}/{self.encoded_id}/test/{trigger}"
47
+ self.manager.gitlab.http_post(path)
48
+
34
49
 
35
50
  class ProjectHookManager(CRUDMixin, RESTManager):
36
51
  _path = "/projects/{project_id}/hooks"
@@ -78,6 +93,20 @@ class ProjectHookManager(CRUDMixin, RESTManager):
78
93
  class GroupHook(SaveMixin, ObjectDeleteMixin, RESTObject):
79
94
  _repr_attr = "url"
80
95
 
96
+ @exc.on_http_error(exc.GitlabHookTestError)
97
+ def test(self, trigger: str) -> None:
98
+ """
99
+ Test a Group Hook
100
+
101
+ Args:
102
+ trigger: Type of trigger event to test
103
+
104
+ Raises:
105
+ GitlabHookTestError: If the hook test attempt failed
106
+ """
107
+ path = f"{self.manager.path}/{self.encoded_id}/test/{trigger}"
108
+ self.manager.gitlab.http_post(path)
109
+
81
110
 
82
111
  class GroupHookManager(CRUDMixin, RESTManager):
83
112
  _path = "/groups/{group_id}/hooks"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-gitlab
3
- Version: 4.9.0
3
+ Version: 4.10.0
4
4
  Summary: A python wrapper for the GitLab API
5
5
  Author-email: Gauvain Pocentek <gauvain@pocentek.net>
6
6
  Maintainer-email: John Villalovos <john@sodarock.com>, Max Wittig <max.wittig@siemens.com>, Nejc Habjan <nejc.habjan@siemens.com>, Roger Meier <r.meier@siemens.com>
@@ -1,6 +1,6 @@
1
1
  -r requirements.txt
2
- furo==2024.7.18
2
+ furo==2024.8.6
3
3
  jinja2==3.1.4
4
- myst-parser==3.0.1
5
- sphinx==7.4.7
4
+ myst-parser==4.0.0
5
+ sphinx==8.0.2
6
6
  sphinxcontrib-autoprogram==0.1.9
@@ -1,13 +1,13 @@
1
1
  -r requirements.txt
2
2
  argcomplete==2.0.0
3
3
  black==24.8.0
4
- commitizen==3.28.0
4
+ commitizen==3.29.0
5
5
  flake8==7.1.1
6
6
  isort==5.13.2
7
- mypy==1.11.1
7
+ mypy==1.11.2
8
8
  pylint==3.2.6
9
9
  pytest==8.3.2
10
10
  responses==0.25.3
11
- types-PyYAML==6.0.12.20240724
11
+ types-PyYAML==6.0.12.20240808
12
12
  types-requests==2.32.0.20240712
13
- types-setuptools==71.1.0.20240726
13
+ types-setuptools==73.0.0.20240822
@@ -5,6 +5,6 @@ pytest-console-scripts==1.4.1
5
5
  pytest-cov==5.0.0
6
6
  pytest-github-actions-annotate-failures==0.2.0
7
7
  pytest==8.3.2
8
- PyYaml==6.0.1
8
+ PyYaml==6.0.2
9
9
  responses==0.25.3
10
10
  wheel==0.44.0
@@ -40,7 +40,7 @@ def project_export(project):
40
40
  time.sleep(0.5)
41
41
  export.refresh()
42
42
  count += 1
43
- if count == 30:
43
+ if count >= 60:
44
44
  raise Exception("Project export taking too much time")
45
45
 
46
46
  return export
@@ -1,2 +1,2 @@
1
1
  GITLAB_IMAGE=gitlab/gitlab-ee
2
- GITLAB_TAG=17.2.1-ee.0
2
+ GITLAB_TAG=17.3.1-ee.0
@@ -9,6 +9,7 @@ import re
9
9
  import pytest
10
10
  import responses
11
11
 
12
+ import gitlab
12
13
  from gitlab.v4.objects import GroupHook, Hook, ProjectHook
13
14
 
14
15
  hooks_content = [
@@ -89,6 +90,58 @@ def resp_hook_update():
89
90
  yield rsps
90
91
 
91
92
 
93
+ @pytest.fixture
94
+ def resp_hook_test():
95
+ with responses.RequestsMock() as rsps:
96
+ hook_pattern = re.compile(
97
+ r"http://localhost/api/v4/((groups|projects)/1/|)hooks/1"
98
+ )
99
+ test_pattern = re.compile(
100
+ r"http://localhost/api/v4/((groups|projects)/1/|)hooks/1/test/[a-z_]+"
101
+ )
102
+ rsps.add(
103
+ method=responses.GET,
104
+ url=hook_pattern,
105
+ json=hook_content,
106
+ content_type="application/json",
107
+ status=200,
108
+ )
109
+ rsps.add(
110
+ method=responses.POST,
111
+ url=test_pattern,
112
+ json={"message": "201 Created"},
113
+ content_type="application/json",
114
+ status=201,
115
+ )
116
+ yield rsps
117
+
118
+
119
+ @pytest.fixture
120
+ def resp_hook_test_error():
121
+ with responses.RequestsMock() as rsps:
122
+ hook_pattern = re.compile(
123
+ r"http://localhost/api/v4/((groups|projects)/1/|)hooks/1"
124
+ )
125
+ test_pattern = re.compile(
126
+ r"http://localhost/api/v4/((groups|projects)/1/|)hooks/1/test/[a-z_]+"
127
+ )
128
+ rsps.add(
129
+ method=responses.GET,
130
+ url=hook_pattern,
131
+ json=hook_content,
132
+ content_type="application/json",
133
+ status=200,
134
+ )
135
+ rsps.add(
136
+ method=responses.POST,
137
+ url=test_pattern,
138
+ json={"message": "<html>error</html>"},
139
+ content_type="application/json",
140
+ status=422,
141
+ )
142
+ yield rsps
143
+
144
+
92
145
  @pytest.fixture
93
146
  def resp_hook_delete():
94
147
  with responses.RequestsMock() as rsps:
@@ -174,6 +227,17 @@ def test_delete_group_hook(group, resp_hook_delete):
174
227
  group.hooks.delete(1)
175
228
 
176
229
 
230
+ def test_test_group_hook(group, resp_hook_test):
231
+ hook = group.hooks.get(1)
232
+ hook.test("push_events")
233
+
234
+
235
+ def test_test_error_group_hook(group, resp_hook_test_error):
236
+ hook = group.hooks.get(1)
237
+ with pytest.raises(gitlab.exceptions.GitlabHookTestError):
238
+ hook.test("push_events")
239
+
240
+
177
241
  def test_list_project_hooks(project, resp_hooks_list):
178
242
  hooks = project.hooks.list()
179
243
  assert hooks[0].id == 1
File without changes
File without changes
File without changes