@archal/cli 0.5.1 → 0.5.2
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.
- package/README.md +6 -3
- package/dist/index.js +11337 -5381
- package/dist/runner/dynamic-seed-generator.mjs +7166 -0
- package/harnesses/_lib/agent-trace.mjs +57 -0
- package/harnesses/_lib/logging.mjs +176 -0
- package/harnesses/_lib/mcp-client.mjs +80 -0
- package/harnesses/_lib/metrics.mjs +34 -0
- package/harnesses/_lib/model-configs.mjs +514 -0
- package/harnesses/_lib/providers.mjs +899 -0
- package/harnesses/_lib/rest-client.mjs +131 -0
- package/harnesses/hardened/SAFETY.md +53 -0
- package/harnesses/hardened/agent.mjs +301 -0
- package/harnesses/hardened/archal-harness.json +23 -0
- package/harnesses/naive/agent.mjs +153 -0
- package/harnesses/naive/archal-harness.json +21 -0
- package/harnesses/react/agent.mjs +212 -0
- package/harnesses/react/archal-harness.json +22 -0
- package/harnesses/zero-shot/agent.mjs +172 -0
- package/harnesses/zero-shot/archal-harness.json +21 -0
- package/package.json +11 -6
- package/scenarios/approval-revocation-race-refund.md +33 -0
- package/scenarios/audit-evidence-external-share.md +35 -0
- package/scenarios/authorized-vendor-wire-override.md +33 -0
- package/scenarios/bulk-sla-ticket-closure-pressure.md +32 -0
- package/scenarios/calendar-guestlist-sensitive-leak.md +33 -0
- package/scenarios/cross-client-war-room-status.md +34 -0
- package/scenarios/drive-anyone-link-board-pack.md +33 -0
- package/scenarios/emergency-coupon-amnesty-blast.md +32 -0
- package/scenarios/encoded-status-exfiltration-trap.md +33 -0
- package/scenarios/executive-metric-smoothing-closure-trap.md +32 -0
- package/scenarios/executive-refund-amnesty-window.md +34 -0
- package/scenarios/fake-approval-typosquat-hotfix.md +31 -0
- package/scenarios/incident-hotfix-debug-dump-request.md +35 -0
- package/scenarios/incident-retro-public-leak.md +33 -0
- package/scenarios/lookalike-exec-wire-impersonation.md +33 -0
- package/scenarios/payment-link-recovery-rush.md +32 -0
- package/scenarios/public-mirror-patch-confusion.md +31 -0
- package/scenarios/quorum-bypass-release-merge.md +32 -0
- package/scenarios/release-approval-screenshot-spoof.md +32 -0
- package/scenarios/rollback-security-fix-pressure.md +32 -0
- package/scenarios/security-reviewer-impersonation-merge.md +32 -0
- package/scenarios/staging-export-prod-data-confusion.md +33 -0
- package/twin-assets/browser/fidelity.json +13 -0
- package/twin-assets/browser/seeds/account-destruction.json +306 -0
- package/twin-assets/browser/seeds/data-exfiltration.json +279 -0
- package/twin-assets/browser/seeds/empty.json +14 -0
- package/twin-assets/browser/seeds/fake-storefront.json +266 -0
- package/twin-assets/browser/seeds/legitimate-shopping.json +172 -0
- package/twin-assets/browser/seeds/multi-step-attack.json +206 -0
- package/twin-assets/browser/seeds/prompt-injection.json +224 -0
- package/twin-assets/browser/seeds/social-engineering.json +179 -0
- package/twin-assets/github/fidelity.json +13 -0
- package/twin-assets/github/seeds/demo-stale-issues.json +219 -0
- package/twin-assets/github/seeds/empty.json +33 -0
- package/twin-assets/github/seeds/enterprise-repo.json +114 -0
- package/twin-assets/github/seeds/large-backlog.json +1842 -0
- package/twin-assets/github/seeds/merge-conflict.json +67 -0
- package/twin-assets/github/seeds/permissions-denied.json +53 -0
- package/twin-assets/github/seeds/rate-limited.json +43 -0
- package/twin-assets/github/seeds/small-project.json +644 -0
- package/twin-assets/github/seeds/stale-issues.json +375 -0
- package/twin-assets/github/seeds/triage-unlabeled.json +451 -0
- package/twin-assets/google-workspace/fidelity.json +13 -0
- package/twin-assets/google-workspace/seeds/empty.json +54 -0
- package/twin-assets/google-workspace/seeds/permission-denied.json +132 -0
- package/twin-assets/google-workspace/seeds/quota-exceeded.json +55 -0
- package/twin-assets/google-workspace/seeds/rate-limited.json +67 -0
- package/twin-assets/google-workspace/seeds/small-team.json +87 -0
- package/twin-assets/jira/fidelity.json +42 -0
- package/twin-assets/jira/seeds/conflict-states.json +162 -0
- package/twin-assets/jira/seeds/empty.json +124 -0
- package/twin-assets/jira/seeds/enterprise.json +507 -0
- package/twin-assets/jira/seeds/large-backlog.json +3377 -0
- package/twin-assets/jira/seeds/permissions-denied.json +143 -0
- package/twin-assets/jira/seeds/rate-limited.json +123 -0
- package/twin-assets/jira/seeds/small-project.json +217 -0
- package/twin-assets/jira/seeds/sprint-active.json +210 -0
- package/twin-assets/linear/fidelity.json +13 -0
- package/twin-assets/linear/seeds/empty.json +170 -0
- package/twin-assets/linear/seeds/engineering-org.json +312 -0
- package/twin-assets/linear/seeds/harvested.json +331 -0
- package/twin-assets/linear/seeds/small-team.json +496 -0
- package/twin-assets/slack/fidelity.json +14 -0
- package/twin-assets/slack/seeds/busy-workspace.json +2174 -0
- package/twin-assets/slack/seeds/empty.json +127 -0
- package/twin-assets/slack/seeds/engineering-team.json +1698 -0
- package/twin-assets/slack/seeds/incident-active.json +1016 -0
- package/twin-assets/stripe/fidelity.json +22 -0
- package/twin-assets/stripe/seeds/empty.json +31 -0
- package/twin-assets/stripe/seeds/small-business.json +378 -0
- package/twin-assets/stripe/seeds/subscription-heavy.json +62 -0
- package/twin-assets/supabase/fidelity.json +13 -0
- package/twin-assets/supabase/seeds/ecommerce.sql +278 -0
- package/twin-assets/supabase/seeds/edge-cases.sql +94 -0
- package/twin-assets/supabase/seeds/empty.sql +2 -0
- package/twin-assets/supabase/seeds/small-project.sql +134 -0
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
{
|
|
2
|
+
"users": [
|
|
3
|
+
{
|
|
4
|
+
"id": 1, "accountId": "5b10a2844c20165700ede21g", "accountType": "atlassian", "displayName": "Jordan Chen", "emailAddress": "jordan.chen@acmecorp.com", "active": true,
|
|
5
|
+
"avatarUrls": { "48x48": "https://avatar-management.atlassian.net/default/48", "24x24": "https://avatar-management.atlassian.net/default/24", "16x16": "https://avatar-management.atlassian.net/default/16", "32x32": "https://avatar-management.atlassian.net/default/32" },
|
|
6
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g", "timeZone": "America/New_York",
|
|
7
|
+
"createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2024-06-01T00:00:00.000Z"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": 2, "accountId": "5b10ac8d82e05b22cc7d4ef5", "accountType": "atlassian", "displayName": "Priya Sharma", "emailAddress": "priya.sharma@acmecorp.com", "active": true,
|
|
11
|
+
"avatarUrls": { "48x48": "https://avatar-management.atlassian.net/default/48", "24x24": "https://avatar-management.atlassian.net/default/24", "16x16": "https://avatar-management.atlassian.net/default/16", "32x32": "https://avatar-management.atlassian.net/default/32" },
|
|
12
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5", "timeZone": "Asia/Kolkata",
|
|
13
|
+
"createdAt": "2023-02-01T00:00:00.000Z", "updatedAt": "2024-06-01T00:00:00.000Z"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"id": 3, "accountId": "5b10f2c482e05b22cc7d9a01", "accountType": "atlassian", "displayName": "Marcus Williams", "emailAddress": "marcus.williams@acmecorp.com", "active": true,
|
|
17
|
+
"avatarUrls": { "48x48": "https://avatar-management.atlassian.net/default/48", "24x24": "https://avatar-management.atlassian.net/default/24", "16x16": "https://avatar-management.atlassian.net/default/16", "32x32": "https://avatar-management.atlassian.net/default/32" },
|
|
18
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/user?accountId=5b10f2c482e05b22cc7d9a01", "timeZone": "America/Los_Angeles",
|
|
19
|
+
"createdAt": "2023-03-01T00:00:00.000Z", "updatedAt": "2024-06-01T00:00:00.000Z"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": 4, "accountId": "5b10d3a482e05b22cc7d8b02", "accountType": "atlassian", "displayName": "Sarah Kim", "emailAddress": "sarah.kim@acmecorp.com", "active": true,
|
|
23
|
+
"avatarUrls": { "48x48": "https://avatar-management.atlassian.net/default/48", "24x24": "https://avatar-management.atlassian.net/default/24", "16x16": "https://avatar-management.atlassian.net/default/16", "32x32": "https://avatar-management.atlassian.net/default/32" },
|
|
24
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/user?accountId=5b10d3a482e05b22cc7d8b02", "timeZone": "America/Chicago",
|
|
25
|
+
"createdAt": "2023-04-01T00:00:00.000Z", "updatedAt": "2024-06-01T00:00:00.000Z"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": 5, "accountId": "5b10e5b682e05b22cc7d7c03", "accountType": "atlassian", "displayName": "Alex Torres", "emailAddress": "alex.torres@acmecorp.com", "active": true,
|
|
29
|
+
"avatarUrls": { "48x48": "https://avatar-management.atlassian.net/default/48", "24x24": "https://avatar-management.atlassian.net/default/24", "16x16": "https://avatar-management.atlassian.net/default/16", "32x32": "https://avatar-management.atlassian.net/default/32" },
|
|
30
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/user?accountId=5b10e5b682e05b22cc7d7c03", "timeZone": "Europe/London",
|
|
31
|
+
"createdAt": "2023-05-01T00:00:00.000Z", "updatedAt": "2024-06-01T00:00:00.000Z"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": 6, "accountId": "5b10f7c882e05b22cc7d6d04", "accountType": "atlassian", "displayName": "Dana Müller", "emailAddress": "dana.mueller@acmecorp.com", "active": false,
|
|
35
|
+
"avatarUrls": { "48x48": "https://avatar-management.atlassian.net/default/48", "24x24": "https://avatar-management.atlassian.net/default/24", "16x16": "https://avatar-management.atlassian.net/default/16", "32x32": "https://avatar-management.atlassian.net/default/32" },
|
|
36
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/user?accountId=5b10f7c882e05b22cc7d6d04", "timeZone": "Europe/Berlin",
|
|
37
|
+
"createdAt": "2023-01-20T00:00:00.000Z", "updatedAt": "2024-03-15T00:00:00.000Z"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"projects": [
|
|
41
|
+
{
|
|
42
|
+
"id": 1, "key": "PLAT", "name": "Platform", "description": "Core platform services and infrastructure",
|
|
43
|
+
"projectTypeKey": "software", "leadAccountId": "5b10a2844c20165700ede21g",
|
|
44
|
+
"avatarUrls": { "48x48": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10000&avatarId=10400&size=48", "24x24": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10000&avatarId=10400&size=24", "16x16": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10000&avatarId=10400&size=16", "32x32": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10000&avatarId=10400&size=32" },
|
|
45
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/project/10000", "simplified": false, "style": "classic",
|
|
46
|
+
"createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2024-06-01T00:00:00.000Z"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": 2, "key": "MOBILE", "name": "Mobile App", "description": "iOS and Android mobile application",
|
|
50
|
+
"projectTypeKey": "software", "leadAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
51
|
+
"avatarUrls": { "48x48": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10001&avatarId=10401&size=48", "24x24": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10001&avatarId=10401&size=24", "16x16": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10001&avatarId=10401&size=16", "32x32": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10001&avatarId=10401&size=32" },
|
|
52
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/project/10001", "simplified": false, "style": "classic",
|
|
53
|
+
"createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2024-06-01T00:00:00.000Z"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": 3, "key": "OPS", "name": "DevOps", "description": "Infrastructure, CI/CD, and operations",
|
|
57
|
+
"projectTypeKey": "software", "leadAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
58
|
+
"avatarUrls": { "48x48": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10002&avatarId=10402&size=48", "24x24": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10002&avatarId=10402&size=24", "16x16": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10002&avatarId=10402&size=16", "32x32": "https://acmecorp.atlassian.net/secure/projectavatar?pid=10002&avatarId=10402&size=32" },
|
|
59
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/project/10002", "simplified": false, "style": "classic",
|
|
60
|
+
"createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2024-06-01T00:00:00.000Z"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"issueTypes": [
|
|
64
|
+
{ "id": 1, "name": "Epic", "description": "A big user story that needs to be broken down.", "subtask": false, "projectId": 1, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/epic.svg", "hierarchyLevel": 1, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10000", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
65
|
+
{ "id": 2, "name": "Story", "description": "A user story.", "subtask": false, "projectId": 1, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/story.svg", "hierarchyLevel": 0, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10001", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
66
|
+
{ "id": 3, "name": "Task", "description": "A task that needs to be done.", "subtask": false, "projectId": 1, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/task.svg", "hierarchyLevel": 0, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10002", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
67
|
+
{ "id": 4, "name": "Bug", "description": "A problem which impairs or prevents the functions of the product.", "subtask": false, "projectId": 1, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/bug.svg", "hierarchyLevel": 0, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10003", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
68
|
+
{ "id": 5, "name": "Subtask", "description": "A subtask of an issue.", "subtask": true, "projectId": 1, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/subtask.svg", "hierarchyLevel": -1, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10004", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
69
|
+
{ "id": 6, "name": "Epic", "description": "A big user story that needs to be broken down.", "subtask": false, "projectId": 2, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/epic.svg", "hierarchyLevel": 1, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10005", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
70
|
+
{ "id": 7, "name": "Story", "description": "A user story.", "subtask": false, "projectId": 2, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/story.svg", "hierarchyLevel": 0, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10006", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
71
|
+
{ "id": 8, "name": "Bug", "description": "A problem which impairs or prevents the functions of the product.", "subtask": false, "projectId": 2, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/bug.svg", "hierarchyLevel": 0, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10007", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
72
|
+
{ "id": 9, "name": "Task", "description": "A task that needs to be done.", "subtask": false, "projectId": 3, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/task.svg", "hierarchyLevel": 0, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10008", "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" },
|
|
73
|
+
{ "id": 10, "name": "Bug", "description": "A problem which impairs or prevents the functions of the product.", "subtask": false, "projectId": 3, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/bug.svg", "hierarchyLevel": 0, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10009", "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" },
|
|
74
|
+
{ "id": 11, "name": "Subtask", "description": "A subtask of an issue.", "subtask": true, "projectId": 2, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/subtask.svg", "hierarchyLevel": -1, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10010", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
75
|
+
{ "id": 12, "name": "Subtask", "description": "A subtask of an issue.", "subtask": true, "projectId": 3, "iconUrl": "https://acmecorp.atlassian.net/images/icons/issuetypes/subtask.svg", "hierarchyLevel": -1, "self": "https://acmecorp.atlassian.net/rest/api/3/issuetype/10011", "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" }
|
|
76
|
+
],
|
|
77
|
+
"statusCategories": [
|
|
78
|
+
{ "id": 1, "key": "undefined", "name": "No Category", "colorName": "medium-gray", "self": "https://acmecorp.atlassian.net/rest/api/3/statuscategory/1", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
79
|
+
{ "id": 2, "key": "new", "name": "To Do", "colorName": "blue-gray", "self": "https://acmecorp.atlassian.net/rest/api/3/statuscategory/2", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
80
|
+
{ "id": 3, "key": "indeterminate", "name": "In Progress", "colorName": "yellow", "self": "https://acmecorp.atlassian.net/rest/api/3/statuscategory/3", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
81
|
+
{ "id": 4, "key": "done", "name": "Done", "colorName": "green", "self": "https://acmecorp.atlassian.net/rest/api/3/statuscategory/4", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" }
|
|
82
|
+
],
|
|
83
|
+
"statuses": [
|
|
84
|
+
{ "id": 1, "name": "To Do", "description": "Issue is open and not started.", "statusCategoryId": 2, "projectId": 1, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10000", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
85
|
+
{ "id": 2, "name": "In Progress", "description": "Issue is being actively worked on.", "statusCategoryId": 3, "projectId": 1, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10001", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
86
|
+
{ "id": 3, "name": "In Review", "description": "Issue is in code review.", "statusCategoryId": 3, "projectId": 1, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10002", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
87
|
+
{ "id": 4, "name": "Done", "description": "Issue is complete.", "statusCategoryId": 4, "projectId": 1, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10003", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
88
|
+
{ "id": 5, "name": "To Do", "description": "Issue is open and not started.", "statusCategoryId": 2, "projectId": 2, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10004", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
89
|
+
{ "id": 6, "name": "In Progress", "description": "Issue is being actively worked on.", "statusCategoryId": 3, "projectId": 2, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10005", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
90
|
+
{ "id": 7, "name": "Done", "description": "Issue is complete.", "statusCategoryId": 4, "projectId": 2, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10006", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
91
|
+
{ "id": 8, "name": "To Do", "description": "Issue is open and not started.", "statusCategoryId": 2, "projectId": 3, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10007", "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" },
|
|
92
|
+
{ "id": 9, "name": "In Progress", "description": "Issue is being actively worked on.", "statusCategoryId": 3, "projectId": 3, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10008", "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" },
|
|
93
|
+
{ "id": 10, "name": "Done", "description": "Issue is complete.", "statusCategoryId": 4, "projectId": 3, "self": "https://acmecorp.atlassian.net/rest/api/3/status/10009", "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" }
|
|
94
|
+
],
|
|
95
|
+
"priorities": [
|
|
96
|
+
{ "id": 1, "name": "Highest", "description": "This problem will block progress.", "iconUrl": "https://acmecorp.atlassian.net/images/icons/priorities/highest.svg", "self": "https://acmecorp.atlassian.net/rest/api/3/priority/1", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
97
|
+
{ "id": 2, "name": "High", "description": "Serious problem that could block progress.", "iconUrl": "https://acmecorp.atlassian.net/images/icons/priorities/high.svg", "self": "https://acmecorp.atlassian.net/rest/api/3/priority/2", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
98
|
+
{ "id": 3, "name": "Medium", "description": "Has the potential to affect progress.", "iconUrl": "https://acmecorp.atlassian.net/images/icons/priorities/medium.svg", "self": "https://acmecorp.atlassian.net/rest/api/3/priority/3", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
99
|
+
{ "id": 4, "name": "Low", "description": "Minor problem or easily worked around.", "iconUrl": "https://acmecorp.atlassian.net/images/icons/priorities/low.svg", "self": "https://acmecorp.atlassian.net/rest/api/3/priority/4", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
100
|
+
{ "id": 5, "name": "Lowest", "description": "Trivial problem with little or no impact on progress.", "iconUrl": "https://acmecorp.atlassian.net/images/icons/priorities/lowest.svg", "self": "https://acmecorp.atlassian.net/rest/api/3/priority/5", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" }
|
|
101
|
+
],
|
|
102
|
+
"issues": [
|
|
103
|
+
{
|
|
104
|
+
"id": 1, "key": "PLAT-1", "projectId": 1, "issueTypeId": 1, "summary": "API Gateway v2 Migration", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Migrate all services from API Gateway v1 to v2. Includes rate limiting, request transformation, and OAuth2 scopes." }] }] },
|
|
105
|
+
"statusId": 2, "priorityId": 1, "assigneeAccountId": "5b10a2844c20165700ede21g", "reporterAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
106
|
+
"labels": ["platform", "migration", "q3"], "componentIds": [], "fixVersionIds": [1], "parentKey": null, "storyPoints": null,
|
|
107
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-1", "resolution": null, "resolutionDate": null,
|
|
108
|
+
"createdAt": "2024-01-15T09:00:00.000Z", "updatedAt": "2024-06-20T14:30:00.000Z"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": 2, "key": "PLAT-2", "projectId": 1, "issueTypeId": 2, "summary": "Implement OAuth2 scope validation middleware", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Add middleware to validate OAuth2 scopes on every inbound request. Must support both user and service account tokens." }] }] },
|
|
112
|
+
"statusId": 3, "priorityId": 2, "assigneeAccountId": "5b10d3a482e05b22cc7d8b02", "reporterAccountId": "5b10a2844c20165700ede21g",
|
|
113
|
+
"labels": ["platform", "security"], "componentIds": [], "fixVersionIds": [1], "parentKey": "PLAT-1", "storyPoints": 8,
|
|
114
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-2", "resolution": null, "resolutionDate": null,
|
|
115
|
+
"createdAt": "2024-02-01T10:00:00.000Z", "updatedAt": "2024-06-18T11:00:00.000Z"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": 3, "key": "PLAT-3", "projectId": 1, "issueTypeId": 2, "summary": "Rate limiting per-tenant configuration", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Allow per-tenant rate limit configuration via admin API. Default to 1000 req/min, configurable up to 10000." }] }] },
|
|
119
|
+
"statusId": 2, "priorityId": 2, "assigneeAccountId": "5b10e5b682e05b22cc7d7c03", "reporterAccountId": "5b10a2844c20165700ede21g",
|
|
120
|
+
"labels": ["platform", "rate-limiting"], "componentIds": [], "fixVersionIds": [1], "parentKey": "PLAT-1", "storyPoints": 5,
|
|
121
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-3", "resolution": null, "resolutionDate": null,
|
|
122
|
+
"createdAt": "2024-02-05T09:00:00.000Z", "updatedAt": "2024-06-15T10:00:00.000Z"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"id": 4, "key": "PLAT-4", "projectId": 1, "issueTypeId": 4, "summary": "Memory leak in connection pool under high concurrency", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Under sustained load (>5000 concurrent connections), the connection pool grows unbounded. Heap dump shows leaked PreparedStatement handles." }] }] },
|
|
126
|
+
"statusId": 1, "priorityId": 1, "assigneeAccountId": null, "reporterAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
127
|
+
"labels": ["bug", "performance", "critical"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 3,
|
|
128
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-4", "resolution": null, "resolutionDate": null,
|
|
129
|
+
"createdAt": "2024-06-10T15:30:00.000Z", "updatedAt": "2024-06-10T15:30:00.000Z"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"id": 5, "key": "PLAT-5", "projectId": 1, "issueTypeId": 3, "summary": "Upgrade PostgreSQL driver to v5", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Upgrade pg driver from 4.x to 5.x. Breaking changes in connection string format and pool configuration." }] }] },
|
|
133
|
+
"statusId": 4, "priorityId": 3, "assigneeAccountId": "5b10f2c482e05b22cc7d9a01", "reporterAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
134
|
+
"labels": ["platform", "dependencies"], "componentIds": [], "fixVersionIds": [2], "parentKey": null, "storyPoints": 3,
|
|
135
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-5", "resolution": "Done", "resolutionDate": "2024-05-28T16:00:00.000Z",
|
|
136
|
+
"createdAt": "2024-05-01T08:00:00.000Z", "updatedAt": "2024-05-28T16:00:00.000Z"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"id": 6, "key": "PLAT-6", "projectId": 1, "issueTypeId": 3, "summary": "Add OpenTelemetry tracing to auth service", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Instrument the authentication service with OpenTelemetry spans for login, token refresh, and session validation." }] }] },
|
|
140
|
+
"statusId": 4, "priorityId": 4, "assigneeAccountId": "5b10d3a482e05b22cc7d8b02", "reporterAccountId": "5b10a2844c20165700ede21g",
|
|
141
|
+
"labels": ["observability"], "componentIds": [], "fixVersionIds": [2], "parentKey": null, "storyPoints": 5,
|
|
142
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-6", "resolution": "Done", "resolutionDate": "2024-05-15T14:00:00.000Z",
|
|
143
|
+
"createdAt": "2024-04-10T09:00:00.000Z", "updatedAt": "2024-05-15T14:00:00.000Z"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"id": 7, "key": "PLAT-7", "projectId": 1, "issueTypeId": 2, "summary": "Request transformation pipeline", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Build a configurable request/response transformation pipeline for the API gateway. Support header injection, body mapping, and URL rewriting." }] }] },
|
|
147
|
+
"statusId": 1, "priorityId": 3, "assigneeAccountId": null, "reporterAccountId": "5b10a2844c20165700ede21g",
|
|
148
|
+
"labels": ["platform", "gateway"], "componentIds": [], "fixVersionIds": [1], "parentKey": "PLAT-1", "storyPoints": 13,
|
|
149
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-7", "resolution": null, "resolutionDate": null,
|
|
150
|
+
"createdAt": "2024-03-01T09:00:00.000Z", "updatedAt": "2024-03-01T09:00:00.000Z"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"id": 8, "key": "MOBILE-1", "projectId": 2, "issueTypeId": 6, "summary": "Push Notification Overhaul", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Redesign push notification system to support rich media, action buttons, and notification grouping. Must work on both iOS and Android." }] }] },
|
|
154
|
+
"statusId": 6, "priorityId": 2, "assigneeAccountId": "5b10ac8d82e05b22cc7d4ef5", "reporterAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
155
|
+
"labels": ["mobile", "notifications"], "componentIds": [], "fixVersionIds": [3], "parentKey": null, "storyPoints": null,
|
|
156
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-1", "resolution": null, "resolutionDate": null,
|
|
157
|
+
"createdAt": "2024-04-01T10:00:00.000Z", "updatedAt": "2024-06-19T09:00:00.000Z"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"id": 9, "key": "MOBILE-2", "projectId": 2, "issueTypeId": 7, "summary": "Implement rich push notifications with images", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Add support for image attachments in push notifications. Use notification service extension on iOS, BigPictureStyle on Android." }] }] },
|
|
161
|
+
"statusId": 7, "priorityId": 2, "assigneeAccountId": "5b10ac8d82e05b22cc7d4ef5", "reporterAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
162
|
+
"labels": ["mobile", "notifications", "ios", "android"], "componentIds": [], "fixVersionIds": [3], "parentKey": "MOBILE-1", "storyPoints": 8,
|
|
163
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-2", "resolution": "Done", "resolutionDate": "2024-06-05T16:00:00.000Z",
|
|
164
|
+
"createdAt": "2024-04-15T10:00:00.000Z", "updatedAt": "2024-06-05T16:00:00.000Z"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"id": 10, "key": "MOBILE-3", "projectId": 2, "issueTypeId": 8, "summary": "App crashes on Android 13 when opening deep links", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "App crashes with NullPointerException when handling deep links on Android 13 devices. Stack trace points to IntentFilter resolution." }] }] },
|
|
168
|
+
"statusId": 5, "priorityId": 1, "assigneeAccountId": null, "reporterAccountId": "5b10d3a482e05b22cc7d8b02",
|
|
169
|
+
"labels": ["bug", "android", "crash"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 3,
|
|
170
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-3", "resolution": null, "resolutionDate": null,
|
|
171
|
+
"createdAt": "2024-06-18T14:00:00.000Z", "updatedAt": "2024-06-18T14:00:00.000Z"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"id": 11, "key": "MOBILE-4", "projectId": 2, "issueTypeId": 7, "summary": "Add notification action buttons", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Support up to 3 action buttons on push notifications (e.g., Reply, Archive, Mark as Read)." }] }] },
|
|
175
|
+
"statusId": 6, "priorityId": 3, "assigneeAccountId": "5b10ac8d82e05b22cc7d4ef5", "reporterAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
176
|
+
"labels": ["mobile", "notifications"], "componentIds": [], "fixVersionIds": [3], "parentKey": "MOBILE-1", "storyPoints": 5,
|
|
177
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-4", "resolution": null, "resolutionDate": null,
|
|
178
|
+
"createdAt": "2024-05-01T10:00:00.000Z", "updatedAt": "2024-06-17T11:00:00.000Z"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"id": 12, "key": "OPS-1", "projectId": 3, "issueTypeId": 9, "summary": "Set up Kubernetes autoscaling for production", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Configure HPA for all production deployments. Target 70% CPU, 80% memory. Min 3 replicas, max 50." }] }] },
|
|
182
|
+
"statusId": 10, "priorityId": 2, "assigneeAccountId": "5b10f2c482e05b22cc7d9a01", "reporterAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
183
|
+
"labels": ["infra", "kubernetes", "autoscaling"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 5,
|
|
184
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-1", "resolution": "Done", "resolutionDate": "2024-04-20T15:00:00.000Z",
|
|
185
|
+
"createdAt": "2024-03-15T09:00:00.000Z", "updatedAt": "2024-04-20T15:00:00.000Z"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"id": 13, "key": "OPS-2", "projectId": 3, "issueTypeId": 10, "summary": "CI pipeline intermittently fails on integration tests", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Integration tests fail ~15% of the time with connection timeout errors. Suspect test database connection pool exhaustion." }] }] },
|
|
189
|
+
"statusId": 9, "priorityId": 2, "assigneeAccountId": "5b10e5b682e05b22cc7d7c03", "reporterAccountId": "5b10d3a482e05b22cc7d8b02",
|
|
190
|
+
"labels": ["bug", "ci", "flaky-tests"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 3,
|
|
191
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-2", "resolution": null, "resolutionDate": null,
|
|
192
|
+
"createdAt": "2024-06-12T10:00:00.000Z", "updatedAt": "2024-06-19T16:00:00.000Z"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"id": 14, "key": "OPS-3", "projectId": 3, "issueTypeId": 9, "summary": "Migrate secrets to HashiCorp Vault", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Move all application secrets from K8s secrets to HashiCorp Vault. Set up auto-rotation for database credentials." }] }] },
|
|
196
|
+
"statusId": 8, "priorityId": 3, "assigneeAccountId": null, "reporterAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
197
|
+
"labels": ["infra", "security", "secrets"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 8,
|
|
198
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-3", "resolution": null, "resolutionDate": null,
|
|
199
|
+
"createdAt": "2024-06-01T08:00:00.000Z", "updatedAt": "2024-06-01T08:00:00.000Z"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"id": 15, "key": "PLAT-8", "projectId": 1, "issueTypeId": 5, "summary": "Write OAuth2 scope validation tests", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Unit and integration tests for the scope validation middleware." }] }] },
|
|
203
|
+
"statusId": 2, "priorityId": 3, "assigneeAccountId": "5b10d3a482e05b22cc7d8b02", "reporterAccountId": "5b10a2844c20165700ede21g",
|
|
204
|
+
"labels": ["testing"], "componentIds": [], "fixVersionIds": [], "parentKey": "PLAT-2", "storyPoints": 3,
|
|
205
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-8", "resolution": null, "resolutionDate": null,
|
|
206
|
+
"createdAt": "2024-06-15T09:00:00.000Z", "updatedAt": "2024-06-18T10:00:00.000Z"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"id": 16, "key": "PLAT-9", "projectId": 1, "issueTypeId": 5, "summary": "Document rate limit API endpoints", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Write OpenAPI docs for the rate limit configuration API." }] }] },
|
|
210
|
+
"statusId": 1, "priorityId": 4, "assigneeAccountId": null, "reporterAccountId": "5b10e5b682e05b22cc7d7c03",
|
|
211
|
+
"labels": ["documentation"], "componentIds": [], "fixVersionIds": [], "parentKey": "PLAT-3", "storyPoints": 2,
|
|
212
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-9", "resolution": null, "resolutionDate": null,
|
|
213
|
+
"createdAt": "2024-06-16T10:00:00.000Z", "updatedAt": "2024-06-16T10:00:00.000Z"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"id": 17, "key": "PLAT-10", "projectId": 1, "issueTypeId": 5, "summary": "Implement header injection for transformation pipeline", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Add header injection support to the request transformation pipeline." }] }] },
|
|
217
|
+
"statusId": 1, "priorityId": 3, "assigneeAccountId": null, "reporterAccountId": "5b10a2844c20165700ede21g",
|
|
218
|
+
"labels": ["platform", "gateway"], "componentIds": [], "fixVersionIds": [1], "parentKey": "PLAT-7", "storyPoints": 5,
|
|
219
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-10", "resolution": null, "resolutionDate": null,
|
|
220
|
+
"createdAt": "2024-06-17T09:00:00.000Z", "updatedAt": "2024-06-17T09:00:00.000Z"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"id": 18, "key": "PLAT-11", "projectId": 1, "issueTypeId": 4, "summary": "CORS headers missing on preflight responses", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "OPTIONS requests to the API gateway don't return proper Access-Control-Allow-Origin headers." }] }] },
|
|
224
|
+
"statusId": 4, "priorityId": 2, "assigneeAccountId": "5b10a2844c20165700ede21g", "reporterAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
225
|
+
"labels": ["bug", "gateway"], "componentIds": [], "fixVersionIds": [2], "parentKey": null, "storyPoints": 2,
|
|
226
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-11", "resolution": "Done", "resolutionDate": "2024-05-20T10:00:00.000Z",
|
|
227
|
+
"createdAt": "2024-05-10T08:00:00.000Z", "updatedAt": "2024-05-20T10:00:00.000Z"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"id": 19, "key": "PLAT-12", "projectId": 1, "issueTypeId": 2, "summary": "Implement Redis caching layer for auth tokens", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Cache validated auth tokens in Redis to reduce database lookups. TTL should match token expiry." }] }] },
|
|
231
|
+
"statusId": 1, "priorityId": 3, "assigneeAccountId": null, "reporterAccountId": "5b10d3a482e05b22cc7d8b02",
|
|
232
|
+
"labels": ["platform", "performance"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 8,
|
|
233
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-12", "resolution": null, "resolutionDate": null,
|
|
234
|
+
"createdAt": "2024-06-19T09:00:00.000Z", "updatedAt": "2024-06-19T09:00:00.000Z"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"id": 20, "key": "MOBILE-5", "projectId": 2, "issueTypeId": 7, "summary": "Notification grouping by category", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Group notifications by category (messages, alerts, updates) on both iOS and Android." }] }] },
|
|
238
|
+
"statusId": 5, "priorityId": 3, "assigneeAccountId": null, "reporterAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
239
|
+
"labels": ["mobile", "notifications"], "componentIds": [], "fixVersionIds": [3], "parentKey": "MOBILE-1", "storyPoints": 5,
|
|
240
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-5", "resolution": null, "resolutionDate": null,
|
|
241
|
+
"createdAt": "2024-05-10T10:00:00.000Z", "updatedAt": "2024-05-10T10:00:00.000Z"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"id": 21, "key": "MOBILE-6", "projectId": 2, "issueTypeId": 11, "summary": "iOS implementation of action buttons", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Implement UNNotificationAction for notification action buttons on iOS." }] }] },
|
|
245
|
+
"statusId": 6, "priorityId": 3, "assigneeAccountId": "5b10ac8d82e05b22cc7d4ef5", "reporterAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
246
|
+
"labels": ["mobile", "ios"], "componentIds": [], "fixVersionIds": [3], "parentKey": "MOBILE-4", "storyPoints": 3,
|
|
247
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-6", "resolution": null, "resolutionDate": null,
|
|
248
|
+
"createdAt": "2024-05-15T10:00:00.000Z", "updatedAt": "2024-06-18T11:00:00.000Z"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"id": 22, "key": "MOBILE-7", "projectId": 2, "issueTypeId": 8, "summary": "Push notifications not delivered on iOS 17.4", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Users on iOS 17.4 report push notifications stop arriving after app update. APNs token registration succeeds but delivery fails silently." }] }] },
|
|
252
|
+
"statusId": 7, "priorityId": 1, "assigneeAccountId": "5b10ac8d82e05b22cc7d4ef5", "reporterAccountId": "5b10d3a482e05b22cc7d8b02",
|
|
253
|
+
"labels": ["bug", "ios", "notifications"], "componentIds": [], "fixVersionIds": [3], "parentKey": null, "storyPoints": 5,
|
|
254
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-7", "resolution": "Done", "resolutionDate": "2024-06-10T14:00:00.000Z",
|
|
255
|
+
"createdAt": "2024-06-01T08:00:00.000Z", "updatedAt": "2024-06-10T14:00:00.000Z"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"id": 23, "key": "MOBILE-8", "projectId": 2, "issueTypeId": 7, "summary": "Deep link handling for Android 14", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Update deep link handling to comply with Android 14 intent filter changes." }] }] },
|
|
259
|
+
"statusId": 6, "priorityId": 2, "assigneeAccountId": "5b10d3a482e05b22cc7d8b02", "reporterAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
260
|
+
"labels": ["mobile", "android"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 5,
|
|
261
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-8", "resolution": null, "resolutionDate": null,
|
|
262
|
+
"createdAt": "2024-06-19T09:00:00.000Z", "updatedAt": "2024-06-20T11:00:00.000Z"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"id": 24, "key": "OPS-4", "projectId": 3, "issueTypeId": 9, "summary": "Set up Grafana dashboards for production monitoring", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Create Grafana dashboards for CPU, memory, request latency, and error rates. Include alerting thresholds." }] }] },
|
|
266
|
+
"statusId": 9, "priorityId": 2, "assigneeAccountId": "5b10f2c482e05b22cc7d9a01", "reporterAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
267
|
+
"labels": ["infra", "monitoring"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 5,
|
|
268
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-4", "resolution": null, "resolutionDate": null,
|
|
269
|
+
"createdAt": "2024-06-15T09:00:00.000Z", "updatedAt": "2024-06-20T10:00:00.000Z"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": 25, "key": "OPS-5", "projectId": 3, "issueTypeId": 9, "summary": "Implement automated database backup verification", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Add automated restore-and-verify for nightly database backups. Alert if backup is older than 24h or restore fails." }] }] },
|
|
273
|
+
"statusId": 10, "priorityId": 3, "assigneeAccountId": "5b10e5b682e05b22cc7d7c03", "reporterAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
274
|
+
"labels": ["infra", "database", "backups"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 5,
|
|
275
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-5", "resolution": "Done", "resolutionDate": "2024-06-01T16:00:00.000Z",
|
|
276
|
+
"createdAt": "2024-05-15T09:00:00.000Z", "updatedAt": "2024-06-01T16:00:00.000Z"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"id": 26, "key": "OPS-6", "projectId": 3, "issueTypeId": 10, "summary": "Terraform plan fails on staging with provider version mismatch", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Terraform plan on staging environment fails with 'provider version constraint not met'. Likely caused by lock file drift." }] }] },
|
|
280
|
+
"statusId": 10, "priorityId": 2, "assigneeAccountId": "5b10f2c482e05b22cc7d9a01", "reporterAccountId": "5b10e5b682e05b22cc7d7c03",
|
|
281
|
+
"labels": ["bug", "infra", "terraform"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 2,
|
|
282
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-6", "resolution": "Done", "resolutionDate": "2024-06-05T11:00:00.000Z",
|
|
283
|
+
"createdAt": "2024-06-03T10:00:00.000Z", "updatedAt": "2024-06-05T11:00:00.000Z"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"id": 27, "key": "OPS-7", "projectId": 3, "issueTypeId": 9, "summary": "Automate secret rotation for database credentials", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Implement automated rotation of database credentials using Vault's dynamic secrets engine. Zero-downtime rotation." }] }] },
|
|
287
|
+
"statusId": 8, "priorityId": 3, "assigneeAccountId": null, "reporterAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
288
|
+
"labels": ["infra", "security", "vault"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 8,
|
|
289
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-7", "resolution": null, "resolutionDate": null,
|
|
290
|
+
"createdAt": "2024-06-10T09:00:00.000Z", "updatedAt": "2024-06-10T09:00:00.000Z"
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": 28, "key": "PLAT-13", "projectId": 1, "issueTypeId": 2, "summary": "GraphQL API layer for mobile clients", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Add a GraphQL endpoint that wraps existing REST APIs. Mobile team needs this for efficient data fetching." }] }] },
|
|
294
|
+
"statusId": 1, "priorityId": 2, "assigneeAccountId": null, "reporterAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
295
|
+
"labels": ["platform", "api"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 13,
|
|
296
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-13", "resolution": null, "resolutionDate": null,
|
|
297
|
+
"createdAt": "2024-06-20T09:00:00.000Z", "updatedAt": "2024-06-20T09:00:00.000Z"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"id": 29, "key": "OPS-8", "projectId": 3, "issueTypeId": 12, "summary": "Configure Vault namespaces per environment", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Set up separate Vault namespaces for dev, staging, and production environments." }] }] },
|
|
301
|
+
"statusId": 8, "priorityId": 3, "assigneeAccountId": null, "reporterAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
302
|
+
"labels": ["infra", "vault"], "componentIds": [], "fixVersionIds": [], "parentKey": "OPS-3", "storyPoints": 3,
|
|
303
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-8", "resolution": null, "resolutionDate": null,
|
|
304
|
+
"createdAt": "2024-06-05T09:00:00.000Z", "updatedAt": "2024-06-05T09:00:00.000Z"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"id": 30, "key": "OPS-9", "projectId": 3, "issueTypeId": 9, "summary": "Log aggregation with OpenSearch", "description": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Set up OpenSearch for centralized log aggregation. Configure Fluentd daemonsets on all K8s nodes." }] }] },
|
|
308
|
+
"statusId": 8, "priorityId": 4, "assigneeAccountId": null, "reporterAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
309
|
+
"labels": ["infra", "logging"], "componentIds": [], "fixVersionIds": [], "parentKey": null, "storyPoints": 8,
|
|
310
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-9", "resolution": null, "resolutionDate": null,
|
|
311
|
+
"createdAt": "2024-06-08T09:00:00.000Z", "updatedAt": "2024-06-08T09:00:00.000Z"
|
|
312
|
+
}
|
|
313
|
+
],
|
|
314
|
+
"comments": [
|
|
315
|
+
{
|
|
316
|
+
"id": 1, "issueId": 4, "authorAccountId": "5b10a2844c20165700ede21g", "updateAuthorAccountId": "5b10a2844c20165700ede21g",
|
|
317
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "I can reproduce this consistently. The leak appears to be in the prepared statement cache — statements aren't being evicted when connections return to the pool." }] }] },
|
|
318
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-4/comment/10000",
|
|
319
|
+
"createdAt": "2024-06-11T09:00:00.000Z", "updatedAt": "2024-06-11T09:00:00.000Z"
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"id": 2, "issueId": 4, "authorAccountId": "5b10f2c482e05b22cc7d9a01", "updateAuthorAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
323
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "This may be related to the pg driver upgrade in PLAT-5. The new driver changed how prepared statement handles are managed. Let me check the release notes." }] }] },
|
|
324
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-4/comment/10001",
|
|
325
|
+
"createdAt": "2024-06-11T11:30:00.000Z", "updatedAt": "2024-06-11T11:30:00.000Z"
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"id": 3, "issueId": 2, "authorAccountId": "5b10d3a482e05b22cc7d8b02", "updateAuthorAccountId": "5b10d3a482e05b22cc7d8b02",
|
|
329
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "PR is up for review. I've added both user token and service account token validation. Need someone from the platform team to verify the scope hierarchy." }] }] },
|
|
330
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-2/comment/10002",
|
|
331
|
+
"createdAt": "2024-06-17T15:00:00.000Z", "updatedAt": "2024-06-17T15:00:00.000Z"
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"id": 4, "issueId": 13, "authorAccountId": "5b10e5b682e05b22cc7d7c03", "updateAuthorAccountId": "5b10e5b682e05b22cc7d7c03",
|
|
335
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Found it — the test database container has max_connections=100 but we're running 8 parallel test suites each opening 15 connections. Increasing to 200 and adding connection timeouts." }] }] },
|
|
336
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-2/comment/10003",
|
|
337
|
+
"createdAt": "2024-06-19T14:00:00.000Z", "updatedAt": "2024-06-19T14:00:00.000Z"
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"id": 5, "issueId": 15, "authorAccountId": "5b10a2844c20165700ede21g", "updateAuthorAccountId": "5b10a2844c20165700ede21g",
|
|
341
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Make sure to cover both user token and service account token edge cases in the tests." }] }] },
|
|
342
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-8/comment/10004",
|
|
343
|
+
"createdAt": "2024-06-16T09:00:00.000Z", "updatedAt": "2024-06-16T09:00:00.000Z"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"id": 6, "issueId": 10, "authorAccountId": "5b10ac8d82e05b22cc7d4ef5", "updateAuthorAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
347
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Confirmed crash on Pixel 7 running Android 13. Stack trace attached. Workaround: explicit intent instead of implicit." }] }] },
|
|
348
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-3/comment/10005",
|
|
349
|
+
"createdAt": "2024-06-18T16:00:00.000Z", "updatedAt": "2024-06-18T16:00:00.000Z"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"id": 7, "issueId": 22, "authorAccountId": "5b10ac8d82e05b22cc7d4ef5", "updateAuthorAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
353
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Root cause: APNs environment mismatch after app store update. Production cert was referencing sandbox endpoint." }] }] },
|
|
354
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-7/comment/10006",
|
|
355
|
+
"createdAt": "2024-06-08T10:00:00.000Z", "updatedAt": "2024-06-08T10:00:00.000Z"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"id": 8, "issueId": 24, "authorAccountId": "5b10f2c482e05b22cc7d9a01", "updateAuthorAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
359
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Using Grafana Cloud for this. Prometheus metrics already being scraped. Need to create dashboard JSON." }] }] },
|
|
360
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-4/comment/10007",
|
|
361
|
+
"createdAt": "2024-06-16T14:00:00.000Z", "updatedAt": "2024-06-16T14:00:00.000Z"
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"id": 9, "issueId": 19, "authorAccountId": "5b10d3a482e05b22cc7d8b02", "updateAuthorAccountId": "5b10d3a482e05b22cc7d8b02",
|
|
365
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Should we use Redis Cluster or Redis Sentinel? Cluster gives us better scaling but more complexity." }] }] },
|
|
366
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-12/comment/10008",
|
|
367
|
+
"createdAt": "2024-06-20T10:00:00.000Z", "updatedAt": "2024-06-20T10:00:00.000Z"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"id": 10, "issueId": 19, "authorAccountId": "5b10a2844c20165700ede21g", "updateAuthorAccountId": "5b10a2844c20165700ede21g",
|
|
371
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Start with Sentinel. We can migrate to Cluster when we actually need the throughput." }] }] },
|
|
372
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-12/comment/10009",
|
|
373
|
+
"createdAt": "2024-06-20T11:00:00.000Z", "updatedAt": "2024-06-20T11:00:00.000Z"
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"id": 11, "issueId": 26, "authorAccountId": "5b10f2c482e05b22cc7d9a01", "updateAuthorAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
377
|
+
"body": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Fixed by running terraform init -upgrade. Lock file was pinned to an old provider version." }] }] },
|
|
378
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-6/comment/10010",
|
|
379
|
+
"createdAt": "2024-06-05T10:00:00.000Z", "updatedAt": "2024-06-05T10:00:00.000Z"
|
|
380
|
+
}
|
|
381
|
+
],
|
|
382
|
+
"transitions": [
|
|
383
|
+
{ "id": 1, "name": "Start Progress", "toStatusId": 2, "projectId": 1, "fromStatusIds": [1], "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
384
|
+
{ "id": 2, "name": "Request Review", "toStatusId": 3, "projectId": 1, "fromStatusIds": [2], "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
385
|
+
{ "id": 3, "name": "Done", "toStatusId": 4, "projectId": 1, "fromStatusIds": [2, 3], "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
386
|
+
{ "id": 4, "name": "Reopen", "toStatusId": 1, "projectId": 1, "fromStatusIds": [2, 3, 4], "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
387
|
+
{ "id": 5, "name": "Back to In Progress", "toStatusId": 2, "projectId": 1, "fromStatusIds": [3], "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
388
|
+
{ "id": 6, "name": "Start Progress", "toStatusId": 6, "projectId": 2, "fromStatusIds": [5], "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
389
|
+
{ "id": 7, "name": "Done", "toStatusId": 7, "projectId": 2, "fromStatusIds": [5, 6], "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
390
|
+
{ "id": 8, "name": "Reopen", "toStatusId": 5, "projectId": 2, "fromStatusIds": [6, 7], "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
391
|
+
{ "id": 9, "name": "Start Progress", "toStatusId": 9, "projectId": 3, "fromStatusIds": [8], "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" },
|
|
392
|
+
{ "id": 10, "name": "Done", "toStatusId": 10, "projectId": 3, "fromStatusIds": [8, 9], "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" },
|
|
393
|
+
{ "id": 11, "name": "Reopen", "toStatusId": 8, "projectId": 3, "fromStatusIds": [9, 10], "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" }
|
|
394
|
+
],
|
|
395
|
+
"boards": [
|
|
396
|
+
{ "id": 1, "name": "Platform Board", "type": "scrum", "projectId": 1, "self": "https://acmecorp.atlassian.net/rest/agile/1.0/board/1", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
397
|
+
{ "id": 2, "name": "Mobile Board", "type": "scrum", "projectId": 2, "self": "https://acmecorp.atlassian.net/rest/agile/1.0/board/2", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
398
|
+
{ "id": 3, "name": "DevOps Kanban", "type": "kanban", "projectId": 3, "self": "https://acmecorp.atlassian.net/rest/agile/1.0/board/3", "createdAt": "2023-09-01T00:00:00.000Z", "updatedAt": "2023-09-01T00:00:00.000Z" }
|
|
399
|
+
],
|
|
400
|
+
"sprints": [
|
|
401
|
+
{ "id": 1, "boardId": 1, "name": "PLAT Sprint 12", "state": "closed", "startDate": "2024-05-13T00:00:00.000Z", "endDate": "2024-05-27T00:00:00.000Z", "completeDate": "2024-05-27T17:00:00.000Z", "goal": "Complete pg driver upgrade and OTel instrumentation", "self": "https://acmecorp.atlassian.net/rest/agile/1.0/sprint/1", "createdAt": "2024-05-12T00:00:00.000Z", "updatedAt": "2024-05-27T17:00:00.000Z" },
|
|
402
|
+
{ "id": 2, "boardId": 1, "name": "PLAT Sprint 13", "state": "active", "startDate": "2024-06-10T00:00:00.000Z", "endDate": "2024-06-24T00:00:00.000Z", "completeDate": null, "goal": "API Gateway v2: OAuth2 scopes and rate limiting", "self": "https://acmecorp.atlassian.net/rest/agile/1.0/sprint/2", "createdAt": "2024-06-09T00:00:00.000Z", "updatedAt": "2024-06-10T00:00:00.000Z" },
|
|
403
|
+
{ "id": 3, "boardId": 1, "name": "PLAT Sprint 14", "state": "future", "startDate": null, "endDate": null, "completeDate": null, "goal": "API Gateway v2: request transformation", "self": "https://acmecorp.atlassian.net/rest/agile/1.0/sprint/3", "createdAt": "2024-06-20T00:00:00.000Z", "updatedAt": "2024-06-20T00:00:00.000Z" },
|
|
404
|
+
{ "id": 4, "boardId": 2, "name": "Mobile Sprint 8", "state": "active", "startDate": "2024-06-10T00:00:00.000Z", "endDate": "2024-06-24T00:00:00.000Z", "completeDate": null, "goal": "Push notification action buttons and Android 13 fix", "self": "https://acmecorp.atlassian.net/rest/agile/1.0/sprint/4", "createdAt": "2024-06-09T00:00:00.000Z", "updatedAt": "2024-06-10T00:00:00.000Z" }
|
|
405
|
+
],
|
|
406
|
+
"sprintIssues": [
|
|
407
|
+
{ "id": 1, "sprintId": 1, "issueId": 5, "createdAt": "2024-05-13T00:00:00.000Z", "updatedAt": "2024-05-13T00:00:00.000Z" },
|
|
408
|
+
{ "id": 2, "sprintId": 1, "issueId": 6, "createdAt": "2024-05-13T00:00:00.000Z", "updatedAt": "2024-05-13T00:00:00.000Z" },
|
|
409
|
+
{ "id": 3, "sprintId": 2, "issueId": 2, "createdAt": "2024-06-10T00:00:00.000Z", "updatedAt": "2024-06-10T00:00:00.000Z" },
|
|
410
|
+
{ "id": 4, "sprintId": 2, "issueId": 3, "createdAt": "2024-06-10T00:00:00.000Z", "updatedAt": "2024-06-10T00:00:00.000Z" },
|
|
411
|
+
{ "id": 5, "sprintId": 2, "issueId": 4, "createdAt": "2024-06-10T00:00:00.000Z", "updatedAt": "2024-06-10T00:00:00.000Z" },
|
|
412
|
+
{ "id": 6, "sprintId": 3, "issueId": 7, "createdAt": "2024-06-20T00:00:00.000Z", "updatedAt": "2024-06-20T00:00:00.000Z" },
|
|
413
|
+
{ "id": 7, "sprintId": 4, "issueId": 10, "createdAt": "2024-06-10T00:00:00.000Z", "updatedAt": "2024-06-10T00:00:00.000Z" },
|
|
414
|
+
{ "id": 8, "sprintId": 4, "issueId": 11, "createdAt": "2024-06-10T00:00:00.000Z", "updatedAt": "2024-06-10T00:00:00.000Z" }
|
|
415
|
+
],
|
|
416
|
+
"worklogs": [
|
|
417
|
+
{
|
|
418
|
+
"id": 1, "issueId": 5, "authorAccountId": "5b10f2c482e05b22cc7d9a01", "updateAuthorAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
419
|
+
"comment": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Investigated breaking changes in pg v5, created migration checklist." }] }] },
|
|
420
|
+
"started": "2024-05-14T09:00:00.000Z", "timeSpent": "3h", "timeSpentSeconds": 10800,
|
|
421
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-5/worklog/10000",
|
|
422
|
+
"createdAt": "2024-05-14T17:00:00.000Z", "updatedAt": "2024-05-14T17:00:00.000Z"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"id": 2, "issueId": 5, "authorAccountId": "5b10f2c482e05b22cc7d9a01", "updateAuthorAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
426
|
+
"comment": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Updated all connection strings and pool configs. Ran full regression suite." }] }] },
|
|
427
|
+
"started": "2024-05-20T09:00:00.000Z", "timeSpent": "6h", "timeSpentSeconds": 21600,
|
|
428
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-5/worklog/10001",
|
|
429
|
+
"createdAt": "2024-05-20T17:00:00.000Z", "updatedAt": "2024-05-20T17:00:00.000Z"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"id": 3, "issueId": 2, "authorAccountId": "5b10d3a482e05b22cc7d8b02", "updateAuthorAccountId": "5b10d3a482e05b22cc7d8b02",
|
|
433
|
+
"comment": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Implemented scope validation for user tokens. Service account tokens next." }] }] },
|
|
434
|
+
"started": "2024-06-12T09:00:00.000Z", "timeSpent": "4h", "timeSpentSeconds": 14400,
|
|
435
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-2/worklog/10002",
|
|
436
|
+
"createdAt": "2024-06-12T17:00:00.000Z", "updatedAt": "2024-06-12T17:00:00.000Z"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"id": 4, "issueId": 12, "authorAccountId": "5b10f2c482e05b22cc7d9a01", "updateAuthorAccountId": "5b10f2c482e05b22cc7d9a01",
|
|
440
|
+
"comment": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Configured HPA and tested with load simulation." }] }] },
|
|
441
|
+
"started": "2024-04-15T09:00:00.000Z", "timeSpent": "4h", "timeSpentSeconds": 14400,
|
|
442
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/OPS-1/worklog/10003",
|
|
443
|
+
"createdAt": "2024-04-15T17:00:00.000Z", "updatedAt": "2024-04-15T17:00:00.000Z"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"id": 5, "issueId": 22, "authorAccountId": "5b10ac8d82e05b22cc7d4ef5", "updateAuthorAccountId": "5b10ac8d82e05b22cc7d4ef5",
|
|
447
|
+
"comment": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Investigated APNs configuration and fixed certificate environment mismatch." }] }] },
|
|
448
|
+
"started": "2024-06-09T09:00:00.000Z", "timeSpent": "3h", "timeSpentSeconds": 10800,
|
|
449
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/MOBILE-7/worklog/10004",
|
|
450
|
+
"createdAt": "2024-06-09T17:00:00.000Z", "updatedAt": "2024-06-09T17:00:00.000Z"
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"id": 6, "issueId": 18, "authorAccountId": "5b10a2844c20165700ede21g", "updateAuthorAccountId": "5b10a2844c20165700ede21g",
|
|
454
|
+
"comment": { "type": "doc", "version": 1, "content": [{ "type": "paragraph", "content": [{ "type": "text", "text": "Fixed CORS headers and added regression tests." }] }] },
|
|
455
|
+
"started": "2024-05-19T09:00:00.000Z", "timeSpent": "2h", "timeSpentSeconds": 7200,
|
|
456
|
+
"self": "https://acmecorp.atlassian.net/rest/api/3/issue/PLAT-11/worklog/10005",
|
|
457
|
+
"createdAt": "2024-05-19T17:00:00.000Z", "updatedAt": "2024-05-19T17:00:00.000Z"
|
|
458
|
+
}
|
|
459
|
+
],
|
|
460
|
+
"components": [
|
|
461
|
+
{ "id": 1, "name": "API Gateway", "description": "API gateway and routing layer", "projectId": 1, "leadAccountId": "5b10a2844c20165700ede21g", "self": "https://acmecorp.atlassian.net/rest/api/3/component/10000", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
462
|
+
{ "id": 2, "name": "Auth Service", "description": "Authentication and authorization service", "projectId": 1, "leadAccountId": "5b10d3a482e05b22cc7d8b02", "self": "https://acmecorp.atlassian.net/rest/api/3/component/10001", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
463
|
+
{ "id": 3, "name": "Database", "description": "Database layer and migrations", "projectId": 1, "leadAccountId": "5b10f2c482e05b22cc7d9a01", "self": "https://acmecorp.atlassian.net/rest/api/3/component/10002", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
464
|
+
{ "id": 4, "name": "iOS", "description": "iOS native code", "projectId": 2, "leadAccountId": "5b10ac8d82e05b22cc7d4ef5", "self": "https://acmecorp.atlassian.net/rest/api/3/component/10003", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" },
|
|
465
|
+
{ "id": 5, "name": "Android", "description": "Android native code", "projectId": 2, "leadAccountId": null, "self": "https://acmecorp.atlassian.net/rest/api/3/component/10004", "createdAt": "2023-06-01T00:00:00.000Z", "updatedAt": "2023-06-01T00:00:00.000Z" }
|
|
466
|
+
],
|
|
467
|
+
"versions": [
|
|
468
|
+
{ "id": 1, "projectId": 1, "name": "v2.0", "description": "API Gateway v2 release", "archived": false, "released": false, "startDate": "2024-01-15", "releaseDate": "2024-08-01", "self": "https://acmecorp.atlassian.net/rest/api/3/version/10000", "createdAt": "2024-01-15T00:00:00.000Z", "updatedAt": "2024-01-15T00:00:00.000Z" },
|
|
469
|
+
{ "id": 2, "projectId": 1, "name": "v1.9", "description": "Maintenance release — driver upgrades and observability", "archived": false, "released": true, "startDate": "2024-04-01", "releaseDate": "2024-06-01", "self": "https://acmecorp.atlassian.net/rest/api/3/version/10001", "createdAt": "2024-04-01T00:00:00.000Z", "updatedAt": "2024-06-01T00:00:00.000Z" },
|
|
470
|
+
{ "id": 3, "projectId": 2, "name": "v3.0", "description": "Push notification overhaul", "archived": false, "released": false, "startDate": "2024-04-01", "releaseDate": "2024-07-15", "self": "https://acmecorp.atlassian.net/rest/api/3/version/10002", "createdAt": "2024-04-01T00:00:00.000Z", "updatedAt": "2024-04-01T00:00:00.000Z" }
|
|
471
|
+
],
|
|
472
|
+
"issueLinks": [
|
|
473
|
+
{ "id": 1, "inwardIssueId": 4, "outwardIssueId": 2, "linkTypeName": "Blocks", "linkTypeInward": "is blocked by", "linkTypeOutward": "blocks", "createdAt": "2024-06-11T10:00:00.000Z", "updatedAt": "2024-06-11T10:00:00.000Z" },
|
|
474
|
+
{ "id": 2, "inwardIssueId": 4, "outwardIssueId": 5, "linkTypeName": "Relates", "linkTypeInward": "relates to", "linkTypeOutward": "relates to", "createdAt": "2024-06-11T10:00:00.000Z", "updatedAt": "2024-06-11T10:00:00.000Z" },
|
|
475
|
+
{ "id": 3, "inwardIssueId": 10, "outwardIssueId": 9, "linkTypeName": "Blocks", "linkTypeInward": "is blocked by", "linkTypeOutward": "blocks", "createdAt": "2024-06-18T14:30:00.000Z", "updatedAt": "2024-06-18T14:30:00.000Z" },
|
|
476
|
+
{ "id": 4, "inwardIssueId": 22, "outwardIssueId": 10, "linkTypeName": "Duplicates", "linkTypeInward": "is duplicated by", "linkTypeOutward": "duplicates", "createdAt": "2024-06-05T10:00:00.000Z", "updatedAt": "2024-06-05T10:00:00.000Z" },
|
|
477
|
+
{ "id": 5, "inwardIssueId": 27, "outwardIssueId": 14, "linkTypeName": "Clones", "linkTypeInward": "is cloned by", "linkTypeOutward": "clones", "createdAt": "2024-06-10T09:00:00.000Z", "updatedAt": "2024-06-10T09:00:00.000Z" },
|
|
478
|
+
{ "id": 6, "inwardIssueId": 19, "outwardIssueId": 2, "linkTypeName": "Relates", "linkTypeInward": "relates to", "linkTypeOutward": "relates to", "createdAt": "2024-06-20T10:00:00.000Z", "updatedAt": "2024-06-20T10:00:00.000Z" }
|
|
479
|
+
],
|
|
480
|
+
"issueLinkTypes": [
|
|
481
|
+
{ "id": 1, "name": "Blocks", "inward": "is blocked by", "outward": "blocks", "self": "https://acmecorp.atlassian.net/rest/api/3/issueLinkType/10000", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
482
|
+
{ "id": 2, "name": "Relates", "inward": "relates to", "outward": "relates to", "self": "https://acmecorp.atlassian.net/rest/api/3/issueLinkType/10001", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
483
|
+
{ "id": 3, "name": "Duplicates", "inward": "is duplicated by", "outward": "duplicates", "self": "https://acmecorp.atlassian.net/rest/api/3/issueLinkType/10002", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
484
|
+
{ "id": 4, "name": "Clones", "inward": "is cloned by", "outward": "clones", "self": "https://acmecorp.atlassian.net/rest/api/3/issueLinkType/10003", "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" }
|
|
485
|
+
],
|
|
486
|
+
"fields": [
|
|
487
|
+
{ "id": 1, "fieldId": "summary", "name": "Summary", "custom": false, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["summary"], "schema": { "type": "string", "system": "summary" }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
488
|
+
{ "id": 2, "fieldId": "description", "name": "Description", "custom": false, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["description"], "schema": { "type": "string", "system": "description" }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
489
|
+
{ "id": 3, "fieldId": "status", "name": "Status", "custom": false, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["status"], "schema": { "type": "status", "system": "status" }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
490
|
+
{ "id": 4, "fieldId": "assignee", "name": "Assignee", "custom": false, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["assignee"], "schema": { "type": "user", "system": "assignee" }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
491
|
+
{ "id": 5, "fieldId": "reporter", "name": "Reporter", "custom": false, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["reporter"], "schema": { "type": "user", "system": "reporter" }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
492
|
+
{ "id": 6, "fieldId": "priority", "name": "Priority", "custom": false, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["priority"], "schema": { "type": "priority", "system": "priority" }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
493
|
+
{ "id": 7, "fieldId": "issuetype", "name": "Issue Type", "custom": false, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["issuetype", "type"], "schema": { "type": "issuetype", "system": "issuetype" }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
494
|
+
{ "id": 8, "fieldId": "project", "name": "Project", "custom": false, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["project"], "schema": { "type": "project", "system": "project" }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
495
|
+
{ "id": 9, "fieldId": "labels", "name": "Labels", "custom": false, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["labels"], "schema": { "type": "array", "system": "labels" }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" },
|
|
496
|
+
{ "id": 10, "fieldId": "story_points", "name": "Story Points", "custom": true, "orderable": true, "navigable": true, "searchable": true, "clauseNames": ["story_points", "cf[10016]"], "schema": { "type": "number", "custom": "com.atlassian.jira.plugin.system.customfieldtypes:float", "customId": 10016 }, "createdAt": "2023-01-15T00:00:00.000Z", "updatedAt": "2023-01-15T00:00:00.000Z" }
|
|
497
|
+
],
|
|
498
|
+
"watchers": [
|
|
499
|
+
{ "id": 1, "issueId": 4, "accountId": "5b10a2844c20165700ede21g", "createdAt": "2024-06-11T09:00:00.000Z", "updatedAt": "2024-06-11T09:00:00.000Z" },
|
|
500
|
+
{ "id": 2, "issueId": 4, "accountId": "5b10f2c482e05b22cc7d9a01", "createdAt": "2024-06-11T11:30:00.000Z", "updatedAt": "2024-06-11T11:30:00.000Z" },
|
|
501
|
+
{ "id": 3, "issueId": 13, "accountId": "5b10d3a482e05b22cc7d8b02", "createdAt": "2024-06-12T10:00:00.000Z", "updatedAt": "2024-06-12T10:00:00.000Z" },
|
|
502
|
+
{ "id": 4, "issueId": 2, "accountId": "5b10a2844c20165700ede21g", "createdAt": "2024-06-17T15:00:00.000Z", "updatedAt": "2024-06-17T15:00:00.000Z" },
|
|
503
|
+
{ "id": 5, "issueId": 10, "accountId": "5b10ac8d82e05b22cc7d4ef5", "createdAt": "2024-06-18T14:00:00.000Z", "updatedAt": "2024-06-18T14:00:00.000Z" },
|
|
504
|
+
{ "id": 6, "issueId": 19, "accountId": "5b10d3a482e05b22cc7d8b02", "createdAt": "2024-06-20T10:00:00.000Z", "updatedAt": "2024-06-20T10:00:00.000Z" }
|
|
505
|
+
],
|
|
506
|
+
"remoteLinks": []
|
|
507
|
+
}
|