|
1 | 1 | from _typeshed import Incomplete
|
2 | 2 | from collections.abc import Mapping, MutableMapping, Sequence
|
3 | 3 | from re import Pattern
|
4 |
| -from typing import Any, Final, Literal, overload |
| 4 | +from typing import Any, Final, Literal, TypedDict, overload, type_check_only |
5 | 5 | from typing_extensions import TypeAlias, deprecated
|
6 | 6 |
|
7 | 7 | import requests
|
@@ -92,6 +92,14 @@ class WrappedSession(requests.Session):
|
92 | 92 | _JSONValue: TypeAlias = Any # too many possibilities to express
|
93 | 93 | _JSON: TypeAlias = dict[str, _JSONValue]
|
94 | 94 |
|
| 95 | +@type_check_only |
| 96 | +class _Job(TypedDict, total=False): |
| 97 | + _class: str |
| 98 | + url: str |
| 99 | + color: str |
| 100 | + name: str |
| 101 | + jobs: list[_Job] |
| 102 | + |
95 | 103 | class Jenkins:
|
96 | 104 | server: str
|
97 | 105 | auth: _Auth | None
|
@@ -128,10 +136,8 @@ class Jenkins:
|
128 | 136 | def get_plugins_info(self, depth: int = 2) -> _JSON: ...
|
129 | 137 | def get_plugin_info(self, name: str, depth: int = 2) -> _JSON: ...
|
130 | 138 | def get_plugins(self, depth: int = 2) -> _JSON: ...
|
131 |
| - def get_jobs( |
132 |
| - self, folder_depth: int = 0, folder_depth_per_request: int = 10, view_name: str | None = None |
133 |
| - ) -> list[dict[str, str]]: ... |
134 |
| - def get_all_jobs(self, folder_depth: int | None = None, folder_depth_per_request: int = 10) -> list[dict[str, str]]: ... |
| 139 | + def get_jobs(self, folder_depth: int = 0, folder_depth_per_request: int = 10, view_name: str | None = None) -> list[_Job]: ... |
| 140 | + def get_all_jobs(self, folder_depth: int | None = None, folder_depth_per_request: int = 10) -> list[_Job]: ... |
135 | 141 | def copy_job(self, from_name: str, to_name: str) -> None: ...
|
136 | 142 | def rename_job(self, from_name: str, to_name: str) -> None: ...
|
137 | 143 | def delete_job(self, name: str) -> None: ...
|
|
0 commit comments