Skip to content

Commit b3eab71

Browse files
committed
fix: Issue searching and creation fixed
1 parent 1884dc8 commit b3eab71

14 files changed

+90
-18
lines changed

src/linear_cli/api/client/client.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,11 @@ async def get_teams(self) -> list[dict[str, Any]]:
281281
description
282282
private
283283
issueCount
284-
memberCount
284+
members {
285+
nodes {
286+
id
287+
}
288+
}
285289
}
286290
}
287291
}

src/linear_cli/api/queries.py

Lines changed: 80 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@
7474
description
7575
private
7676
issueCount
77-
memberCount
77+
members {
78+
nodes {
79+
id
80+
}
81+
}
7882
organization {
7983
id
8084
name
@@ -236,21 +240,85 @@
236240
{ISSUE_FRAGMENT}
237241
"""
238242

239-
SEARCH_ISSUES_QUERY = f"""
240-
query SearchIssues($term: String!, $first: Int, $after: String, $filter: IssueFilter) {{
241-
searchIssues(query: $term, first: $first, after: $after, filter: $filter) {{
242-
pageInfo {{
243+
SEARCH_ISSUES_QUERY = """
244+
query SearchIssues($term: String!, $first: Int, $after: String, $filter: IssueFilter) {
245+
searchIssues(term: $term, first: $first, after: $after, filter: $filter) {
246+
pageInfo {
243247
hasNextPage
244248
hasPreviousPage
245249
startCursor
246250
endCursor
247-
}}
248-
nodes {{
249-
...IssueFields
250-
}}
251-
}}
252-
}}
253-
{ISSUE_FRAGMENT}
251+
}
252+
nodes {
253+
id
254+
identifier
255+
title
256+
description
257+
priority
258+
priorityLabel
259+
url
260+
branchName
261+
customerTicketCount
262+
createdAt
263+
updatedAt
264+
archivedAt
265+
autoArchivedAt
266+
autoClosedAt
267+
canceledAt
268+
completedAt
269+
snoozedUntilAt
270+
startedAt
271+
triagedAt
272+
dueDate
273+
estimate
274+
sortOrder
275+
boardOrder
276+
subIssueSortOrder
277+
previousIdentifiers
278+
creator {
279+
id
280+
name
281+
email
282+
displayName
283+
active
284+
}
285+
assignee {
286+
id
287+
name
288+
email
289+
displayName
290+
active
291+
}
292+
team {
293+
id
294+
name
295+
key
296+
}
297+
state {
298+
id
299+
name
300+
type
301+
color
302+
}
303+
project {
304+
id
305+
name
306+
}
307+
cycle {
308+
id
309+
name
310+
number
311+
}
312+
labels {
313+
nodes {
314+
id
315+
name
316+
color
317+
}
318+
}
319+
}
320+
}
321+
}
254322
"""
255323

256324
GET_LABELS_QUERY = f"""

src/linear_cli/cli/commands/interactive.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ async def team_management_workflow() -> None:
370370
team_table.add_row(
371371
team.get("name", "Unknown"),
372372
team.get("key", "Unknown"),
373-
str(team.get("memberCount", 0)),
373+
str(len(team.get("members", {}).get("nodes", []))),
374374
)
375375

376376
console.print(team_table)

src/linear_cli/cli/commands/search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ async def run_search() -> None:
180180
console.print()
181181

182182
# Format and display issues
183-
formatter.format_issues(issues)
183+
formatter.format_issues(results)
184184

185185
# Show pagination info if available
186186
if page_info.get("hasNextPage"):

src/linear_cli/cli/commands/team.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ async def fetch_teams() -> builtins.list[dict[str, Any]]:
8282
team.get("name", ""),
8383
description,
8484
str(team.get("issueCount", 0)),
85-
str(team.get("memberCount", 0)),
85+
str(len(team.get("members", {}).get("nodes", []))),
8686
team_type,
8787
)
8888

@@ -161,7 +161,7 @@ async def fetch_team_info() -> dict[str, Any] | None:
161161

162162
# Counts
163163
console.print(f"[dim]Issues:[/dim] {team.get('issueCount', 0)}")
164-
console.print(f"[dim]Members:[/dim] {team.get('memberCount', 0)}")
164+
console.print(f"[dim]Members:[/dim] {len(team.get('members', {}).get('nodes', []))}")
165165

166166
# Workflow states
167167
states = team.get("states", {}).get("nodes", [])

src/linear_cli/cli/formatters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ def _format_teams_table(self, teams: list[dict[str, Any]]) -> None:
311311
team.get("name", ""),
312312
description,
313313
str(team.get("issueCount", 0)),
314-
str(team.get("memberCount", 0)),
314+
str(len(team.get("members", {}).get("nodes", []))),
315315
team_type,
316316
)
317317

-178 Bytes
Binary file not shown.
-8.99 KB
Binary file not shown.
-202 Bytes
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)