gitlab-api 27.3.18__tar.gz → 27.3.19__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.
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/PKG-INFO +1 -1
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/gitlab_input_models.py +6 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/certification.json +1 -1
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/PKG-INFO +1 -1
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/SOURCES.txt +1 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/pyproject.toml +1 -1
- gitlab_api-27.3.19/tests/test_paged_models_have_paging_fields.py +21 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/LICENSE +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/README.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/__init__.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/__main__.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/__init__.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_base.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_environments.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_issues.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_merge_requests.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_other.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_pipelines.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_projects.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_repositories.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_system.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_users_groups.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_vulnerabilities.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api_client.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/auth.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/connector_prep.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/connector_sources.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/gitlab_gql.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/gitlab_response_models.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/instances.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/kg_ingest.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/mcp_config.json +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/mcp_server.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/__init__.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/access_contracts.ttl +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/fixtures/records.json +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/gitlab.ttl +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/mappings/source.yaml +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/migrations/manifest.json +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/shapes/connector.shacl.ttl +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/prompts/devops_specialist.json +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-api-development/SKILL.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-api-operations/SKILL.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-api-operations/agents/openai.yaml +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-api-operations/references/catalog.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-issues/SKILL.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-issues/WORKFLOW.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-create/SKILL.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-create/WORKFLOW.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-review/SKILL.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-review/WORKFLOW.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-pipelines/SKILL.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-pipelines/WORKFLOW.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-vulnerabilities/SKILL.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-vulnerabilities/WORKFLOW.md +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/dependency_links.txt +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/entry_points.txt +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/requires.txt +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/top_level.txt +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/scripts/check_import_safety.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/scripts/security_contract.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/setup.cfg +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/__init__.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/conftest.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_access_contracts.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_api_wrapper.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_auth.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_bug_002_005.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_catalog_edges.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_connector_prep.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_cq_paths.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_fleet_name.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_a2a_validation.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_api_brute_force_coverage.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_api_development_skill.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_gql.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_mcp_validation.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_models.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_identity_context_scoping.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_ingest_sources.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_init_dynamics.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_instances.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_kg_ingest.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_mock_coverage.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_ontology_parent_link.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_pages_workflow.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_startup.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_tool_modes.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_verify_agent.py +0 -0
- {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/verify_a2a_queries.py +0 -0
|
@@ -1775,6 +1775,9 @@ class NamespaceModel(BaseModel):
|
|
|
1775
1775
|
top_level_only: bool | None = Field(
|
|
1776
1776
|
description="Only show top level namespaces", default=None
|
|
1777
1777
|
)
|
|
1778
|
+
max_pages: int | None = Field(
|
|
1779
|
+
description="Maximum number of pages to fetch", default=None
|
|
1780
|
+
)
|
|
1778
1781
|
api_parameters: dict | None = Field(description="API Parameters", default=None)
|
|
1779
1782
|
data: dict | None = Field(description="Data Payload", default=None)
|
|
1780
1783
|
|
|
@@ -2855,6 +2858,9 @@ class RunnerModel(BaseModel):
|
|
|
2855
2858
|
runner_type: str | None = None
|
|
2856
2859
|
status: str | None = None
|
|
2857
2860
|
all_runners: bool | None = False
|
|
2861
|
+
max_pages: int | None = Field(
|
|
2862
|
+
description="Maximum number of pages to fetch", default=None
|
|
2863
|
+
)
|
|
2858
2864
|
api_parameters: dict | None = Field(description="API Parameters", default=None)
|
|
2859
2865
|
data: dict | None = Field(description="Data Payload", default=None)
|
|
2860
2866
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gitlab-api"
|
|
7
|
-
version = "27.3.
|
|
7
|
+
version = "27.3.19"
|
|
8
8
|
description = "GitLab API + MCP Server"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
classifiers = [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Environment :: Console", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3",]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""Every input model fed to the paged fetch carries the paging fields it reads."""
|
|
2
|
+
|
|
3
|
+
import re
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
from gitlab_api import gitlab_input_models as models
|
|
7
|
+
|
|
8
|
+
API_DIR = Path(__file__).parent.parent / "gitlab_api" / "api"
|
|
9
|
+
PAGED = re.compile(
|
|
10
|
+
r"(\w+) = (\w+Model)\(\*\*kwargs\)\s*\n\s*try:\s*\n\s*response, data = "
|
|
11
|
+
r"self\._fetch_all_pages\(\s*endpoint=[^\n]*\n\s*model=\1"
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def test_paged_models_have_max_pages():
|
|
16
|
+
missing = set()
|
|
17
|
+
for path in API_DIR.glob("*.py"):
|
|
18
|
+
for _var, name in PAGED.findall(path.read_text()):
|
|
19
|
+
if "max_pages" not in getattr(models, name).model_fields:
|
|
20
|
+
missing.add(name)
|
|
21
|
+
assert not missing, sorted(missing)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-api-operations/agents/openai.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-create/SKILL.md
RENAMED
|
File without changes
|
{gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-create/WORKFLOW.md
RENAMED
|
File without changes
|
{gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-review/SKILL.md
RENAMED
|
File without changes
|
{gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-review/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-vulnerabilities/WORKFLOW.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|