Tapi 0.1.2__py3-none-any.whl
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.
- tapi/__init__.py +2 -0
- tapi/api/__init__.py +46 -0
- tapi/api/action/__init__.py +7 -0
- tapi/api/action/actions.py +106 -0
- tapi/api/action/events.py +33 -0
- tapi/api/action/logs.py +34 -0
- tapi/api/admin/__init__.py +12 -0
- tapi/api/admin/action_egress_control_rules.py +87 -0
- tapi/api/admin/admin.py +43 -0
- tapi/api/admin/ip_access_control.py +76 -0
- tapi/api/admin/job.py +42 -0
- tapi/api/admin/scim.py +27 -0
- tapi/api/admin/template.py +86 -0
- tapi/api/admin/user.py +104 -0
- tapi/api/audit_log/__init__.py +5 -0
- tapi/api/audit_log/audit_logs.py +24 -0
- tapi/api/case/__init__.py +20 -0
- tapi/api/case/actions.py +90 -0
- tapi/api/case/activities.py +35 -0
- tapi/api/case/assignees.py +21 -0
- tapi/api/case/blocks.py +112 -0
- tapi/api/case/cases.py +132 -0
- tapi/api/case/comments.py +102 -0
- tapi/api/case/fields.py +69 -0
- tapi/api/case/files.py +77 -0
- tapi/api/case/inputs.py +64 -0
- tapi/api/case/linked_cases.py +57 -0
- tapi/api/case/metadata.py +65 -0
- tapi/api/case/notes.py +78 -0
- tapi/api/case/records.py +54 -0
- tapi/api/case/subscribers.py +56 -0
- tapi/api/credential/__init__.py +1 -0
- tapi/api/credential/credentials.py +240 -0
- tapi/api/event/__init__.py +1 -0
- tapi/api/event/events.py +44 -0
- tapi/api/folder/__init__.py +1 -0
- tapi/api/folder/folders.py +71 -0
- tapi/api/note/__init__.py +5 -0
- tapi/api/note/notes.py +76 -0
- tapi/api/record/__init__.py +7 -0
- tapi/api/record/artifacts.py +17 -0
- tapi/api/record/records.py +85 -0
- tapi/api/record/types.py +52 -0
- tapi/api/report/__init__.py +5 -0
- tapi/api/report/reporting.py +41 -0
- tapi/api/resource/__init__.py +1 -0
- tapi/api/resource/resources.py +152 -0
- tapi/api/story/__init__.py +10 -0
- tapi/api/story/change_requests.py +64 -0
- tapi/api/story/drafts.py +45 -0
- tapi/api/story/groups.py +38 -0
- tapi/api/story/runs.py +43 -0
- tapi/api/story/stories.py +162 -0
- tapi/api/story/versions.py +65 -0
- tapi/api/team/__init__.py +4 -0
- tapi/api/team/members.py +62 -0
- tapi/api/team/teams.py +60 -0
- tapi/api/tenant.py +68 -0
- tapi/client/__init__.py +1 -0
- tapi/client/client.py +55 -0
- tapi/utils/helpers.py +9 -0
- tapi/utils/http.py +8 -0
- tapi/utils/testing_decorators.py +5 -0
- tapi/utils/types.py +300 -0
- tapi-0.1.2.dist-info/METADATA +2487 -0
- tapi-0.1.2.dist-info/RECORD +69 -0
- tapi-0.1.2.dist-info/WHEEL +5 -0
- tapi-0.1.2.dist-info/licenses/LICENSE +674 -0
- tapi-0.1.2.dist-info/top_level.txt +1 -0
tapi/api/team/teams.py
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from tapi.client import Client
|
|
2
|
+
from .members import MembersAPI
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class TeamsAPI(Client):
|
|
6
|
+
def __init__(self, domain: str, apiKey: str):
|
|
7
|
+
super().__init__(domain, apiKey)
|
|
8
|
+
self.base_endpoint = "teams"
|
|
9
|
+
self.members = MembersAPI(domain, apiKey)
|
|
10
|
+
|
|
11
|
+
def create(
|
|
12
|
+
self,
|
|
13
|
+
name: str
|
|
14
|
+
):
|
|
15
|
+
return self._http_request(
|
|
16
|
+
"POST",
|
|
17
|
+
self.base_endpoint,
|
|
18
|
+
json = {"name": name}
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
def get(
|
|
22
|
+
self,
|
|
23
|
+
team_id: int
|
|
24
|
+
):
|
|
25
|
+
return self._http_request(
|
|
26
|
+
"GET",
|
|
27
|
+
f"{self.base_endpoint}/{team_id}"
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
def update(
|
|
31
|
+
self,
|
|
32
|
+
team_id: int,
|
|
33
|
+
name: str
|
|
34
|
+
):
|
|
35
|
+
return self._http_request(
|
|
36
|
+
"PUT",
|
|
37
|
+
f"{self.base_endpoint}/{team_id}",
|
|
38
|
+
json = {"name": name}
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
def list(
|
|
42
|
+
self,
|
|
43
|
+
include_personal_teams: bool = False,
|
|
44
|
+
per_page: int = 10,
|
|
45
|
+
page: int = 1,
|
|
46
|
+
):
|
|
47
|
+
return self._http_request(
|
|
48
|
+
"GET",
|
|
49
|
+
self.base_endpoint,
|
|
50
|
+
json = {key: value for key, value in locals().items() if value is not None and key != "self"}
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
def delete(
|
|
54
|
+
self,
|
|
55
|
+
team_id: int
|
|
56
|
+
):
|
|
57
|
+
return self._http_request(
|
|
58
|
+
"DELETE",
|
|
59
|
+
f"{self.base_endpoint}/{team_id}",
|
|
60
|
+
)
|
tapi/api/tenant.py
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
from tapi.client import Client
|
|
2
|
+
from requests import request
|
|
3
|
+
from .case import CasesAPI
|
|
4
|
+
from .team import TeamsAPI
|
|
5
|
+
from .admin import AdminAPI
|
|
6
|
+
from .event import EventsAPI
|
|
7
|
+
from .story import StoriesAPI
|
|
8
|
+
from .folder import FoldersAPI
|
|
9
|
+
from .record import RecordsAPI
|
|
10
|
+
from .report import ReportingAPI
|
|
11
|
+
from .resource import ResourcesAPI
|
|
12
|
+
from .audit_log import AuditLogsAPI
|
|
13
|
+
from .credential import CredentialsAPI
|
|
14
|
+
from typing import Optional, Literal
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class TenantAPI(Client):
|
|
18
|
+
def __init__(self, domain: str, apiKey: str):
|
|
19
|
+
super().__init__(domain, apiKey)
|
|
20
|
+
self.base_endpoint = "info"
|
|
21
|
+
self.cases = CasesAPI(domain, apiKey)
|
|
22
|
+
self.teams = TeamsAPI(domain, apiKey)
|
|
23
|
+
self.admin = AdminAPI(domain, apiKey)
|
|
24
|
+
self.events = EventsAPI(domain, apiKey)
|
|
25
|
+
self.stories = StoriesAPI(domain, apiKey)
|
|
26
|
+
self.folders = FoldersAPI(domain, apiKey)
|
|
27
|
+
self.records = RecordsAPI(domain, apiKey)
|
|
28
|
+
self.resources = ResourcesAPI(domain, apiKey)
|
|
29
|
+
self.reporting = ReportingAPI(domain, apiKey)
|
|
30
|
+
self.audit_logs = AuditLogsAPI(domain, apiKey)
|
|
31
|
+
self.credentials = CredentialsAPI(domain, apiKey)
|
|
32
|
+
|
|
33
|
+
def trigger_webhook(
|
|
34
|
+
self,
|
|
35
|
+
path: str,
|
|
36
|
+
secret: str,
|
|
37
|
+
method: Literal["GET", "PUT", "POST", "PATCH", "DELETE"] = "GET",
|
|
38
|
+
domain: Optional[str] = None,
|
|
39
|
+
**kwargs
|
|
40
|
+
):
|
|
41
|
+
domain = domain or self.domain
|
|
42
|
+
|
|
43
|
+
req = request(
|
|
44
|
+
method = method,
|
|
45
|
+
url = f"https://{domain}.tines.com/webhook/{path}/{secret}",
|
|
46
|
+
**kwargs
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
return req.json()
|
|
50
|
+
|
|
51
|
+
def info(self):
|
|
52
|
+
return self._http_request(
|
|
53
|
+
"GET",
|
|
54
|
+
self.base_endpoint
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
def web_statistics(self):
|
|
58
|
+
return self._http_request(
|
|
59
|
+
"GET",
|
|
60
|
+
f"{self.base_endpoint}/web_stats"
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
def worker_statistics(self):
|
|
64
|
+
return self._http_request(
|
|
65
|
+
"GET",
|
|
66
|
+
f"{self.base_endpoint}/worker_stats"
|
|
67
|
+
)
|
|
68
|
+
|
tapi/client/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .client import Client
|
tapi/client/client.py
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
from tapi.utils.types import HTTPResponse
|
|
2
|
+
from json import JSONDecodeError
|
|
3
|
+
from typing import Union, Dict, Any
|
|
4
|
+
from requests import request, RequestException, Response
|
|
5
|
+
|
|
6
|
+
class Client:
|
|
7
|
+
verify_ssl: bool = True
|
|
8
|
+
|
|
9
|
+
def __init__(self, domain: str, apiKey: str) -> None:
|
|
10
|
+
self.domain = domain
|
|
11
|
+
self.apiKey = apiKey
|
|
12
|
+
|
|
13
|
+
def _http_request(
|
|
14
|
+
self,
|
|
15
|
+
method: str,
|
|
16
|
+
endpoint: str,
|
|
17
|
+
api_version: str = "v1",
|
|
18
|
+
**kwargs
|
|
19
|
+
) -> HTTPResponse:
|
|
20
|
+
url = f"https://{self.domain}.tines.com/api/{api_version}/{endpoint}"
|
|
21
|
+
headers = {**kwargs.pop("headers", {}), "Authorization": f"Bearer {self.apiKey}"}
|
|
22
|
+
|
|
23
|
+
try:
|
|
24
|
+
response = request(method, url, headers=headers, verify=Client.verify_ssl, **kwargs)
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
"body": self._parse_body(response),
|
|
28
|
+
"headers": dict(response.headers),
|
|
29
|
+
"status_code": response.status_code
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
except RequestException as e:
|
|
33
|
+
return {
|
|
34
|
+
"body": str(e),
|
|
35
|
+
"headers": {},
|
|
36
|
+
"status_code": 500
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
def _parse_body(
|
|
40
|
+
self,
|
|
41
|
+
response: Response
|
|
42
|
+
) -> Union[Dict[str, Any], str, bytes]:
|
|
43
|
+
content_type = response.headers.get("Content-Type", "")
|
|
44
|
+
|
|
45
|
+
if "application/json" in content_type:
|
|
46
|
+
try:
|
|
47
|
+
body = response.json()
|
|
48
|
+
except JSONDecodeError:
|
|
49
|
+
body = response.text
|
|
50
|
+
elif "application/pdf" in content_type:
|
|
51
|
+
body = response.content
|
|
52
|
+
else:
|
|
53
|
+
body = response.text
|
|
54
|
+
|
|
55
|
+
return body
|
tapi/utils/helpers.py
ADDED
tapi/utils/http.py
ADDED
tapi/utils/types.py
ADDED
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
from enum import IntEnum, StrEnum
|
|
2
|
+
from typing import TypedDict, Union, Dict, Any, Literal, Optional
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class KeepEventsFor(IntEnum):
|
|
6
|
+
ONE_HOUR = 3600
|
|
7
|
+
SIX_HOURS = 21600
|
|
8
|
+
ONE_DAY = 86400
|
|
9
|
+
THREE_DAYS = 259200
|
|
10
|
+
SEVEN_DAYS = 604800
|
|
11
|
+
FOURTEEN_DAYS = 1209600
|
|
12
|
+
THIRTY_DAYS = 2592000
|
|
13
|
+
SIXTY_DAYS = 5184000
|
|
14
|
+
NINETY_DAYS = 7776000
|
|
15
|
+
ONE_HUNDRED_EIGHTY_DAYS = 15552000
|
|
16
|
+
THREE_HUNDRED_SIXTY_FIVE_DAYS = 31536000
|
|
17
|
+
|
|
18
|
+
class StoryMode(StrEnum):
|
|
19
|
+
ALL = ""
|
|
20
|
+
LIVE = "LIVE"
|
|
21
|
+
TEST = "TEST"
|
|
22
|
+
|
|
23
|
+
class SendToStoryAccessSource(StrEnum):
|
|
24
|
+
OFF = "OFF"
|
|
25
|
+
STS = "STS"
|
|
26
|
+
WORKBENCH = "WORKBENCH"
|
|
27
|
+
STS_AND_WORKBENCH = "STS_AND_WORKBENCH"
|
|
28
|
+
|
|
29
|
+
class SendToStoryAccess(StrEnum):
|
|
30
|
+
TEAM = "TEAM"
|
|
31
|
+
GLOBAL = "GLOBAL"
|
|
32
|
+
SPECIFIC_TEAMS = "SPECIFIC_TEAMS"
|
|
33
|
+
|
|
34
|
+
class Filter(StrEnum):
|
|
35
|
+
LOCKED = "LOCKED"
|
|
36
|
+
FAVORITE = "FAVORITE"
|
|
37
|
+
DISABLED = "DISABLED"
|
|
38
|
+
PUBLISHED = "PUBLISHED"
|
|
39
|
+
API_ENABLED = "API_ENABLED"
|
|
40
|
+
HIGH_PRIORITY = "HIGH_PRIORITY"
|
|
41
|
+
SEND_TO_STORY_ENABLED = "SEND_TO_STORY_ENABLED"
|
|
42
|
+
CHANGE_CONTROL_ENABLED = "CHANGE_CONTROL_ENABLED"
|
|
43
|
+
|
|
44
|
+
class StoriesReturnOrder(StrEnum):
|
|
45
|
+
NAME = "NAME"
|
|
46
|
+
NAME_DESC = "NAME_DESC"
|
|
47
|
+
RECENTLY_EDITED = "RECENTLY_EDITED"
|
|
48
|
+
ACTION_COUNT_ASC = "ACTION_COUNT_ASC"
|
|
49
|
+
ACTION_COUNT_DESC = "ACTION_COUNT_DESC"
|
|
50
|
+
LEAST_RECENTLY_EDITED = "LEAST_RECENTLY_EDITED"
|
|
51
|
+
|
|
52
|
+
class Mode(StrEnum):
|
|
53
|
+
NEW = "new"
|
|
54
|
+
VERSION_REPLACE = "versionReplace"
|
|
55
|
+
|
|
56
|
+
class Role(StrEnum):
|
|
57
|
+
VIEWER = "VIEWER"
|
|
58
|
+
EDITOR = "EDITOR"
|
|
59
|
+
TEAM_ADMIN = "TEAM_ADMIN"
|
|
60
|
+
|
|
61
|
+
class CasePriority(StrEnum):
|
|
62
|
+
LOW = "LOW"
|
|
63
|
+
HIGH = "HIGH"
|
|
64
|
+
INFO = "INFO"
|
|
65
|
+
MEDIUM = "MEDIUM"
|
|
66
|
+
CRITICAL = "CRITICAL"
|
|
67
|
+
|
|
68
|
+
class CaseStatus(StrEnum):
|
|
69
|
+
OPEN = "OPEN"
|
|
70
|
+
CLOSE = "CLOSE"
|
|
71
|
+
|
|
72
|
+
class CaseReturnOrder(StrEnum):
|
|
73
|
+
OPENED_ASC = "OPENED_ASC"
|
|
74
|
+
OPENED_DESC = "OPENED_DESC"
|
|
75
|
+
CREATED_ASC = "CREATED_ASC"
|
|
76
|
+
CREATED_DESC = "CREATED_DESC"
|
|
77
|
+
PRIORITY_ASC = "PRIORITY_ASC"
|
|
78
|
+
PRIORITY_DESC = "PRIORITY_DESC"
|
|
79
|
+
RECENTLY_EDITED = "RECENTLY_EDITED"
|
|
80
|
+
LEAST_RECENTLY_EDITED = "LEAST_RECENTLY_EDITED"
|
|
81
|
+
|
|
82
|
+
class CaseActionType(StrEnum):
|
|
83
|
+
PAGE = "page"
|
|
84
|
+
WEBHOOK = "webhook"
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class CaseActivityType(StrEnum):
|
|
88
|
+
CREATED = "CREATED"
|
|
89
|
+
ASSIGNED = "ASSIGNED"
|
|
90
|
+
COMMENTED = "COMMENTED"
|
|
91
|
+
UNASSIGNED = "UNASSIGNED"
|
|
92
|
+
TAGS_ADDED = "TAGS_ADDED"
|
|
93
|
+
SLA_WARNING = "SLA_WARNING"
|
|
94
|
+
FILE_DELETED = "FILE_DELETED"
|
|
95
|
+
TAGS_REMOVED = "TAGS_REMOVED"
|
|
96
|
+
SLA_EXCEEDED = "SLA_EXCEEDED"
|
|
97
|
+
FILE_ATTACHED = "FILE_ATTACHED"
|
|
98
|
+
FIELD_UPDATED = "FIELD_UPDATED"
|
|
99
|
+
STATUS_UPDATED = "STATUS_UPDATED"
|
|
100
|
+
DELETED_COMMENT = "DELETED_COMMENT"
|
|
101
|
+
METADATA_UPDATED = "METADATA_UPDATED"
|
|
102
|
+
SEVERITY_UPDATED = "SEVERITY_UPDATED"
|
|
103
|
+
LINKED_CASE_ADDED = "LINKED_CASE_ADDED"
|
|
104
|
+
SUB_STATUS_UPDATED = "SUB_STATUS_UPDATED"
|
|
105
|
+
LINKED_CASE_REMOVED = "LINKED_CASE_REMOVED"
|
|
106
|
+
RECORD_RESULT_SET_ADDED = "RECORD_RESULT_SET_ADDED"
|
|
107
|
+
CHECKLIST_ITEM_COMPLETED = "CHECKLIST_ITEM_COMPLETED"
|
|
108
|
+
CHECKLIST_ITEM_INCOMPLETE = "CHECKLIST_ITEM_INCOMPLETE"
|
|
109
|
+
RECORD_RESULT_SET_REMOVED = "RECORD_RESULT_SET_REMOVED"
|
|
110
|
+
FILE_ATTACHED_AND_COMMENTED = "FILE_ATTACHED_AND_COMMENTED"
|
|
111
|
+
|
|
112
|
+
class CaseInputType(StrEnum):
|
|
113
|
+
STRING = "string"
|
|
114
|
+
NUMBER = "number"
|
|
115
|
+
BOOLEAN = "boolean"
|
|
116
|
+
TIMESTAMP = "timestamp"
|
|
117
|
+
|
|
118
|
+
class CaseValidationType(StrEnum):
|
|
119
|
+
REGEX = "regex"
|
|
120
|
+
OPTIONS = "options"
|
|
121
|
+
|
|
122
|
+
class HTTPResponse(TypedDict):
|
|
123
|
+
body: Union[Dict[str, Any], str, bytes]
|
|
124
|
+
headers: Dict[str, Any]
|
|
125
|
+
status_code: int
|
|
126
|
+
|
|
127
|
+
class AgentType(StrEnum):
|
|
128
|
+
IMAP = "Agents::IMAPAgent"
|
|
129
|
+
EMAIL = "Agents::EmailAgent"
|
|
130
|
+
GROUP = "Agents::GroupAgent"
|
|
131
|
+
TRIGGER = "Agents::TriggerAgent"
|
|
132
|
+
WEBHOOK = "Agents::WebhookAgent"
|
|
133
|
+
HTTP_REQUEST = "Agents::HTTPRequestAgent"
|
|
134
|
+
SEND_T0_STORY = "Agents::SendToStoryAgent"
|
|
135
|
+
EVENT_TRANSFORM = "Agents::EventTransformationAgent"
|
|
136
|
+
|
|
137
|
+
class ReactionType(StrEnum):
|
|
138
|
+
PLUS_ONE = "+1"
|
|
139
|
+
MINUS_ONE = "-1"
|
|
140
|
+
EYES = "eyes"
|
|
141
|
+
HEART = "heart"
|
|
142
|
+
WHITE_CHECK_MARK = "white_check_mark"
|
|
143
|
+
|
|
144
|
+
class CaseNoteColor(StrEnum):
|
|
145
|
+
GOLD = "gold"
|
|
146
|
+
BLUE = "blue"
|
|
147
|
+
GREEN = "green"
|
|
148
|
+
WHITE = "white"
|
|
149
|
+
MAGENTA = "magenta"
|
|
150
|
+
|
|
151
|
+
class LogSeverityLevel(IntEnum):
|
|
152
|
+
INFO = 3
|
|
153
|
+
ERROR = 4
|
|
154
|
+
WARNING = 2
|
|
155
|
+
|
|
156
|
+
class AuditLogType(StrEnum):
|
|
157
|
+
LOGIN = "Login"
|
|
158
|
+
USER_EDIT = "UserEdit"
|
|
159
|
+
OPERATION = "operation"
|
|
160
|
+
TEAM_UPDATE = "TeamUpdate"
|
|
161
|
+
FORM_UPDATE = "FormUpdate"
|
|
162
|
+
LINK_CHANGE = "LinkChange"
|
|
163
|
+
STORY_IMPORT = "StoryImport"
|
|
164
|
+
USER_DELETION = "UserDeletion"
|
|
165
|
+
GROUP_FLATTEN = "GroupFlatten"
|
|
166
|
+
FOLDER_UPDATE = "FolderUpdate"
|
|
167
|
+
STORY_ARCHIVE = "StoryArchive"
|
|
168
|
+
STORY_RESTORE = "StoryRestore"
|
|
169
|
+
TEAM_CREATION = "TeamCreation"
|
|
170
|
+
EVENT_DELETION = "EventDeletion"
|
|
171
|
+
STORY_CREATION = "StoryCreation"
|
|
172
|
+
STORY_MOVEMENT = "StoryMovement"
|
|
173
|
+
TEMPLATE_UPDATE = "TemplateUpdate"
|
|
174
|
+
TEAM_CASE_UPDATE = "TeamCaseUpdate"
|
|
175
|
+
STORY_API_CHANGE = "StoryApiChange"
|
|
176
|
+
FOLDER_CREATION = "FolderCreation"
|
|
177
|
+
CREDENTIAL_SAVE = "CredentialSave"
|
|
178
|
+
USERS_INVITATION = "UsersInvitation"
|
|
179
|
+
TEAM_DESTRUCTION = "TeamDestruction"
|
|
180
|
+
FORM_FIELD_UPDATE = "FormFieldUpdate"
|
|
181
|
+
GROUP_EXTRACTION = "GroupExtraction"
|
|
182
|
+
STORY_NAME_CHANGE = "StoryNameChange"
|
|
183
|
+
TEMPLATE_CREATION = "TemplateCreation"
|
|
184
|
+
FORM_FIELD_REORDER = "FormFieldReorder"
|
|
185
|
+
FORM_FIELD_REMOVAL = "FormFieldRemoval"
|
|
186
|
+
TEAM_CASE_CREATION = "TeamCaseCreation"
|
|
187
|
+
ANALYTICS_CAPTURE = "AnalyticsCapture"
|
|
188
|
+
ACTION_SIZE_CHANGE = "ActionSizeChange"
|
|
189
|
+
RECORD_TYPE_UPDATE = "RecordTypeUpdate"
|
|
190
|
+
USER_REINVITATION = "UserReinvitation"
|
|
191
|
+
TEAM_MEMBER_REMOVAL = "TeamMemberRemoval"
|
|
192
|
+
BATCH_STORY_ARCHIVE = "BatchStoryArchive"
|
|
193
|
+
ACTIONS_NAME_CHANGE = "ActionsNameChange"
|
|
194
|
+
FOLDER_DESTRUCTION = "FolderDestruction"
|
|
195
|
+
FORM_FIELD_ADDITION = "FormFieldAddition"
|
|
196
|
+
STORY_LOCKED_CHANGE = "StoryLockedChange"
|
|
197
|
+
TEST_STORY_CREATION = "TestStoryCreation"
|
|
198
|
+
TEST_STORY_DELETION = "TestStoryDeletion"
|
|
199
|
+
TEAM_CASE_TAGS_UPDATE = "TeamCaseTagsUpdate"
|
|
200
|
+
RECORD_REPORT_UPDATE = "RecordReportUpdate"
|
|
201
|
+
JOBS_QUEUED_DELETION = "JobsQueuedDeletion"
|
|
202
|
+
GLOBAL_RESOURCE_EDIT = "GlobalResourceEdit"
|
|
203
|
+
CREDENTIAL_MOVEMENT = "CredentialMovement"
|
|
204
|
+
EXAMPLE_STORY_IMPORT = "ExampleStoryImport"
|
|
205
|
+
RECORD_TYPE_CREATION = "RecordTypeCreation"
|
|
206
|
+
RECORD_WRITER_UPDATE = "RecordWriterUpdate"
|
|
207
|
+
STORY_ITEMS_CREATION = "StoryItemsCreation"
|
|
208
|
+
STORY_ITEMS_MOVEMENT = "StoryItemsMovement"
|
|
209
|
+
STORY_JOBS_CLEARANCE = "StoryJobsClearance"
|
|
210
|
+
STORY_VERSION_CREATE = "StoryVersionCreate"
|
|
211
|
+
STORY_VERSION_IMPORT = "StoryVersionImport"
|
|
212
|
+
TEAM_CASE_FILE_ATTACH = "TeamCaseFileAttach"
|
|
213
|
+
TENANT_CONFIG_CHANGE = "TenantConfigChange"
|
|
214
|
+
TEMPLATE_DESTRUCTION = "TemplateDestruction"
|
|
215
|
+
STORY_PRIORITY_CHANGE = "StoryPriorityChange"
|
|
216
|
+
STORY_EVENTS_DELETION = "StoryEventsDeletion"
|
|
217
|
+
RESOURCE_REPLACEMENT = "ResourceReplacement"
|
|
218
|
+
ACTION_METRICS_CHANGE = "ActionMetricsChange"
|
|
219
|
+
LAST_EVENT_RE_EMISSION = "LastEventReEmission"
|
|
220
|
+
ACTION_LOGS_CLEARANCE = "ActionLogsClearance"
|
|
221
|
+
STORY_DISABLED_CHANGE = "StoryDisabledChange"
|
|
222
|
+
TEAM_MEMBERS_ADDITION = "TeamMembersAddition"
|
|
223
|
+
JOBS_RETRYING_DELETION = "JobsRetryingDeletion"
|
|
224
|
+
ANNOTATION_SIZE_CHANGE = "AnnotationSizeChange"
|
|
225
|
+
ACTIONS_OPTIONS_CHANGE = "ActionsOptionsChange"
|
|
226
|
+
RECORD_REPORT_CREATION = "RecordReportCreation"
|
|
227
|
+
RECORD_REPORT_DELETION = "RecordReportDeletion"
|
|
228
|
+
RECORD_WRITER_CREATION = "RecordWriterCreation"
|
|
229
|
+
STORY_RECIPIENT_UPDATE = "StoryRecipientUpdate"
|
|
230
|
+
STORY_VERSION_DELETION = "StoryVersionDeletion"
|
|
231
|
+
STORY_RECIPIENT_REMOVAL = "StoryRecipientRemoval"
|
|
232
|
+
ACTION_MEMORY_CLEARANCE = "ActionMemoryClearance"
|
|
233
|
+
ACTIONS_DISABLED_CHANGE = "ActionsDisabledChange"
|
|
234
|
+
ACTIONS_EVENTS_DELETION = "ActionsEventsDeletion"
|
|
235
|
+
ARCHIVED_STORY_DELETION = "ArchivedStoryDeletion"
|
|
236
|
+
CREDENTIAL_DESTRUCTION = "CredentialDestruction"
|
|
237
|
+
CREDENTIAL_REPLACEMENT = "CredentialReplacement"
|
|
238
|
+
ACTIONS_SCHEDULE_CHANGE = "ActionsScheduleChange"
|
|
239
|
+
RECORD_RESULT_SET_UPDATE = "RecordResultSetUpdate"
|
|
240
|
+
STORY_ACTIONS_AUTO_ALIGN = "StoryActionsAutoAlign"
|
|
241
|
+
RECORD_TYPE_DESTRUCTION = "RecordTypeDestruction"
|
|
242
|
+
STORY_ITEMS_DESTRUCTION = "StoryItemsDestruction"
|
|
243
|
+
TEAM_CASE_COMMENT_UPDATE = "TeamCaseCommentUpdate"
|
|
244
|
+
TEAM_CASE_WEBHOOK_UPDATE = "TeamCaseWebhookUpdate"
|
|
245
|
+
GLOBAL_RESOURCE_MOVEMENT = "GlobalResourceMovement"
|
|
246
|
+
STORY_ACTIONS_AUTO_LAYOUT = "StoryActionsAutoLayout"
|
|
247
|
+
GLOBAL_RESOURCE_CREATION = "GlobalResourceCreation"
|
|
248
|
+
ARCHIVED_STORY_DELETE_ALL = "ArchivedStoryDeleteAll"
|
|
249
|
+
STORY_DESCRIPTION_CHANGE = "StoryDescriptionChange"
|
|
250
|
+
STORY_SEND_TO_STORY_CHANGE = "StorySendToStoryChange"
|
|
251
|
+
STORY_RECIPIENT_ADDITION = "StoryRecipientAddition"
|
|
252
|
+
STORY_VERSION_NAME_CHANGE = "StoryVersionNameChange"
|
|
253
|
+
TEAM_CASE_BUTTON_CREATION = "TeamCaseButtonCreation"
|
|
254
|
+
ACTIONS_MONITORING_CHANGE = "ActionsMonitoringChange"
|
|
255
|
+
ANNOTATION_CONTENT_CHANGE = "AnnotationContentChange"
|
|
256
|
+
RECORD_WRITER_DESTRUCTION = "RecordWriterDestruction"
|
|
257
|
+
SSO_CONFIGURATION_OIDC_SET = "SsoConfigurationOidcSet"
|
|
258
|
+
SSO_CONFIGURATION_SAML_SET = "SsoConfigurationSamlSet"
|
|
259
|
+
STORY_ACTIONS_POSITIONING = "StoryActionsPositioning"
|
|
260
|
+
TENANT_FEATURE_FLAG_TOGGLE = "TenantFeatureFlagToggle"
|
|
261
|
+
TEAM_CASE_COMMENT_CREATION = "TeamCaseCommentCreation"
|
|
262
|
+
TENANT_PLAN_UPGRADE_REQUEST = "TenantPlanUpgradeRequest"
|
|
263
|
+
STORY_KEEP_EVENTS_FOR_CHANGE = "StoryKeepEventsForChange"
|
|
264
|
+
RECORD_REPORT_ELEMENT_UPDATE = "RecordReportElementUpdate"
|
|
265
|
+
GLOBAL_RESOURCE_DESTRUCTION = "GlobalResourceDestruction"
|
|
266
|
+
SSO_CONFIGURATION_DEFAULT_SET = "SsoConfigurationDefaultSet"
|
|
267
|
+
STORY_REPORTING_STATUS_CHANGE = "StoryReportingStatusChange"
|
|
268
|
+
TEAM_CASE_ADD_COMMENT_REACTION = "TeamCaseAddCommentReaction"
|
|
269
|
+
TEAM_CASE_SUBSCRIBER_CREATION = "TeamCaseSubscriberCreation"
|
|
270
|
+
TEAM_CASE_SUBSCRIBER_DELETION = "TeamCaseSubscriberDeletion"
|
|
271
|
+
TEAM_CASES_SAVED_VIEW_CREATION = "TeamCasesSavedViewCreation"
|
|
272
|
+
AUTHENTICATION_TOKEN_CREATION = "AuthenticationTokenCreation"
|
|
273
|
+
AUTHENTICATION_TOKEN_DELETION = "AuthenticationTokenDeletion"
|
|
274
|
+
CREDENTIAL_OAUTH_TOKEN_REFRESH = "CredentialOauthTokenRefresh"
|
|
275
|
+
RECORD_REPORT_ELEMENT_CREATION = "RecordReportElementCreation"
|
|
276
|
+
CUSTOM_CERTIFICATE_AUTHORITY_SET = "CustomCertificateAuthoritySet"
|
|
277
|
+
TEAM_CASE_REMOVE_COMMENT_REACTION = "TeamCaseRemoveCommentReaction"
|
|
278
|
+
TEAM_CASES_SAVED_VIEW_DESTRUCTION = "TeamCasesSavedViewDestruction"
|
|
279
|
+
RECORD_REPORT_ELEMENT_DESTRUCTION = "RecordReportElementDestruction"
|
|
280
|
+
RECORD_REPORT_ELEMENT_COLUMN_REORDER = "RecordReportElementColumnReorder"
|
|
281
|
+
|
|
282
|
+
class RecordFieldValue(TypedDict):
|
|
283
|
+
field_id: Union[str, int]
|
|
284
|
+
value: Union[Any]
|
|
285
|
+
|
|
286
|
+
class RecordFilter(TypedDict):
|
|
287
|
+
field_id: Union[str, int]
|
|
288
|
+
operator: Union[Literal[
|
|
289
|
+
"EQUAL", "NOT_EQUAL", "GREATER_THAN",
|
|
290
|
+
"GREATER_THAN_OR_EQUAL_TO", "LESS_THAN",
|
|
291
|
+
"LESS_THAN_OR_EQUAL_TO", "IS_EMPTY",
|
|
292
|
+
"IS_NOT_EMPTY", "IS_TRUE", "IS_FALSE"],
|
|
293
|
+
str
|
|
294
|
+
]
|
|
295
|
+
value: Optional[Union[str, int]]
|
|
296
|
+
|
|
297
|
+
class SCIMUserGroupMapping(TypedDict):
|
|
298
|
+
group_name: str
|
|
299
|
+
team_name: str
|
|
300
|
+
role_name: str
|