gitlab-api 27.3.6__tar.gz → 27.3.7__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 (94) hide show
  1. {gitlab_api-27.3.6/gitlab_api.egg-info → gitlab_api-27.3.7}/PKG-INFO +2 -2
  2. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/README.md +1 -1
  3. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/mcp_server.py +1 -1
  4. gitlab_api-27.3.7/gitlab_api/ontology/ingest_sources.json +38 -0
  5. {gitlab_api-27.3.6 → gitlab_api-27.3.7/gitlab_api.egg-info}/PKG-INFO +2 -2
  6. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/pyproject.toml +1 -1
  7. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_ingest_sources.py +20 -0
  8. gitlab_api-27.3.6/gitlab_api/ontology/ingest_sources.json +0 -19
  9. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/LICENSE +0 -0
  10. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/MANIFEST.in +0 -0
  11. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/__init__.py +0 -0
  12. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/__main__.py +0 -0
  13. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/__init__.py +0 -0
  14. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_base.py +0 -0
  15. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_environments.py +0 -0
  16. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_issues.py +0 -0
  17. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_merge_requests.py +0 -0
  18. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_other.py +0 -0
  19. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_pipelines.py +0 -0
  20. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_projects.py +0 -0
  21. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_repositories.py +0 -0
  22. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_system.py +0 -0
  23. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_users_groups.py +0 -0
  24. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api/api_client_vulnerabilities.py +0 -0
  25. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/api_client.py +0 -0
  26. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/auth.py +0 -0
  27. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connector_manifest.yml +0 -0
  28. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connector_prep.py +0 -0
  29. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connectors/__init__.py +0 -0
  30. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connectors/mcp_source_presets.json +0 -0
  31. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/connectors/tool_schema_fingerprints.json +0 -0
  32. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/gitlab_gql.py +0 -0
  33. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/gitlab_input_models.py +0 -0
  34. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/gitlab_response_models.py +0 -0
  35. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/instances.py +0 -0
  36. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/kg_ingest.py +0 -0
  37. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/mcp_config.json +0 -0
  38. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/__init__.py +0 -0
  39. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/certification.json +0 -0
  40. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/fixtures/records.json +0 -0
  41. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/gitlab.ttl +0 -0
  42. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/mappings/source.yaml +0 -0
  43. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/migrations/manifest.json +0 -0
  44. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/ontology/shapes/connector.shacl.ttl +0 -0
  45. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/prompts/__init__.py +0 -0
  46. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/prompts/devops_specialist.json +0 -0
  47. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/__init__.py +0 -0
  48. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-api-operations/SKILL.md +0 -0
  49. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-api-operations/agents/openai.yaml +0 -0
  50. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-api-operations/references/catalog.md +0 -0
  51. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-issues/SKILL.md +0 -0
  52. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-issues/WORKFLOW.md +0 -0
  53. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-create/SKILL.md +0 -0
  54. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-create/WORKFLOW.md +0 -0
  55. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-review/SKILL.md +0 -0
  56. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-merge-request-review/WORKFLOW.md +0 -0
  57. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-pipelines/SKILL.md +0 -0
  58. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-pipelines/WORKFLOW.md +0 -0
  59. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-vulnerabilities/SKILL.md +0 -0
  60. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api/skills/gitlab-vulnerabilities/WORKFLOW.md +0 -0
  61. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/SOURCES.txt +0 -0
  62. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/dependency_links.txt +0 -0
  63. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/entry_points.txt +0 -0
  64. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/requires.txt +0 -0
  65. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/gitlab_api.egg-info/top_level.txt +0 -0
  66. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/requirements.txt +0 -0
  67. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/scripts/check_import_safety.py +0 -0
  68. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/scripts/security_contract.py +0 -0
  69. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/scripts/security_sanitizer.py +0 -0
  70. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/scripts/verify_api_integration.py +0 -0
  71. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/setup.cfg +0 -0
  72. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/__init__.py +0 -0
  73. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/conftest.py +0 -0
  74. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_api_wrapper.py +0 -0
  75. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_auth.py +0 -0
  76. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_connector_prep.py +0 -0
  77. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_default_content_surfaces.py +0 -0
  78. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_fleet_name.py +0 -0
  79. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_a2a_validation.py +0 -0
  80. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_api_brute_force_coverage.py +0 -0
  81. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_gql.py +0 -0
  82. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_mcp_validation.py +0 -0
  83. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_gitlab_models.py +0 -0
  84. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_identity_context_scoping.py +0 -0
  85. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_init_dynamics.py +0 -0
  86. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_instances.py +0 -0
  87. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_kg_ingest.py +0 -0
  88. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_mock_coverage.py +0 -0
  89. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_ontology_parent_link.py +0 -0
  90. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_security_sanitizer.py +0 -0
  91. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_startup.py +0 -0
  92. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_tool_modes.py +0 -0
  93. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/test_verify_agent.py +0 -0
  94. {gitlab_api-27.3.6 → gitlab_api-27.3.7}/tests/verify_a2a_queries.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlab-api
3
- Version: 27.3.6
3
+ Version: 27.3.7
4
4
  Summary: GitLab API + MCP Server
5
5
  Author-email: Project Maintainers <maintainers@users.noreply.github.com>
6
6
  License: MIT
@@ -45,7 +45,7 @@ Dynamic: license-file
45
45
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/gitlab-api)
46
46
  ![PyPI - Implementation](https://img.shields.io/pypi/implementation/gitlab-api)
47
47
 
48
- *Version: 27.3.6*
48
+ *Version: 27.3.7*
49
49
 
50
50
  > **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
51
51
  > backing GitLab instance are maintained in the
@@ -20,7 +20,7 @@
20
20
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/gitlab-api)
21
21
  ![PyPI - Implementation](https://img.shields.io/pypi/implementation/gitlab-api)
22
22
 
23
- *Version: 27.3.6*
23
+ *Version: 27.3.7*
24
24
 
25
25
  > **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
26
26
  > backing GitLab instance are maintained in the
@@ -35,7 +35,7 @@ from agent_connector_sdk.mcp.tool_surface import register_tool_surface
35
35
  from gitlab_api.api_client import Api
36
36
  from gitlab_api.auth import get_client
37
37
 
38
- __version__ = "27.3.6"
38
+ __version__ = "27.3.7"
39
39
  print(f"Gitlab MCP v{__version__}", file=sys.stderr)
40
40
 
41
41
  logger = get_logger(name="mcp_server")
@@ -0,0 +1,38 @@
1
+ {
2
+ "connector": "gitlab-mcp",
3
+ "sources": [
4
+ {
5
+ "source_id": "projects",
6
+ "record_type": "Project",
7
+ "tools": [
8
+ "gitlab_get_projects"
9
+ ],
10
+ "records_path": "data",
11
+ "id_field": "id",
12
+ "title_field": "path_with_namespace",
13
+ "text_field": "description",
14
+ "cursor_field": "last_activity_at",
15
+ "incremental": true,
16
+ "description": "GitLab projects visible to the configured token."
17
+ },
18
+ {
19
+ "source_id": "issues",
20
+ "record_type": "Issue",
21
+ "tools": [
22
+ "gitlab_get_issues"
23
+ ],
24
+ "records_path": "data",
25
+ "id_field": "id",
26
+ "title_field": "title",
27
+ "text_field": "description",
28
+ "cursor_field": "updated_at",
29
+ "incremental": false,
30
+ "arguments": {
31
+ "state": "opened",
32
+ "per_page": 50,
33
+ "max_pages": 1
34
+ },
35
+ "description": "Open GitLab issues visible to the configured token (first 50)."
36
+ }
37
+ ]
38
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlab-api
3
- Version: 27.3.6
3
+ Version: 27.3.7
4
4
  Summary: GitLab API + MCP Server
5
5
  Author-email: Project Maintainers <maintainers@users.noreply.github.com>
6
6
  License: MIT
@@ -45,7 +45,7 @@ Dynamic: license-file
45
45
  ![PyPI - Wheel](https://img.shields.io/pypi/wheel/gitlab-api)
46
46
  ![PyPI - Implementation](https://img.shields.io/pypi/implementation/gitlab-api)
47
47
 
48
- *Version: 27.3.6*
48
+ *Version: 27.3.7*
49
49
 
50
50
  > **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
51
51
  > backing GitLab instance are maintained in the
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gitlab-api"
7
- version = "27.3.6"
7
+ version = "27.3.7"
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",]
@@ -33,3 +33,23 @@ def test_declares_ingestible_sources() -> None:
33
33
  method = getattr(Api, "get_projects")
34
34
  annotations = operation_annotations("get_projects", operation_verb(method))
35
35
  assert annotations.read_only_hint is True
36
+
37
+
38
+ @pytest.mark.spec("CONN-GITLAB-API-R001")
39
+ def test_declares_issues_source() -> None:
40
+ declaration = load_ingest_sources(Path(gitlab_api.__file__).parent)
41
+ assert declaration is not None
42
+ assert declaration.connector == "gitlab-mcp"
43
+ source = declaration.source("issues")
44
+ assert source is not None and source.record_type == "Issue"
45
+ prefix = operation_prefix("gitlab-api")
46
+ assert source.tools == (f"{prefix}_get_issues",)
47
+ manifest = yaml.safe_load(
48
+ (Path(gitlab_api.__file__).parent / "connector_manifest.yml").read_text(
49
+ "utf-8"
50
+ )
51
+ )
52
+ assert source.record_type in manifest["schema_mappings"]
53
+ method = getattr(Api, "get_issues")
54
+ annotations = operation_annotations("get_issues", operation_verb(method))
55
+ assert annotations.read_only_hint is True
@@ -1,19 +0,0 @@
1
- {
2
- "connector": "gitlab-mcp",
3
- "sources": [
4
- {
5
- "source_id": "projects",
6
- "record_type": "Project",
7
- "tools": [
8
- "gitlab_get_projects"
9
- ],
10
- "records_path": "data",
11
- "id_field": "id",
12
- "title_field": "path_with_namespace",
13
- "text_field": "description",
14
- "cursor_field": "last_activity_at",
15
- "incremental": true,
16
- "description": "GitLab projects visible to the configured token."
17
- }
18
- ]
19
- }
File without changes
File without changes
File without changes