Skip to content

Commit 2e0e588

Browse files
ref: unify signatures of get_issue_label / get_issue_url (#74892)
fixes errors pointed out by upgrading mypy to 1.11 <!-- Describe your PR here. -->
1 parent 781d61e commit 2e0e588

File tree

21 files changed

+53
-75
lines changed

21 files changed

+53
-75
lines changed

src/sentry/integrations/bitbucket/issues.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929

3030
class BitbucketIssueBasicMixin(IssueBasicMixin):
31-
def get_issue_url(self, key):
31+
def get_issue_url(self, key: str) -> str:
3232
repo, issue_id = key.split("#")
3333
return f"https://bitbucket.org/{repo}/issues/{issue_id}"
3434

src/sentry/integrations/example/integration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ class ExampleIntegration(IntegrationInstallation, IssueSyncMixin, RepositoryMixi
7272
outbound_assignee_key = "sync_assignee_outbound"
7373
inbound_assignee_key = "sync_assignee_inbound"
7474

75-
def get_issue_url(self, key):
75+
def get_issue_url(self, key: str) -> str:
7676
return f"https://example/issues/{key}"
7777

7878
def create_comment(self, issue_id, user_id, group_note):

src/sentry/integrations/gitlab/issues.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class GitlabIssueBasic(IssueBasicMixin):
2020
def make_external_key(self, data):
2121
return "{}:{}".format(self.model.metadata["domain_name"], data["key"])
2222

23-
def get_issue_url(self, key):
23+
def get_issue_url(self, key: str) -> str:
2424
match = ISSUE_EXTERNAL_KEY_FORMAT.match(key)
2525
project, issue_id = match.group(1), match.group(2)
2626
return "{}/{}/issues/{}".format(self.model.metadata["base_url"], project, issue_id)

src/sentry/integrations/jira/integration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ def get_link_issue_config(self, group, **kwargs):
338338
field["type"] = "select"
339339
return fields
340340

341-
def get_issue_url(self, key, **kwargs):
341+
def get_issue_url(self, key: str) -> str:
342342
return "{}/browse/{}".format(self.model.metadata["base_url"], key)
343343

344344
def get_persisted_default_config_fields(self) -> Sequence[str]:

src/sentry/integrations/jira_server/integration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ def get_link_issue_config(self, group, **kwargs):
518518

519519
return fields
520520

521-
def get_issue_url(self, key, **kwargs):
521+
def get_issue_url(self, key: str) -> str:
522522
return "{}/browse/{}".format(self.model.metadata["base_url"], key)
523523

524524
def get_persisted_default_config_fields(self) -> Sequence[str]:

src/sentry/integrations/mixins/issues.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def should_sync(self, attribute):
6363
def get_group_title(self, group, event, **kwargs):
6464
return get_notification_group_title(group, event, **kwargs)
6565

66-
def get_issue_url(self, key):
66+
def get_issue_url(self, key: str) -> str:
6767
"""
6868
Given the key of the external_issue return the external issue link.
6969
"""

src/sentry/integrations/vsts/issues.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ def get_link_issue_config(self, group: "Group", **kwargs: Any) -> Sequence[Mappi
161161
field["type"] = "select"
162162
return fields
163163

164-
def get_issue_url(self, key: str, **kwargs: Any) -> str:
164+
def get_issue_url(self, key: str) -> str:
165165
return f"{self.instance}_workitems/edit/{key}"
166166

167167
def create_issue(self, data: Mapping[str, str], **kwargs: Any) -> Mapping[str, Any]:

src/sentry/plugins/bases/issue.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def get_link_existing_issue_form(self, request: Request, group, event, **kwargs)
122122
request.POST or None, initial=self.get_initial_link_form_data(request, group, event)
123123
)
124124

125-
def get_issue_url(self, group, issue_id, **kwargs):
125+
def get_issue_url(self, group, issue_id: str) -> str:
126126
"""
127127
Given an issue_id (string) return an absolute URL to the issue's details
128128
page.
@@ -135,7 +135,7 @@ def get_issue_title_by_id(self, request: Request, group, issue_id):
135135
"""
136136
raise NotImplementedError
137137

138-
def get_issue_label(self, group, issue_id, **kwargs):
138+
def get_issue_label(self, group, issue_id) -> str:
139139
"""
140140
Given an issue_id (string) return a string representing the issue.
141141

src/sentry/plugins/bases/issue2.py

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -146,32 +146,20 @@ def get_new_issue_fields(self, request: Request, group, event, **kwargs):
146146
def get_link_existing_issue_fields(self, request: Request, group, event, **kwargs):
147147
return []
148148

149-
def _get_issue_url_compat(self, group, issue, **kwargs):
150-
if self.issue_fields is None:
151-
return self.get_issue_url(group, issue["id"])
152-
return self.get_issue_url(group, issue)
153-
154-
def _get_issue_label_compat(self, group, issue, **kwargs):
155-
if self.issue_fields is None:
156-
return self.get_issue_label(group, issue["id"])
157-
return self.get_issue_label(group, issue)
158-
159-
def get_issue_url(self, group, issue, **kwargs):
149+
def get_issue_url(self, group, issue_id: str) -> str:
160150
"""
161-
Given an issue context (issue_id string or issue dict) return an absolute URL to the issue's details
151+
Given an issue context (issue_id string) return an absolute URL to the issue's details
162152
page.
163153
"""
164154
raise NotImplementedError
165155

166-
def get_issue_label(self, group, issue, **kwargs):
156+
def get_issue_label(self, group, issue_id: str) -> str:
167157
"""
168-
Given an issue context (issue_id string or issue dict) return a string representing the issue.
158+
Given an issue context (issue_id string) return a string representing the issue.
169159
170160
e.g. GitHub represents issues as GH-XXX
171161
"""
172-
if isinstance(issue, dict):
173-
return "#{}".format(issue["id"])
174-
return f"#{issue}"
162+
return f"#{issue_id}"
175163

176164
def create_issue(self, request: Request, group, form_data):
177165
"""
@@ -274,8 +262,8 @@ def view_create(self, request: Request, group, **kwargs):
274262
or request.data.get("title")
275263
or self._get_issue_label_compat(group, issue),
276264
"provider": self.get_title(),
277-
"location": self._get_issue_url_compat(group, issue),
278-
"label": self._get_issue_label_compat(group, issue),
265+
"location": self.get_issue_url(group, issue["id"]),
266+
"label": self.get_issue_label(group, issue["id"]),
279267
}
280268
Activity.objects.create(
281269
project=group.project,
@@ -290,9 +278,9 @@ def view_create(self, request: Request, group, **kwargs):
290278
)
291279
return Response(
292280
{
293-
"issue_url": self.get_issue_url(group, issue),
294-
"link": self._get_issue_url_compat(group, issue),
295-
"label": self._get_issue_label_compat(group, issue),
281+
"issue_url": self.get_issue_url(group, issue["id"]),
282+
"link": self.get_issue_url(group, issue["id"]),
283+
"label": self.get_issue_label(group, issue["id"]),
296284
"id": issue["id"],
297285
}
298286
)
@@ -341,8 +329,8 @@ def view_link(self, request: Request, group, **kwargs):
341329
issue_information = {
342330
"title": issue.get("title") or self._get_issue_label_compat(group, issue),
343331
"provider": self.get_title(),
344-
"location": self._get_issue_url_compat(group, issue),
345-
"label": self._get_issue_label_compat(group, issue),
332+
"location": self.get_issue_url(group, issue["id"]),
333+
"label": self.get_issue_label(group, issue["id"]),
346334
}
347335
Activity.objects.create(
348336
project=group.project,
@@ -354,8 +342,8 @@ def view_link(self, request: Request, group, **kwargs):
354342
return Response(
355343
{
356344
"message": "Successfully linked issue.",
357-
"link": self._get_issue_url_compat(group, issue),
358-
"label": self._get_issue_label_compat(group, issue),
345+
"link": self.get_issue_url(group, issue["id"]),
346+
"label": self.get_issue_label(group, issue["id"]),
359347
"id": issue["id"],
360348
}
361349
)
@@ -383,8 +371,8 @@ def plugin_issues(self, request: Request, group, plugin_issues, **kwargs) -> Non
383371
if issue:
384372
item["issue"] = {
385373
"issue_id": issue.get("id"),
386-
"url": self._get_issue_url_compat(group, issue),
387-
"label": self._get_issue_label_compat(group, issue),
374+
"url": self.get_issue_url(group, issue["id"]),
375+
"label": self.get_issue_label(group, issue["id"]),
388376
}
389377

390378
item.update(PluginSerializer(group.project).serialize(self, None, request.user))
@@ -430,8 +418,8 @@ def tags(self, request: Request, group, tag_list, **kwargs):
430418

431419
tag_list.append(
432420
{
433-
"url": self._get_issue_url_compat(group, issue),
434-
"displayName": self._get_issue_label_compat(group, issue),
421+
"url": self.get_issue_url(group, issue["id"]),
422+
"displayName": self.get_issue_label(group, issue["id"]),
435423
}
436424
)
437425

src/sentry/plugins/examples/issue_tracking.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ def get_new_issue_fields(self, request: Request, group, event, **kwargs):
3131
def create_issue(self, request: Request, group, form_data):
3232
return "1"
3333

34-
def get_issue_label(self, group, issue_id, **kwargs):
34+
def get_issue_label(self, group, issue_id: str) -> str:
3535
return "Example-%s" % issue_id
3636

37-
def get_issue_url(self, group, issue_id, **kwargs):
37+
def get_issue_url(self, group, issue_id: str) -> str:
3838
tracker_url = self.get_option("tracker_url", group.project)
3939

4040
return f"{tracker_url}?issueID={issue_id}"

0 commit comments

Comments
 (0)