python-gitlab 4.3.0__tar.gz → 4.5.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 (346) hide show
  1. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/CHANGELOG.md +325 -0
  2. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/PKG-INFO +18 -1
  3. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/README.rst +17 -0
  4. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/api-usage.rst +5 -0
  5. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/cli-examples.rst +6 -1
  6. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/faq.rst +20 -0
  7. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/group_access_tokens.rst +15 -1
  8. python_gitlab-4.5.0/docs/gl_objects/job_token_scope.rst +101 -0
  9. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/merge_requests.rst +4 -0
  10. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/personal_access_tokens.rst +10 -4
  11. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/project_access_tokens.rst +15 -1
  12. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/protected_branches.rst +5 -0
  13. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/_backends/protocol.py +2 -4
  14. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/_version.py +1 -1
  15. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/cli.py +23 -5
  16. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/client.py +0 -1
  17. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/exceptions.py +5 -0
  18. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/mixins.py +59 -0
  19. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/utils.py +3 -3
  20. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/cli.py +9 -0
  21. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/__init__.py +1 -0
  22. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/artifacts.py +2 -1
  23. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/audit_events.py +1 -0
  24. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/branches.py +10 -3
  25. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/deployments.py +1 -0
  26. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/features.py +1 -0
  27. python_gitlab-4.5.0/gitlab/v4/objects/group_access_tokens.py +38 -0
  28. python_gitlab-4.5.0/gitlab/v4/objects/job_token_scope.py +77 -0
  29. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/jobs.py +4 -1
  30. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/merge_request_approvals.py +4 -56
  31. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/merge_requests.py +3 -0
  32. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/personal_access_tokens.py +10 -3
  33. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/pipelines.py +2 -1
  34. python_gitlab-4.5.0/gitlab/v4/objects/project_access_tokens.py +38 -0
  35. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/projects.py +1 -0
  36. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/repositories.py +1 -0
  37. python_gitlab-4.5.0/gitlab/v4/objects/reviewers.py +17 -0
  38. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/secure_files.py +1 -0
  39. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/users.py +1 -0
  40. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/variables.py +1 -0
  41. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/python_gitlab.egg-info/PKG-INFO +18 -1
  42. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/python_gitlab.egg-info/SOURCES.txt +2 -0
  43. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/requirements-docker.txt +1 -1
  44. python_gitlab-4.5.0/requirements-docs.txt +6 -0
  45. python_gitlab-4.5.0/requirements-lint.txt +13 -0
  46. python_gitlab-4.5.0/requirements-precommit.txt +1 -0
  47. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/requirements-test.txt +6 -6
  48. python_gitlab-4.5.0/requirements.txt +3 -0
  49. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_boards.py +0 -2
  50. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_bulk_imports.py +29 -1
  51. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_current_user.py +1 -3
  52. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_deploy_keys.py +1 -1
  53. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_deploy_tokens.py +6 -6
  54. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_epics.py +0 -1
  55. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_gitlab.py +1 -3
  56. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_groups.py +4 -8
  57. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_import_export.py +9 -0
  58. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_issues.py +1 -8
  59. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_keys.py +1 -0
  60. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_lazy_objects.py +5 -2
  61. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_merge_requests.py +33 -29
  62. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_packages.py +1 -0
  63. python_gitlab-4.5.0/tests/functional/api/test_project_job_token_scope.py +116 -0
  64. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_projects.py +27 -19
  65. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_releases.py +0 -1
  66. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_repository.py +1 -3
  67. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_services.py +1 -3
  68. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_snippets.py +12 -6
  69. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_topics.py +0 -1
  70. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_users.py +32 -27
  71. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_variables.py +0 -3
  72. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/conftest.py +11 -0
  73. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/test_cli.py +16 -0
  74. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/test_cli_repository.py +15 -7
  75. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/test_cli_resource_access_tokens.py +5 -2
  76. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/test_cli_users.py +5 -0
  77. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/test_cli_v4.py +19 -39
  78. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/conftest.py +30 -48
  79. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/fixtures/.env +1 -1
  80. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/fixtures/docker.py +1 -0
  81. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/fixtures/set_token.rb +1 -1
  82. python_gitlab-4.5.0/tests/functional/helpers.py +71 -0
  83. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/smoke/test_dists.py +7 -7
  84. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/meta/test_ensure_type_hints.py +1 -0
  85. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/meta/test_imports.py +1 -0
  86. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/meta/test_mro.py +4 -6
  87. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/conftest.py +15 -0
  88. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_badges.py +1 -0
  89. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_bridges.py +1 -0
  90. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_deploy_tokens.py +1 -0
  91. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_deployments.py +1 -0
  92. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_draft_notes.py +1 -0
  93. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_environments.py +1 -0
  94. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_group_access_tokens.py +45 -27
  95. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_issues.py +1 -0
  96. python_gitlab-4.5.0/tests/unit/objects/test_job_token_scope.py +202 -0
  97. python_gitlab-4.5.0/tests/unit/objects/test_jobs.py +170 -0
  98. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_keys.py +1 -0
  99. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_members.py +1 -0
  100. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_merge_request_pipelines.py +1 -0
  101. python_gitlab-4.5.0/tests/unit/objects/test_merge_requests.py +117 -0
  102. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_merge_trains.py +1 -0
  103. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_packages.py +1 -0
  104. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_personal_access_tokens.py +22 -0
  105. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_pipeline_schedules.py +1 -0
  106. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_pipelines.py +1 -0
  107. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_project_access_tokens.py +45 -27
  108. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_project_import_export.py +1 -0
  109. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_project_merge_request_approvals.py +18 -18
  110. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_project_statistics.py +1 -0
  111. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_registry_repositories.py +1 -0
  112. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_releases.py +1 -0
  113. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_repositories.py +1 -0
  114. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_resource_groups.py +3 -2
  115. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_submodules.py +1 -0
  116. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_todos.py +1 -0
  117. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_topics.py +1 -0
  118. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_users.py +1 -0
  119. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/test_cli.py +66 -6
  120. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/test_gitlab_http_methods.py +1 -0
  121. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tox.ini +14 -3
  122. python-gitlab-4.3.0/docs/gl_objects/job_token_scope.rst +0 -51
  123. python-gitlab-4.3.0/gitlab/v4/objects/group_access_tokens.py +0 -22
  124. python-gitlab-4.3.0/gitlab/v4/objects/job_token_scope.py +0 -29
  125. python-gitlab-4.3.0/gitlab/v4/objects/project_access_tokens.py +0 -22
  126. python-gitlab-4.3.0/requirements-docs.txt +0 -6
  127. python-gitlab-4.3.0/requirements-lint.txt +0 -13
  128. python-gitlab-4.3.0/requirements-precommit.txt +0 -1
  129. python-gitlab-4.3.0/requirements.txt +0 -3
  130. python-gitlab-4.3.0/tests/functional/helpers.py +0 -55
  131. python-gitlab-4.3.0/tests/unit/objects/test_job_token_scope.py +0 -63
  132. python-gitlab-4.3.0/tests/unit/objects/test_jobs.py +0 -96
  133. python-gitlab-4.3.0/tests/unit/objects/test_merge_requests.py +0 -56
  134. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/AUTHORS +0 -0
  135. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/COPYING +0 -0
  136. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/MANIFEST.in +0 -0
  137. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/Makefile +0 -0
  138. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/__init__.py +0 -0
  139. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/_static/js/gitter.js +0 -0
  140. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/api/gitlab.rst +0 -0
  141. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/api/gitlab.v4.rst +0 -0
  142. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/api-levels.rst +0 -0
  143. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/api-objects.rst +0 -0
  144. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/api-usage-advanced.rst +0 -0
  145. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/changelog.md +0 -0
  146. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/cli-objects.rst +0 -0
  147. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/cli-usage.rst +0 -0
  148. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/conf.py +0 -0
  149. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/ext/__init__.py +0 -0
  150. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/ext/docstrings.py +0 -0
  151. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/ext/manager_tmpl.j2 +0 -0
  152. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/access_requests.rst +0 -0
  153. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/appearance.rst +0 -0
  154. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/applications.rst +0 -0
  155. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/badges.rst +0 -0
  156. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/boards.rst +0 -0
  157. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/branches.rst +0 -0
  158. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/bulk_imports.rst +0 -0
  159. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/ci_lint.rst +0 -0
  160. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/clusters.rst +0 -0
  161. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/commits.rst +0 -0
  162. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/deploy_keys.rst +0 -0
  163. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/deploy_tokens.rst +0 -0
  164. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/deployments.rst +0 -0
  165. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/discussions.rst +0 -0
  166. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/draft_notes.rst +0 -0
  167. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/emojis.rst +0 -0
  168. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/environments.rst +0 -0
  169. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/epics.rst +0 -0
  170. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/events.rst +0 -0
  171. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/features.rst +0 -0
  172. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/geo_nodes.rst +0 -0
  173. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/groups.rst +0 -0
  174. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/invitations.rst +0 -0
  175. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/issues.rst +0 -0
  176. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/iterations.rst +0 -0
  177. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/keys.rst +0 -0
  178. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/labels.rst +0 -0
  179. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/merge_request_approvals.rst +0 -0
  180. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/merge_trains.rst +0 -0
  181. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/messages.rst +0 -0
  182. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/milestones.rst +0 -0
  183. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/namespaces.rst +0 -0
  184. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/notes.rst +0 -0
  185. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/notifications.rst +0 -0
  186. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/packages.rst +0 -0
  187. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/pagesdomains.rst +0 -0
  188. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/pipelines_and_jobs.rst +0 -0
  189. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/projects.rst +0 -0
  190. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/protected_environments.rst +0 -0
  191. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/releases.rst +0 -0
  192. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/remote_mirrors.rst +0 -0
  193. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/repositories.rst +0 -0
  194. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/repository_tags.rst +0 -0
  195. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/resource_groups.rst +0 -0
  196. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/runners.rst +0 -0
  197. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/search.rst +0 -0
  198. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/secure_files.rst +0 -0
  199. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/settings.rst +0 -0
  200. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/sidekiq.rst +0 -0
  201. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/snippets.rst +0 -0
  202. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/statistics.rst +0 -0
  203. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/system_hooks.rst +0 -0
  204. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/templates.rst +0 -0
  205. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/todos.rst +0 -0
  206. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/topics.rst +0 -0
  207. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/users.rst +0 -0
  208. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/variables.rst +0 -0
  209. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/gl_objects/wikis.rst +0 -0
  210. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/index.rst +0 -0
  211. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/make.bat +0 -0
  212. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/docs/release-notes.rst +0 -0
  213. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/__init__.py +0 -0
  214. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/__main__.py +0 -0
  215. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/_backends/__init__.py +0 -0
  216. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/_backends/requests_backend.py +0 -0
  217. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/base.py +0 -0
  218. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/config.py +0 -0
  219. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/const.py +0 -0
  220. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/py.typed +0 -0
  221. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/types.py +0 -0
  222. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/__init__.py +0 -0
  223. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/access_requests.py +0 -0
  224. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/appearance.py +0 -0
  225. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/applications.py +0 -0
  226. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/award_emojis.py +0 -0
  227. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/badges.py +0 -0
  228. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/boards.py +0 -0
  229. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/broadcast_messages.py +0 -0
  230. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/bulk_imports.py +0 -0
  231. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/ci_lint.py +0 -0
  232. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/clusters.py +0 -0
  233. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/commits.py +0 -0
  234. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/container_registry.py +0 -0
  235. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/custom_attributes.py +0 -0
  236. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/deploy_keys.py +0 -0
  237. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/deploy_tokens.py +0 -0
  238. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/discussions.py +0 -0
  239. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/draft_notes.py +0 -0
  240. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/environments.py +0 -0
  241. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/epics.py +0 -0
  242. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/events.py +0 -0
  243. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/export_import.py +0 -0
  244. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/files.py +0 -0
  245. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/geo_nodes.py +0 -0
  246. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/groups.py +0 -0
  247. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/hooks.py +0 -0
  248. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/integrations.py +0 -0
  249. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/invitations.py +0 -0
  250. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/issues.py +0 -0
  251. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/iterations.py +0 -0
  252. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/keys.py +0 -0
  253. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/labels.py +0 -0
  254. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/ldap.py +0 -0
  255. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/members.py +0 -0
  256. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/merge_trains.py +0 -0
  257. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/milestones.py +0 -0
  258. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/namespaces.py +0 -0
  259. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/notes.py +0 -0
  260. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/notification_settings.py +0 -0
  261. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/packages.py +0 -0
  262. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/pages.py +0 -0
  263. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/push_rules.py +0 -0
  264. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/releases.py +0 -0
  265. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/resource_groups.py +0 -0
  266. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/runners.py +0 -0
  267. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/settings.py +0 -0
  268. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/sidekiq.py +0 -0
  269. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/snippets.py +0 -0
  270. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/statistics.py +0 -0
  271. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/tags.py +0 -0
  272. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/templates.py +0 -0
  273. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/todos.py +0 -0
  274. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/topics.py +0 -0
  275. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/triggers.py +0 -0
  276. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/gitlab/v4/objects/wikis.py +0 -0
  277. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/pyproject.toml +0 -0
  278. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/python_gitlab.egg-info/dependency_links.txt +0 -0
  279. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/python_gitlab.egg-info/entry_points.txt +0 -0
  280. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/python_gitlab.egg-info/requires.txt +0 -0
  281. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/python_gitlab.egg-info/top_level.txt +0 -0
  282. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/setup.cfg +0 -0
  283. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/__init__.py +0 -0
  284. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/conftest.py +0 -0
  285. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/__init__.py +0 -0
  286. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/__init__.py +0 -0
  287. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_branches.py +0 -0
  288. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_push_rules.py +0 -0
  289. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_statistics.py +0 -0
  290. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/api/test_wikis.py +0 -0
  291. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/__init__.py +0 -0
  292. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/test_cli_artifacts.py +0 -0
  293. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/test_cli_packages.py +0 -0
  294. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/test_cli_projects.py +0 -0
  295. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/cli/test_cli_variables.py +0 -0
  296. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/ee-test.py +0 -0
  297. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/fixtures/__init__.py +0 -0
  298. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/fixtures/avatar.png +0 -0
  299. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/fixtures/create_license.rb +0 -0
  300. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/fixtures/docker-compose.yml +0 -0
  301. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/fixtures/invalid_auth.cfg +0 -0
  302. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/functional/fixtures/invalid_version.cfg +0 -0
  303. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/install/test_install.py +0 -0
  304. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/smoke/__init__.py +0 -0
  305. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/__init__.py +0 -0
  306. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/_backends/__init__.py +0 -0
  307. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/_backends/test_requests_backend.py +0 -0
  308. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/base/test_rest_manager.py +0 -0
  309. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/base/test_rest_object.py +0 -0
  310. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/conftest.py +0 -0
  311. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/helpers.py +0 -0
  312. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/meta/__init__.py +0 -0
  313. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/mixins/__init__.py +0 -0
  314. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/mixins/test_meta_mixins.py +0 -0
  315. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/mixins/test_mixin_methods.py +0 -0
  316. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/mixins/test_object_mixins_attributes.py +0 -0
  317. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/__init__.py +0 -0
  318. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_appearance.py +0 -0
  319. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_applications.py +0 -0
  320. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_audit_events.py +0 -0
  321. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_bulk_imports.py +0 -0
  322. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_ci_lint.py +0 -0
  323. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_commits.py +0 -0
  324. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_groups.py +0 -0
  325. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_hooks.py +0 -0
  326. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_invitations.py +0 -0
  327. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_iterations.py +0 -0
  328. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_job_artifacts.py +0 -0
  329. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_projects.py +0 -0
  330. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_remote_mirrors.py +0 -0
  331. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_resource_iteration_events.py +0 -0
  332. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_resource_label_events.py +0 -0
  333. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_resource_milestone_events.py +0 -0
  334. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_resource_state_events.py +0 -0
  335. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_runners.py +0 -0
  336. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_secure_files.py +0 -0
  337. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_services.py +0 -0
  338. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_snippets.py +0 -0
  339. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_statistics.py +0 -0
  340. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/objects/test_variables.py +0 -0
  341. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/test_config.py +0 -0
  342. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/test_exceptions.py +0 -0
  343. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/test_gitlab.py +0 -0
  344. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/test_gitlab_auth.py +0 -0
  345. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/test_types.py +0 -0
  346. {python-gitlab-4.3.0 → python_gitlab-4.5.0}/tests/unit/test_utils.py +0 -0
@@ -2,6 +2,331 @@
2
2
 
3
3
 
4
4
 
5
+ ## v4.5.0 (2024-05-13)
6
+
7
+ ### Build
8
+
9
+ * build: Add "--no-cache-dir" to pip commands in Dockerfile
10
+
11
+ This would not leave cache files in the built docker image.
12
+
13
+ Additionally, also only build the wheel in the build phase.
14
+
15
+ On my machine, before this PR, size is 74845395; after this PR, size is
16
+ 72617713. ([`4ef94c8`](https://github.com/python-gitlab/python-gitlab/commit/4ef94c8260e958873bb626e86d3241daa22f7ce6))
17
+
18
+ ### Chore
19
+
20
+ * chore(deps): update all non-major dependencies ([`4f338ae`](https://github.com/python-gitlab/python-gitlab/commit/4f338aed9c583a20ff5944e6ccbba5737c18b0f4))
21
+
22
+ * chore(deps): update gitlab/gitlab-ee docker tag to v16.11.2-ee.0 ([`9be48f0`](https://github.com/python-gitlab/python-gitlab/commit/9be48f0bcc2d32b5e8489f62f963389d5d54b2f2))
23
+
24
+ * chore(deps): update dependency myst-parser to v3 ([`9289189`](https://github.com/python-gitlab/python-gitlab/commit/92891890eb4730bc240213a212d392bcb869b800))
25
+
26
+ * chore(deps): update all non-major dependencies ([`65d0e65`](https://github.com/python-gitlab/python-gitlab/commit/65d0e6520dcbcf5a708a87960c65fdcaf7e44bf3))
27
+
28
+ * chore(deps): update dependency jinja2 to v3.1.4 [security] ([`8ea10c3`](https://github.com/python-gitlab/python-gitlab/commit/8ea10c360175453c721ad8e27386e642c2b68d88))
29
+
30
+ * chore(deps): update all non-major dependencies ([`1f0343c`](https://github.com/python-gitlab/python-gitlab/commit/1f0343c1154ca8ae5b1f61de1db2343a2ad652ec))
31
+
32
+ * chore(deps): update gitlab/gitlab-ee docker tag to v16.11.1-ee.0 ([`1ed8d6c`](https://github.com/python-gitlab/python-gitlab/commit/1ed8d6c21d3463b2ad09eb553871042e98090ffd))
33
+
34
+ * chore(deps): update all non-major dependencies ([`0e9f4da`](https://github.com/python-gitlab/python-gitlab/commit/0e9f4da30cea507fcf83746008d9de2ee5a3bb9d))
35
+
36
+ * chore(deps): update gitlab/gitlab-ee docker tag to v16 ([`ea8c4c2`](https://github.com/python-gitlab/python-gitlab/commit/ea8c4c2bc9f17f510415a697e0fb19cabff4135e))
37
+
38
+ * chore(deps): update all non-major dependencies ([`d5b5fb0`](https://github.com/python-gitlab/python-gitlab/commit/d5b5fb00d8947ed9733cbb5a273e2866aecf33bf))
39
+
40
+ * chore(deps): update dependency pytest-cov to v5 ([`db32000`](https://github.com/python-gitlab/python-gitlab/commit/db3200089ea83588ea7ad8bd5a7175d81f580630))
41
+
42
+ * chore: update `mypy` to 1.9.0 and resolve one issue
43
+
44
+ mypy 1.9.0 flagged one issue in the code. Resolve the issue. Current
45
+ unit tests already check that a `None` value returns `text/plain`. So
46
+ function is still working as expected. ([`dd00bfc`](https://github.com/python-gitlab/python-gitlab/commit/dd00bfc9c832aba0ed377573fe2e9120b296548d))
47
+
48
+ * chore(deps): update dependency black to v24.3.0 [security] ([`f6e8692`](https://github.com/python-gitlab/python-gitlab/commit/f6e8692cfc84b5af2eb6deec4ae1c4935b42e91c))
49
+
50
+ * chore(deps): update all non-major dependencies ([`14a3ffe`](https://github.com/python-gitlab/python-gitlab/commit/14a3ffe4cc161be51a39c204350b5cd45c602335))
51
+
52
+ * chore(deps): update all non-major dependencies ([`3c4dcca`](https://github.com/python-gitlab/python-gitlab/commit/3c4dccaf51695334a5057b85d5ff4045739d1ad1))
53
+
54
+ * chore(deps): update all non-major dependencies ([`04c569a`](https://github.com/python-gitlab/python-gitlab/commit/04c569a2130d053e35c1f2520ef8bab09f2f9651))
55
+
56
+ * chore: add tox `labels` to enable running groups of environments
57
+
58
+ tox now has a feature of `labels` which allows running groups of
59
+ environments using the command `tox -m LABEL_NAME`. For example
60
+ `tox -m lint` which has been setup to run the linters.
61
+
62
+ Bumped the minimum required version of tox to be 4.0, which was
63
+ released over a year ago. ([`d7235c7`](https://github.com/python-gitlab/python-gitlab/commit/d7235c74f8605f4abfb11eb257246864c7dcf709))
64
+
65
+ * chore: add py312 & py313 to tox environment list
66
+
67
+ Even though there isn't a Python 3.13 at this time, this is done for
68
+ the future. tox is already configured to just warn about missing
69
+ Python versions, but not fail if they don't exist. ([`679ddc7`](https://github.com/python-gitlab/python-gitlab/commit/679ddc7587d2add676fd2398cb9673bd1ca272e3))
70
+
71
+ * chore(deps): update python-semantic-release/python-semantic-release action to v9 ([`e11d889`](https://github.com/python-gitlab/python-gitlab/commit/e11d889cd19ec1555b2bbee15355a8cdfad61d5f))
72
+
73
+ * chore(deps): update all non-major dependencies ([`3c4b27e`](https://github.com/python-gitlab/python-gitlab/commit/3c4b27e64f4b51746b866f240a1291c2637355cc))
74
+
75
+ * chore(deps): update dependency furo to v2024 ([`f6fd02d`](https://github.com/python-gitlab/python-gitlab/commit/f6fd02d956529e2c4bce261fe7b3da1442aaea12))
76
+
77
+ * chore(deps): update dependency pytest to v8 ([`253babb`](https://github.com/python-gitlab/python-gitlab/commit/253babb9a7f8a7d469440fcfe1b2741ddcd8475e))
78
+
79
+ * chore(deps): update dependency pytest-docker to v3 ([`35d2aec`](https://github.com/python-gitlab/python-gitlab/commit/35d2aec04532919d6dd7b7090bc4d5209eddd10d))
80
+
81
+ * chore: update version of `black` for `pre-commit`
82
+
83
+ The version of `black` needs to be updated to be in sync with what is
84
+ in `requirements-lint.txt` ([`3501716`](https://github.com/python-gitlab/python-gitlab/commit/35017167a80809a49351f9e95916fafe61c7bfd5))
85
+
86
+ * chore(deps): update all non-major dependencies ([`7dc2fa6`](https://github.com/python-gitlab/python-gitlab/commit/7dc2fa6e632ed2c9adeb6ed32c4899ec155f6622))
87
+
88
+ * chore(deps): update codecov/codecov-action action to v4 ([`d2be1f7`](https://github.com/python-gitlab/python-gitlab/commit/d2be1f7608acadcc2682afd82d16d3706b7f7461))
89
+
90
+ * chore: adapt style for black v24 ([`4e68d32`](https://github.com/python-gitlab/python-gitlab/commit/4e68d32c77ed587ab42d229d9f44c3bc40d1d0e5))
91
+
92
+ * chore(deps): update dependency black to v24 ([`f59aee3`](https://github.com/python-gitlab/python-gitlab/commit/f59aee3ddcfaeeb29fcfab4cc6768dff6b5558cb))
93
+
94
+ * chore(deps): update all non-major dependencies ([`48726fd`](https://github.com/python-gitlab/python-gitlab/commit/48726fde9b3c2424310ff590b366b9fdefa4a146))
95
+
96
+ ### Documentation
97
+
98
+ * docs: add FAQ about conflicting parameters
99
+
100
+ We have received multiple issues lately about this. Add it to the FAQ. ([`683ce72`](https://github.com/python-gitlab/python-gitlab/commit/683ce723352cc09e1a4b65db28be981ae6bb9f71))
101
+
102
+ * docs(README): tweak GitLab CI usage docs ([`d9aaa99`](https://github.com/python-gitlab/python-gitlab/commit/d9aaa994568ad4896a1e8a0533ef0d1d2ba06bfa))
103
+
104
+ * docs: how to run smoke tests
105
+
106
+ Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`2d1f487`](https://github.com/python-gitlab/python-gitlab/commit/2d1f4872390df10174f865f7a935bc73f7865fec))
107
+
108
+ * docs(objects): minor rst formatting typo
109
+
110
+ To correctly format a code block have to use `::` ([`57dfd17`](https://github.com/python-gitlab/python-gitlab/commit/57dfd1769b4e22b43dc0936aa3600cd7e78ba289))
111
+
112
+ * docs: correct rotate token example
113
+
114
+ Rotate token returns a dict. Change example to print the entire dict.
115
+
116
+ Closes: #2836 ([`c53e695`](https://github.com/python-gitlab/python-gitlab/commit/c53e6954f097ed10d52b40660d2fba73c2e0e300))
117
+
118
+ * docs: Note how to use the Docker image from within GitLab CI
119
+
120
+ Ref: #2823 ([`6d4bffb`](https://github.com/python-gitlab/python-gitlab/commit/6d4bffb5aaa676d32fc892ef1ac002973bc040cb))
121
+
122
+ * docs(artifacts): Fix argument indentation ([`c631eeb`](https://github.com/python-gitlab/python-gitlab/commit/c631eeb55556920f5975b1fa2b1a0354478ce3c0))
123
+
124
+ ### Feature
125
+
126
+ * feat(job_token_scope): support Groups in job token allowlist API (#2816)
127
+
128
+ * feat(job_token_scope): support job token access allowlist API
129
+
130
+ Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk>
131
+ l.dwp.gov.uk>
132
+ Co-authored-by: Nejc Habjan <nejc.habjan@siemens.com> ([`2d1b749`](https://github.com/python-gitlab/python-gitlab/commit/2d1b7499a93db2c9600b383e166f7463a5f22085))
133
+
134
+ * feat(cli): allow skipping initial auth calls ([`001e596`](https://github.com/python-gitlab/python-gitlab/commit/001e59675f4a417a869f813d79c298a14268b87d))
135
+
136
+ * feat(api): allow updating protected branches (#2771)
137
+
138
+ * feat(api): allow updating protected branches
139
+
140
+ Closes #2390 ([`a867c48`](https://github.com/python-gitlab/python-gitlab/commit/a867c48baa6f10ffbfb785e624a6e3888a859571))
141
+
142
+ ### Fix
143
+
144
+ * fix: Consider `scope` an ArrayAttribute in PipelineJobManager
145
+
146
+ List query params like 'scope' were not being handled correctly for
147
+ pipeline/jobs endpoint.
148
+ This change ensures multiple values are appended with '[]', resulting in
149
+ the correct URL structure.
150
+
151
+ Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>
152
+
153
+ ---
154
+
155
+ Background:
156
+ If one queries for pipeline jobs with `scope=["failed", "success"]`
157
+
158
+ One gets:
159
+ GET /api/v4/projects/176/pipelines/1113028/jobs?scope=success&scope=failed
160
+
161
+ But it is supposed to get:
162
+ GET /api/v4/projects/176/pipelines/1113028/jobs?scope[]=success&scope[]=failed
163
+
164
+ The current version only considers the last element of the list argument.
165
+
166
+ Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> ([`c5d0404`](https://github.com/python-gitlab/python-gitlab/commit/c5d0404ac9edfbfd328e7b4f07f554366377df3f))
167
+
168
+ * fix(test): use different ids for merge request, approval rule, project
169
+
170
+ The original bug was that the merge request identifier was used instead of the
171
+ approval rule identifier. The test didn't notice that because it used `1` for
172
+ all identifiers. Make these identifiers different so that a mixup will become
173
+ apparent. ([`c23e6bd`](https://github.com/python-gitlab/python-gitlab/commit/c23e6bd5785205f0f4b4c80321153658fc23fb98))
174
+
175
+ * fix(api): fix saving merge request approval rules
176
+
177
+ Closes #2548 ([`b8b3849`](https://github.com/python-gitlab/python-gitlab/commit/b8b3849b2d4d3f2d9e81e5cf4f6b53368f7f0127))
178
+
179
+ * fix: user.warn() to show correct filename of issue
180
+
181
+ Previously would only go to the 2nd level of the stack for determining
182
+ the offending filename and line number. When it should be showing the
183
+ first filename outside of the python-gitlab source code. As we want it
184
+ to show the warning for the user of the libraries code.
185
+
186
+ Update test to show it works as expected. ([`529f1fa`](https://github.com/python-gitlab/python-gitlab/commit/529f1faacee46a88cb0a542306309eb835516796))
187
+
188
+ * fix(api): update manual job status when playing it ([`9440a32`](https://github.com/python-gitlab/python-gitlab/commit/9440a3255018d6a6e49269caf4c878d80db508a8))
189
+
190
+ * fix(cli): allow exclusive arguments as optional (#2770)
191
+
192
+ * fix(cli): allow exclusive arguments as optional
193
+
194
+ The CLI takes its arguments from the RequiredOptional, which has three fields: required, optional, and exclusive. In practice, the exclusive options are not defined as either required or optional, and would not be allowed in the CLI. This changes that, so that exclusive options are also added to the argument parser.
195
+
196
+ * fix(cli): inform argument parser that options are mutually exclusive
197
+
198
+ * fix(cli): use correct exclusive options, add unit test
199
+
200
+ Closes #2769 ([`7ec3189`](https://github.com/python-gitlab/python-gitlab/commit/7ec3189d6eacdb55925e8be886a44d7ee09eb9ca))
201
+
202
+ ### Test
203
+
204
+ * test: remove approve step
205
+
206
+ Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`48a6705`](https://github.com/python-gitlab/python-gitlab/commit/48a6705558c5ab6fb08c62a18de350a5985099f8))
207
+
208
+ * test: tidy up functional tests
209
+
210
+ Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`06266ea`](https://github.com/python-gitlab/python-gitlab/commit/06266ea5966c601c035ad8ce5840729e5f9baa57))
211
+
212
+ * test: update api tests for GL 16.10
213
+
214
+ - Make sure we're testing python-gitlab functionality,
215
+ make sure we're not awaiting on Gitlab Async functions
216
+ - Decouple and improve test stability
217
+
218
+ Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`4bef473`](https://github.com/python-gitlab/python-gitlab/commit/4bef47301342703f87c1ce1d2920d54f9927a66a))
219
+
220
+ * test(functional): enable bulk import feature flag before test ([`b81da2e`](https://github.com/python-gitlab/python-gitlab/commit/b81da2e66ce385525730c089dbc2a5a85ba23287))
221
+
222
+ * test: don't use weak passwords
223
+
224
+ Newer versions of GitLab will refuse to create a user with a weak
225
+ password. In order for us to move to a newer GitLab version in testing
226
+ use a stronger password for the tests that create a user. ([`c64d126`](https://github.com/python-gitlab/python-gitlab/commit/c64d126142cc77eae4297b8deec27bb1d68b7a13))
227
+
228
+ * test: update tests for gitlab 16.8 functionality
229
+
230
+ - use programmatic dates for expires_at in tokens tests
231
+ - set PAT for 16.8 into tests
232
+
233
+ Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`f8283ae`](https://github.com/python-gitlab/python-gitlab/commit/f8283ae69efd86448ae60d79dd8321af3f19ba1b))
234
+
235
+ * test(smoke): normalize all dist titles for smoke tests ([`ee013fe`](https://github.com/python-gitlab/python-gitlab/commit/ee013fe1579b001b4b30bae33404e827c7bdf8c1))
236
+
237
+
238
+ ## v4.4.0 (2024-01-15)
239
+
240
+ ### Chore
241
+
242
+ * chore(deps): update all non-major dependencies ([`550f935`](https://github.com/python-gitlab/python-gitlab/commit/550f9355d29a502bb022f68dab6c902bf6913552))
243
+
244
+ * chore(deps): update pre-commit hook pycqa/flake8 to v7 ([`9a199b6`](https://github.com/python-gitlab/python-gitlab/commit/9a199b6089152e181e71a393925e0ec581bc55ca))
245
+
246
+ * chore(deps): update dependency jinja2 to v3.1.3 [security] ([`880913b`](https://github.com/python-gitlab/python-gitlab/commit/880913b67cce711d96e89ce6813e305e4ba10908))
247
+
248
+ * chore(deps): update dependency flake8 to v7 ([`20243c5`](https://github.com/python-gitlab/python-gitlab/commit/20243c532a8a6d28eee0caff5b9c30cc7376a162))
249
+
250
+ * chore(deps): update all non-major dependencies ([`cbc13a6`](https://github.com/python-gitlab/python-gitlab/commit/cbc13a61e0f15880b49a3d0208cc603d7d0b57e3))
251
+
252
+ * chore(ci): align upload and download action versions ([`dcca59d`](https://github.com/python-gitlab/python-gitlab/commit/dcca59d1a5966283c1120cfb639c01a76214d2b2))
253
+
254
+ * chore(deps): update actions/upload-artifact action to v4 ([`7114af3`](https://github.com/python-gitlab/python-gitlab/commit/7114af341dd12b7fb63ffc08650c455ead18ab70))
255
+
256
+ * chore(ci): add Python 3.13 development CI job
257
+
258
+ Add a job to test the development versions of Python 3.13. ([`ff0c11b`](https://github.com/python-gitlab/python-gitlab/commit/ff0c11b7b75677edd85f846a4dbdab08491a6bd7))
259
+
260
+ * chore(deps): update all non-major dependencies ([`369a595`](https://github.com/python-gitlab/python-gitlab/commit/369a595a8763109a2af8a95a8e2423ebb30b9320))
261
+
262
+ ### Feature
263
+
264
+ * feat(api): add reviewer_details manager for mergrequest to get reviewers of merge request
265
+
266
+ Those changes implements 'GET /projects/:id/merge_requests/:merge_request_iid/reviewers' gitlab API call.
267
+ Naming for call is not reviewers because reviewers atribute already presen in merge request response ([`adbd90c`](https://github.com/python-gitlab/python-gitlab/commit/adbd90cadffe1d9e9716a6e3826f30664866ad3f))
268
+
269
+ * feat(api): support access token rotate API ([`b13971d`](https://github.com/python-gitlab/python-gitlab/commit/b13971d5472cb228f9e6a8f2fa05a7cc94d03ebe))
270
+
271
+ * feat(api): support single resource access token get API ([`dae9e52`](https://github.com/python-gitlab/python-gitlab/commit/dae9e522a26041f5b3c6461cc8a5e284f3376a79))
272
+
273
+ ### Fix
274
+
275
+ * fix(cli): support binary files with `@` notation
276
+
277
+ Support binary files being used in the CLI with arguments using the
278
+ `@` notation. For example `--avatar @/path/to/avatar.png`
279
+
280
+ Also explicitly catch the common OSError exception, which is the
281
+ parent exception for things like: FileNotFoundError, PermissionError
282
+ and more exceptions.
283
+
284
+ Remove the bare exception handling. We would rather have the full
285
+ traceback of any exceptions that we don't know about and add them
286
+ later if needed.
287
+
288
+ Closes: #2752 ([`57749d4`](https://github.com/python-gitlab/python-gitlab/commit/57749d46de1d975aacb82758c268fc26e5e6ed8b))
289
+
290
+
291
+ ## v4.3.0 (2023-12-28)
292
+
293
+ ### Chore
294
+
295
+ * chore(deps): update all non-major dependencies ([`d7bdb02`](https://github.com/python-gitlab/python-gitlab/commit/d7bdb0257a5587455c3722f65c4a632f24d395be))
296
+
297
+ * chore(deps): update actions/stale action to v9 ([`c01988b`](https://github.com/python-gitlab/python-gitlab/commit/c01988b12c7745929d0c591f2fa265df2929a859))
298
+
299
+ * chore(deps): update all non-major dependencies ([`9e067e5`](https://github.com/python-gitlab/python-gitlab/commit/9e067e5c67dcf9f5e6c3408b30d9e2525c768e0a))
300
+
301
+ * chore(deps): update actions/setup-python action to v5 ([`fad1441`](https://github.com/python-gitlab/python-gitlab/commit/fad14413f4f27f1b6f902703b5075528aac52451))
302
+
303
+ * chore(deps): update all non-major dependencies ([`bb2af7b`](https://github.com/python-gitlab/python-gitlab/commit/bb2af7bfe8aa59ea8b9ad7ca2d6e56f4897b704a))
304
+
305
+ * chore(deps): update all non-major dependencies ([`5ef1b4a`](https://github.com/python-gitlab/python-gitlab/commit/5ef1b4a6c8edd34c381c6e08cd3893ef6c0685fd))
306
+
307
+ * chore(deps): update dependency types-setuptools to v69 ([`de11192`](https://github.com/python-gitlab/python-gitlab/commit/de11192455f1c801269ecb3bdcbc7c5b769ff354))
308
+
309
+ ### Documentation
310
+
311
+ * docs: fix rst link typo in CONTRIBUTING.rst ([`2b6da6e`](https://github.com/python-gitlab/python-gitlab/commit/2b6da6e63c82a61b8e21d193cfd46baa3fcf8937))
312
+
313
+ ### Feature
314
+
315
+ * feat(api): add support for the Draft notes API (#2728)
316
+
317
+ * feat(api): add support for the Draft notes API
318
+
319
+ * fix(client): handle empty 204 reponses in PUT requests ([`ebf9d82`](https://github.com/python-gitlab/python-gitlab/commit/ebf9d821cfc36071fca05d38b82c641ae30c974c))
320
+
321
+ ### Fix
322
+
323
+ * fix(cli): add ability to disable SSL verification
324
+
325
+ Add a `--no-ssl-verify` option to disable SSL verification
326
+
327
+ Closes: #2714 ([`3fe9fa6`](https://github.com/python-gitlab/python-gitlab/commit/3fe9fa64d9a38bc77950046f2950660d8d7e27a6))
328
+
329
+
5
330
  ## v4.2.0 (2023-11-28)
6
331
 
7
332
  ### Chore
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-gitlab
3
- Version: 4.3.0
3
+ Version: 4.5.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>
@@ -149,6 +149,23 @@ You can also mount your own config file:
149
149
 
150
150
  $ docker run -it --rm -v /path/to/python-gitlab.cfg:/etc/python-gitlab.cfg registry.gitlab.com/python-gitlab/python-gitlab:latest <command> ...
151
151
 
152
+ Usage inside GitLab CI
153
+ ~~~~~~~~~~~~~~~~~~~~~~
154
+
155
+ If you want to use the Docker image directly inside your GitLab CI as an ``image``, you will need to override
156
+ the ``entrypoint``, `as noted in the official GitLab documentation <https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#override-the-entrypoint-of-an-image>`__:
157
+
158
+ .. code-block:: yaml
159
+
160
+ Job Name:
161
+ image:
162
+ name: registry.gitlab.com/python-gitlab/python-gitlab:latest
163
+ entrypoint: [""]
164
+ before_script:
165
+ gitlab --version
166
+ script:
167
+ gitlab <command>
168
+
152
169
  Building the image
153
170
  ~~~~~~~~~~~~~~~~~~
154
171
 
@@ -112,6 +112,23 @@ You can also mount your own config file:
112
112
 
113
113
  $ docker run -it --rm -v /path/to/python-gitlab.cfg:/etc/python-gitlab.cfg registry.gitlab.com/python-gitlab/python-gitlab:latest <command> ...
114
114
 
115
+ Usage inside GitLab CI
116
+ ~~~~~~~~~~~~~~~~~~~~~~
117
+
118
+ If you want to use the Docker image directly inside your GitLab CI as an ``image``, you will need to override
119
+ the ``entrypoint``, `as noted in the official GitLab documentation <https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#override-the-entrypoint-of-an-image>`__:
120
+
121
+ .. code-block:: yaml
122
+
123
+ Job Name:
124
+ image:
125
+ name: registry.gitlab.com/python-gitlab/python-gitlab:latest
126
+ entrypoint: [""]
127
+ before_script:
128
+ gitlab --version
129
+ script:
130
+ gitlab <command>
131
+
115
132
  Building the image
116
133
  ~~~~~~~~~~~~~~~~~~
117
134
 
@@ -162,6 +162,11 @@ with the GitLab server error message:
162
162
  ...
163
163
  GitlabListError: 400: sort does not have a valid value
164
164
 
165
+ .. _conflicting_parameters:
166
+
167
+ Conflicting Parameters
168
+ ======================
169
+
165
170
  You can use the ``query_parameters`` argument to send arguments that would
166
171
  conflict with python or python-gitlab when using them as kwargs:
167
172
 
@@ -9,9 +9,11 @@ CLI examples
9
9
  CI Lint
10
10
  -------
11
11
 
12
+ **ci-lint has been Removed in Gitlab 16, use project-ci-lint instead**
13
+
12
14
  Lint a CI YAML configuration from a string:
13
15
 
14
- .. note::
16
+ .. note::
15
17
 
16
18
  To see output, you will need to use the ``-v``/``--verbose`` flag.
17
19
 
@@ -39,6 +41,9 @@ Validate a CI YAML configuration from a file (lints and exits with non-zero on f
39
41
 
40
42
  $ gitlab ci-lint validate --content @.gitlab-ci.yml
41
43
 
44
+ Project CI Lint
45
+ ---------------
46
+
42
47
  Lint a project's CI YAML configuration:
43
48
 
44
49
  .. code-block:: console
@@ -78,3 +78,23 @@ access an attribute that is shadowed by python-gitlab's own methods or managers.
78
78
 
79
79
  You can use the object's ``attributes`` dictionary to access it directly instead.
80
80
  See the :ref:`objects` section for more details on how attributes are exposed.
81
+
82
+ .. _conflicting_parameters_faq:
83
+
84
+ I cannot use the parameter ``path`` (or some other parameter) as it conflicts with the library
85
+ """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
86
+
87
+ ``path`` is used by the python-gitlab library and cannot be used as a parameter
88
+ if wanting to send it to the GitLab instance. You can use the
89
+ ``query_parameters`` argument to send arguments that would conflict with python
90
+ or python-gitlab when using them as kwargs:
91
+
92
+ .. code-block:: python
93
+
94
+ ## invalid, as ``path`` is interpreted by python-gitlab as the Path or full
95
+ ## URL to query ('/projects' or 'http://whatever/v4/api/projects')
96
+ project.commits.list(path='some_file_path', iterator=True)
97
+
98
+ project.commits.list(query_parameters={'path': 'some_file_path'}, iterator=True) # OK
99
+
100
+ See :ref:`Conflicting Parameters <conflicting_parameters>` for more information.
@@ -23,12 +23,26 @@ List group access tokens::
23
23
  access_tokens = gl.groups.get(1, lazy=True).access_tokens.list()
24
24
  print(access_tokens[0].name)
25
25
 
26
+ Get a group access token by id::
27
+
28
+ token = group.access_tokens.get(123)
29
+ print(token.name)
30
+
26
31
  Create group access token::
27
32
 
28
33
  access_token = gl.groups.get(1).access_tokens.create({"name": "test", "scopes": ["api"], "expires_at": "2023-06-06"})
29
34
 
30
- Revoke a group access tokens::
35
+ Revoke a group access token::
31
36
 
32
37
  gl.groups.get(1).access_tokens.delete(42)
33
38
  # or
34
39
  access_token.delete()
40
+
41
+ Rotate a group access token and retrieve its new value::
42
+
43
+ token = group.access_tokens.get(42, lazy=True)
44
+ token.rotate()
45
+ print(token.token)
46
+ # or directly using a token ID
47
+ new_token = group.access_tokens.rotate(42)
48
+ print(new_token.token)
@@ -0,0 +1,101 @@
1
+ #####################
2
+ CI/CD job token scope
3
+ #####################
4
+
5
+ Reference
6
+ ---------
7
+
8
+ * v4 API:
9
+
10
+ + :class:`gitlab.v4.objects.ProjectJobTokenScope`
11
+ + :class:`gitlab.v4.objects.ProjectJobTokenScopeManager`
12
+ + :attr:`gitlab.v4.objects.Project.job_token_scope`
13
+
14
+ * GitLab API: https://docs.gitlab.com/ee/api/project_job_token_scopes.html
15
+
16
+ Examples
17
+ --------
18
+
19
+ .. warning::
20
+
21
+ The GitLab API does **not** return any data when saving or updating
22
+ the job token scope settings. You need to call ``refresh()`` (or ``get()``
23
+ a new object) as shown below to get the latest state.
24
+
25
+ Get a project's CI/CD job token access settings::
26
+
27
+ scope = project.job_token_scope.get()
28
+ print(scope.inbound_enabled)
29
+ # True
30
+
31
+ Update the job token scope settings::
32
+
33
+ scope.enabled = False
34
+ scope.save()
35
+
36
+ .. warning::
37
+
38
+ As you can see above, the attributes you receive from and send to the GitLab API
39
+ are not consistent. GitLab returns ``inbound_enabled`` and ``outbound_enabled``,
40
+ but expects ``enabled``, which only refers to the inbound scope. This is important
41
+ when accessing and updating these attributes.
42
+
43
+ Or update the job token scope settings directly::
44
+
45
+ project.job_token_scope.update(new_data={"enabled": True})
46
+
47
+ Refresh the current state of job token scope::
48
+
49
+ scope.refresh()
50
+ print(scope.inbound_enabled)
51
+ # False
52
+
53
+ Get a project's CI/CD job token inbound allowlist::
54
+
55
+ allowlist = scope.allowlist.list()
56
+
57
+ Add a project to the project's inbound allowlist::
58
+
59
+ allowed_project = scope.allowlist.create({"target_project_id": 42})
60
+
61
+ Remove a project from the project's inbound allowlist::
62
+
63
+ allowed_project.delete()
64
+ # or directly using a project ID
65
+ scope.allowlist.delete(42)
66
+
67
+ .. warning::
68
+
69
+ Similar to above, the ID attributes you receive from the create and list
70
+ APIs are not consistent (in create() the id is returned as ``source_project_id`` whereas list() returns as ``id``). To safely retrieve the ID of the allowlisted project
71
+ regardless of how the object was created, always use its ``.get_id()`` method.
72
+
73
+ Using ``.get_id()``::
74
+
75
+ resp = allowlist.create({"target_project_id": 2})
76
+ allowlist_id = resp.get_id()
77
+
78
+ allowlists = project.allowlist.list()
79
+ for allowlist in allowlists:
80
+ allowlist_id == allowlist.get_id()
81
+
82
+ Get a project's CI/CD job token inbound groups allowlist::
83
+
84
+ allowlist = scope.groups_allowlist.list()
85
+
86
+ Add a project to the project's inbound groups allowlist::
87
+
88
+ allowed_project = scope.groups_allowlist.create({"target_project_id": 42})
89
+
90
+ Remove a project from the project's inbound agroups llowlist::
91
+
92
+ allowed_project.delete()
93
+ # or directly using a Group ID
94
+ scope.groups_allowlist.delete(42)
95
+
96
+ .. warning::
97
+
98
+ Similar to above, the ID attributes you receive from the create and list
99
+ APIs are not consistent. To safely retrieve the ID of the allowlisted group
100
+ regardless of how the object was created, always use its ``.get_id()`` method.
101
+
@@ -94,6 +94,10 @@ Get a single MR::
94
94
 
95
95
  mr = project.mergerequests.get(mr_iid)
96
96
 
97
+ Get MR reviewer details::
98
+ mr = project.mergerequests.get(mr_iid)
99
+ reviewers = mr.reviewer_details.list()
100
+
97
101
  Create a MR::
98
102
 
99
103
  mr = project.mergerequests.create({'source_branch': 'cool_feature',
@@ -52,6 +52,15 @@ Revoke the personal access token currently used::
52
52
 
53
53
  gl.personal_access_tokens.delete("self")
54
54
 
55
+ Rotate a personal access token and retrieve its new value::
56
+
57
+ token = gl.personal_access_tokens.get(42, lazy=True)
58
+ token.rotate()
59
+ print(token.token)
60
+ # or directly using a token ID
61
+ new_token_dict = gl.personal_access_tokens.rotate(42)
62
+ print(new_token_dict)
63
+
55
64
  Create a personal access token for a user (admin only)::
56
65
 
57
66
  user = gl.users.get(25, lazy=True)
@@ -60,7 +69,4 @@ Create a personal access token for a user (admin only)::
60
69
  .. note:: As you can see above, you can only create personal access tokens
61
70
  via the Users API, but you cannot revoke these objects directly.
62
71
  This is because the create API uses a different endpoint than the list and revoke APIs.
63
- You need to fetch the token via the list API first to revoke it.
64
-
65
- As of 14.2, GitLab does not provide a GET API for single personal access tokens.
66
- You must use the list method to retrieve single tokens.
72
+ You need to fetch the token via the list or get API first to revoke it.
@@ -23,12 +23,26 @@ List project access tokens::
23
23
  access_tokens = gl.projects.get(1, lazy=True).access_tokens.list()
24
24
  print(access_tokens[0].name)
25
25
 
26
+ Get a project access token by id::
27
+
28
+ token = project.access_tokens.get(123)
29
+ print(token.name)
30
+
26
31
  Create project access token::
27
32
 
28
33
  access_token = gl.projects.get(1).access_tokens.create({"name": "test", "scopes": ["api"], "expires_at": "2023-06-06"})
29
34
 
30
- Revoke a project access tokens::
35
+ Revoke a project access token::
31
36
 
32
37
  gl.projects.get(1).access_tokens.delete(42)
33
38
  # or
34
39
  access_token.delete()
40
+
41
+ Rotate a project access token and retrieve its new value::
42
+
43
+ token = project.access_tokens.get(42, lazy=True)
44
+ token.rotate()
45
+ print(token.token)
46
+ # or directly using a token ID
47
+ new_token = project.access_tokens.rotate(42)
48
+ print(new_token.token)
@@ -27,6 +27,11 @@ Get a single protected branch::
27
27
 
28
28
  p_branch = project.protectedbranches.get('main')
29
29
 
30
+ Update a protected branch::
31
+
32
+ p_branch.allow_force_push = True
33
+ p_branch.save()
34
+
30
35
  Create a protected branch::
31
36
 
32
37
  p_branch = project.protectedbranches.create({