oa-jira
Version:
Octet Agile's JIRA connectivity project.
604 lines (561 loc) • 15.8 kB
JavaScript
const convertSprintForIssue = sprint => {
return {
id: sprint.id,
name: sprint.name,
state: sprint.state,
boardId: sprint.originBoardId,
goal: sprint.goal,
startDate: sprint.startDate,
endDate: sprint.endDate,
completeDate: sprint.completeDate
};
};
const version10003 = {
id: '10003',
name: 'v0.1.0',
archived: true,
released: true,
releaseDate: '2022-07-13',
startDate: '2022-04-04',
projectId: 10000
};
const version10004 = {
id: '10004',
name: 'v1',
archived: false,
released: false
};
const project10000 = {
id: '10000',
key: 'PRJ',
name: 'Jira PROJECT',
projectTypeKey: 'software'
};
const project10666 = {
id: '10666',
key: 'CHAOS',
name: "Tyler Durden's Chaos Project"
};
const resolution10000 = { id: '10000', description: 'Ce ticket a été traité.', name: 'Terminé' };
const resolution10001 = { id: '10001', description: "This issue won't be actioned.", name: "Won't Do" };
const resolution10002 = {
id: '10002',
description: 'The issue is a duplicate of an existing ticket.',
name: 'Duplicate'
};
const resolution10003 = { id: '10003', description: 'This issue was not approved.', name: 'Declined' };
const category2 = { id: 2, key: 'new', colorName: 'blue-gray', name: 'A faire' };
const category3 = { id: 3, key: 'done', colorName: 'green', name: 'Done' };
const category4 = { id: 4, key: 'indeterminate', colorName: 'yellow', name: 'En cours' };
const status10000 = {
description: 'Something that are identified to be done.',
iconUrl: 'to-do.png',
name: 'To Do',
id: '10000',
statusCategory: category2
};
const status10001 = {
description: 'An issue that someone is actively working on.',
iconUrl: 'in-progress.svg',
name: 'In Progress',
id: '10001',
statusCategory: category4
};
const status10002 = {
description: 'The final status of a nominal done issue.',
iconUrl: 'finish.png',
name: 'Done',
id: '10002',
statusCategory: category3
};
const status10012 = {
description: 'An issue that have to be reviewed by a peer.',
iconUrl: 'review.jpeg',
name: 'To Review',
id: '10012',
statusCategory: category4
};
const status16661 = {
description: 'a status with invalid category',
iconUrl: 'evil.png',
name: 'Welcome in hell',
id: '16661',
statusCategory: { id: "BAM ! You're dead !" }
};
const sprint2 = {
id: 2,
state: 'closed',
name: 'Sprint #2',
startDate: '2026-05-06T13:16:27.000Z',
endDate: '2026-05-20T13:16:22.000Z',
completeDate: '2026-05-07T08:11:49.236Z',
createdDate: '2026-05-06T05:19:33.207Z',
originBoardId: 1,
goal: ''
};
const sprint10 = {
id: 10,
state: 'closed',
name: 'Sprint #10',
startDate: '2022-05-06T13:16:27.000Z',
endDate: '2022-05-20T13:16:22.000Z',
completeDate: '2022-05-07T08:11:49.236Z',
createdDate: '2022-05-06T05:19:33.207Z',
originBoardId: 1,
goal: ''
};
const sprint12 = {
id: 12,
state: 'closed',
name: 'Sprint #12',
startDate: '2022-05-07T19:48:11.738Z',
endDate: '2022-05-21T19:48:08.000Z',
completeDate: '2022-05-14T06:34:53.705Z',
createdDate: '2022-05-07T19:43:55.050Z',
originBoardId: 1,
goal: ''
};
const sprint13 = {
id: 13,
state: 'closed',
name: 'Sprint #13',
startDate: '2022-05-14T06:36:27.216Z',
endDate: '2022-05-19T22:00:00.000Z',
completeDate: '2022-06-02T16:18:54.929Z',
createdDate: '2022-05-14T06:32:08.290Z',
originBoardId: 1,
goal: 'Make something beautiful !'
};
const sprint14 = {
id: 14,
state: 'closed',
name: 'Sprint #14',
startDate: '2022-06-02T17:24:33.426Z',
endDate: '2022-06-08T08:48:28.000Z',
completeDate: '2022-06-09T16:27:28.119Z',
createdDate: '2022-06-02T16:18:11.276Z',
originBoardId: 1,
goal: "Break the sky's limit"
};
const sprint15 = {
id: 15,
state: 'closed',
name: 'Sprint #15',
startDate: '2022-06-09T16:27:37.267Z',
endDate: '2022-06-15T07:51:32.000Z',
completeDate: '2022-06-18T14:54:35.074Z',
createdDate: '2022-06-09T16:16:39.831Z',
originBoardId: 1,
goal: ''
};
const sprint16 = {
id: 16,
state: 'closed',
name: 'Sprint #16'
};
const sprint12InIssue = convertSprintForIssue(sprint12);
const sprint13InIssue = convertSprintForIssue(sprint13);
const sprint14InIssue = convertSprintForIssue(sprint14);
const issuetype10001 = {
id: '10001',
description: 'A feature identified as a story for a user.',
iconUrl: 'story.png',
name: 'Story',
subtask: false,
hierarchyLevel: 0
};
const issuetype10002 = {
id: '10002',
description: 'A task.',
iconUrl: 'task.png',
name: 'Task',
subtask: false,
hierarchyLevel: 0
};
const issuetype10005 = {
id: '10005',
description: 'A small unit of work.',
iconUrl: 'subTask.jpeg',
name: 'Sub-Task',
subtask: true,
hierarchyLevel: -1
};
const issueKEY001 = {
key: 'KEY-001',
changelog: {
histories: [
{
created: '2022-06-12T12:12:12.012+0200',
items: [{ fieldId: 'labels', fromString: '' }]
},
{
created: '2022-06-11T12:11:11.011+0200',
items: [
{ fieldId: 'resolution', from: null },
{ fieldId: 'fixVersions', to: '10003' }
]
},
{
created: '2022-06-10T12:10:10.010+0200',
items: [
{ fieldId: 'resolution', from: '10001' },
{ fieldId: 'fixVersions', from: '10003' }
]
},
{
created: '2022-06-09T12:09:09.009+0200',
items: [
{ fieldId: 'labels', fromString: '' },
{ fieldId: 'resolution', from: null },
{ fieldId: 'status', from: '10012' },
{ fieldId: 'fixVersions', to: '10003' }
]
},
{
created: '2022-06-08T12:08:08.008+0200',
items: [
{ fieldId: 'status', from: '10001' },
{ fieldId: 'issuetype', from: '10001' }
]
},
{
created: '2022-06-07T12:07:07.007+0200',
items: [
{ fieldId: 'customfield_10016', fromString: '3' },
{ fieldId: 'status', from: '10000' }
]
},
{
created: '2022-06-06T12:06:06.006+0200',
items: [{ fieldId: 'customfield_10020', from: '12, 13' }]
},
{
created: '2022-06-05T12:05:05.005+0200',
items: [{ fieldId: 'customfield_10020', from: '12' }]
},
{
created: '2022-06-04T12:04:04.004+0200',
items: [
{ fieldId: 'customfield_10020', from: '' },
{ fieldId: 'customfield_10016', fromString: null }
]
},
{
created: '2022-06-03T12:03:03.003+0200',
items: [
{ fieldId: 'customfield_10020', from: '10' },
{
fieldId: 'summary',
fromString: 'As a [WHO], I should be [BE ABLE TO DO SOMETHING].',
toString: 'As a [WHO], I should be [BE ABLE TO DO SOMETHING] in order to [WHY].'
}
]
},
{
created: '2022-06-02T12:02:02.002+0200',
items: [{ fieldId: 'customfield_10020', from: '' }]
}
]
},
fields: {
summary: 'As a [WHO], I should be [BE ABLE TO DO SOMETHING] in order to [WHY].',
customfield_10016: 8.0,
issuetype: issuetype10002,
resolutiondate: '2022-06-09T12:09:09.009+0200',
created: '2022-06-01T12:01:01.001+0200',
customfield_10020: [sprint12InIssue, sprint13InIssue, sprint14InIssue],
project: project10000,
fixVersions: [version10003, version10004],
updated: '2022-06-10T12:10:10.010+0200',
resolution: resolution10000,
status: status10002
}
};
const issueKEY000 = {
key: 'KEY-000',
fields: {
summary: 'minimal',
issuetype: issuetype10002,
created: '2022-06-01T12:01:01.001+0200',
project: project10000,
updated: '2022-06-01T12:01:01.001+0200',
status: status10002
}
};
const issueKEY401 = {
key: 'KEY-401',
changelog: {
histories: [
{
created: '2022-06-05T12:05:05.005+0200',
items: [{ fieldId: 'customfield_10020', from: '500' }]
}
]
},
fields: issueKEY001.fields
};
const issueKEY402 = {
key: 'KEY-402',
changelog: {
histories: [
{
created: '2022-06-05T12:05:05.005+0200',
items: [{ fieldId: 'status', from: '500' }]
}
]
},
fields: issueKEY001.fields
};
const issueKEY403 = {
key: 'KEY-403',
changelog: {
histories: [
{
created: '2022-06-05T12:05:05.005+0200',
items: [{ fieldId: 'issuetype', from: '500' }]
}
]
},
fields: issueKEY001.fields
};
const issueKEY404 = {
key: 'KEY-404',
changelog: {
histories: [
{
created: '2022-06-05T12:05:05.005+0200',
items: [{ fieldId: 'resolution', from: '500' }]
}
]
},
fields: issueKEY001.fields
};
const issueKEY405 = {
key: 'KEY-405',
changelog: {
histories: [
{
created: '2022-06-05T12:05:05.005+0200',
items: [{ fieldId: 'fixVersions', from: '500' }]
}
]
},
fields: issueKEY001.fields
};
const issueKEY406 = {
key: 'KEY-406',
changelog: {
histories: []
},
fields: {
summary: 2,
customfield_10016: 8.0,
issuetype: issuetype10002,
resolutiondate: '2022-06-09T12:09:09.009+0200',
created: '2022-06-01T12:01:01.001+0200',
customfield_10020: [sprint12InIssue, sprint13InIssue, sprint14InIssue],
project: project10000,
fixVersions: [version10003, version10004],
updated: '2022-06-10T12:10:10.010+0200',
resolution: resolution10000,
status: status10002
}
};
const issueKEY407 = {
key: 'KEY-407',
changelog: {
histories: []
},
fields: {
summary: 'Invalid Sprint',
customfield_10016: 8.0,
issuetype: issuetype10002,
resolutiondate: '2022-06-09T12:09:09.009+0200',
created: '2022-06-01T12:01:01.001+0200',
customfield_10020: [{}],
project: project10000,
fixVersions: [version10003, version10004],
updated: '2022-06-10T12:10:10.010+0200',
resolution: resolution10000,
status: status10002
}
};
const issueKEY408 = {
key: 'KEY-408',
changelog: {
histories: []
},
fields: {
summary: 'Invalid Status Category',
customfield_10016: 8.0,
issuetype: issuetype10002,
resolutiondate: '2022-06-09T12:09:09.009+0200',
created: '2022-06-01T12:01:01.001+0200',
customfield_10020: [sprint12InIssue, sprint13InIssue, sprint14InIssue],
project: project10000,
fixVersions: [version10003, version10004],
updated: '2022-06-10T12:10:10.010+0200',
resolution: resolution10000,
status: status16661
}
};
const issueKEY409 = {
key: 'KEY-409',
changelog: {
histories: []
},
fields: {
summary: 'Invalid Status',
customfield_10016: 8.0,
issuetype: issuetype10002,
resolutiondate: '2022-06-09T12:09:09.009+0200',
created: '2022-06-01T12:01:01.001+0200',
customfield_10020: [sprint12InIssue, sprint13InIssue, sprint14InIssue],
project: project10000,
fixVersions: [version10003, version10004],
updated: '2022-06-10T12:10:10.010+0200',
resolution: resolution10000,
status: {}
}
};
const issueKEY410 = {
key: 'KEY-410',
changelog: {
histories: []
},
fields: {
summary: 'Invalid Project',
customfield_10016: 8.0,
issuetype: issuetype10002,
resolutiondate: '2022-06-09T12:09:09.009+0200',
created: '2022-06-01T12:01:01.001+0200',
customfield_10020: [sprint12InIssue, sprint13InIssue, sprint14InIssue],
project: {},
fixVersions: [version10003, version10004],
updated: '2022-06-10T12:10:10.010+0200',
resolution: resolution10000,
status: status10002
}
};
const issueKEY411 = {
key: 'KEY-411',
changelog: {
histories: []
},
fields: {
summary: 'Invalid Resolution',
customfield_10016: 8.0,
issuetype: issuetype10002,
resolutiondate: '2022-06-09T12:09:09.009+0200',
created: '2022-06-01T12:01:01.001+0200',
customfield_10020: [sprint12InIssue, sprint13InIssue, sprint14InIssue],
project: project10000,
fixVersions: [version10003, version10004],
updated: '2022-06-10T12:10:10.010+0200',
resolution: {},
status: status10002
}
};
const issueKEY412 = {
key: 'KEY-412',
changelog: {
histories: []
},
fields: {
summary: 'Invalid Issue Type',
customfield_10016: 8.0,
issuetype: {},
resolutiondate: '2022-06-09T12:09:09.009+0200',
created: '2022-06-01T12:01:01.001+0200',
customfield_10020: [sprint12InIssue, sprint13InIssue, sprint14InIssue],
project: project10000,
fixVersions: [version10003, version10004],
updated: '2022-06-10T12:10:10.010+0200',
resolution: resolution10000,
status: status10002
}
};
const issueKEY413 = {
key: 'KEY-413',
changelog: {
histories: []
},
fields: {
summary: 'Invalid Fix Versions',
customfield_10016: 8.0,
issuetype: issuetype10002,
resolutiondate: '2022-06-09T12:09:09.009+0200',
created: '2022-06-01T12:01:01.001+0200',
customfield_10020: [sprint12InIssue, sprint13InIssue, sprint14InIssue],
project: project10000,
fixVersions: [{}, version10004],
updated: '2022-06-10T12:10:10.010+0200',
resolution: resolution10000,
status: status10002
}
};
const board1 = {
id: 1,
name: 'a board',
location: { id: '10000' },
columnConfig: {
columns: [
{ name: 'To Do', statuses: [{ id: '10000' }] },
{ name: 'In Progress', min: 1, max: 4, statuses: [{ id: '10001' }] },
{ name: 'Done', statuses: [{ id: '10002' }] }
]
}
};
const board2 = {
id: 2,
name: 'a board with an empty column',
location: { id: '10000' },
columnConfig: {
columns: [
{ name: 'To Do', statuses: [{ id: '10000' }] },
{ name: 'In Progress', min: 1, max: 4, statuses: [{ id: '10001' }] },
{ name: 'Done', statuses: [] }
]
}
};
const board3 = {
id: 3,
name: 'a board without column',
location: { id: '10000' },
columnConfig: { columns: [] }
};
const board501 = {
id: 501,
name: 'a toxic board',
location: { id: '10000' },
columnConfig: {
columns: [{ name: 'To Do', statuses: [{ id: 10000 }] }]
}
};
module.exports = {
boards: { 1: board1, 2: board2, 3: board3, 501: board501 },
versions: { 10003: version10003, 10004: version10004 },
projects: { 10000: project10000, 10666: project10666 },
resolutions: { 10000: resolution10000, 10001: resolution10001, 10002: resolution10002, 10003: resolution10003 },
categories: { 2: category2, 3: category3, 4: category4 },
statuses: { 10000: status10000, 10001: status10001, 10002: status10002, 10012: status10012, 16661: status16661 },
sprints: { 2: sprint2, 10: sprint10, 12: sprint12, 13: sprint13, 14: sprint14, 15: sprint15, 16: sprint16 },
types: { 10001: issuetype10001, 10002: issuetype10002, 10005: issuetype10005 },
issues: {
'KEY-000': issueKEY000,
'KEY-001': issueKEY001,
'KEY-401': issueKEY401,
'KEY-402': issueKEY402,
'KEY-403': issueKEY403,
'KEY-404': issueKEY404,
'KEY-405': issueKEY405,
'KEY-406': issueKEY406,
'KEY-407': issueKEY407,
'KEY-408': issueKEY408,
'KEY-409': issueKEY409,
'KEY-410': issueKEY410,
'KEY-411': issueKEY411,
'KEY-412': issueKEY412,
'KEY-413': issueKEY413
}
};