Skip to content

Commit b646806

Browse files
aadamgoughAdam Gough
andauthored
fix(jira): jira project and issue auto loading (#324)
Co-authored-by: Adam Gough <adamgough@Adams-MacBook-Pro.local>
1 parent 9f1e8e3 commit b646806

3 files changed

Lines changed: 17 additions & 3 deletions

File tree

sim/app/api/auth/oauth/jira/issue/route.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ export async function POST(request: Request) {
5959
}
6060

6161
const data = await response.json()
62+
logger.info('Successfully fetched issue:', data.key)
6263

6364
// Transform the Jira issue data into our expected format
6465
const issueInfo: any = {

sim/app/w/[id]/components/workflow-block/components/sub-block/components/file-selector/components/jira-issue-selector.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,16 +207,24 @@ export function JiraIssueSelector({
207207

208208
if (!response.ok) {
209209
const errorData = await response.json()
210+
logger.error('Failed to fetch issue info:', errorData)
210211
throw new Error(errorData.error || 'Failed to fetch issue info')
211212
}
212213

213214
const data = await response.json()
214215
if (data.cloudId) {
216+
logger.info('Using cloud ID:', data.cloudId)
215217
setCloudId(data.cloudId)
216218
}
219+
217220
if (data.issue) {
221+
logger.info('Successfully fetched issue:', data.issue.name)
218222
setSelectedIssue(data.issue)
219223
onIssueInfoChange?.(data.issue)
224+
} else {
225+
logger.warn('No issue data received in response')
226+
setSelectedIssue(null)
227+
onIssueInfoChange?.(null)
220228
}
221229
} catch (error) {
222230
logger.error('Error fetching issue info:', error)
@@ -363,6 +371,7 @@ export function JiraIssueSelector({
363371
}
364372
}, [fetchCredentials])
365373

374+
366375
// Handle open change
367376
const handleOpenChange = (isOpen: boolean) => {
368377
setOpen(isOpen)
@@ -375,7 +384,7 @@ export function JiraIssueSelector({
375384

376385
// Fetch selected issue metadata once credentials are ready or changed
377386
useEffect(() => {
378-
if (value && selectedCredentialId && !selectedIssue && domain && domain.includes('.')) {
387+
if (value && selectedCredentialId && domain && domain.includes('.') && (!selectedIssue || selectedIssue.id !== value)) {
379388
fetchIssueInfo(value)
380389
}
381390
}, [value, selectedCredentialId, selectedIssue, domain, fetchIssueInfo])

sim/app/w/[id]/components/workflow-block/components/sub-block/components/file-selector/file-selector-input.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,13 @@ export function FileSelectorInput({ blockId, subBlock, disabled = false }: FileS
3333
useEffect(() => {
3434
const value = getValue(blockId, subBlock.id)
3535
if (value && typeof value === 'string') {
36-
setSelectedFileId(value)
36+
if (isJira) {
37+
setSelectedIssueId(value)
38+
} else {
39+
setSelectedFileId(value)
40+
}
3741
}
38-
}, [blockId, subBlock.id, getValue])
42+
}, [blockId, subBlock.id, getValue, isJira])
3943

4044
// Handle file selection
4145
const handleFileChange = (fileId: string, info?: any) => {

0 commit comments

Comments
 (0)