Preserve Forgejo mappings across retry failures
This commit is contained in:
parent
b0c38705ce
commit
fa24063483
5 changed files with 291 additions and 14 deletions
93
examples/first-dry-run-paperclip-issue.json
Normal file
93
examples/first-dry-run-paperclip-issue.json
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{
|
||||
"id": "issue-dry-run-1",
|
||||
"companyId": "company-dry-run",
|
||||
"projectId": "project-forgejo-sync",
|
||||
"projectWorkspaceId": null,
|
||||
"goalId": null,
|
||||
"parentId": null,
|
||||
"title": "Synthetic dry-run: reproduce outbound issue creation",
|
||||
"description": "Summary:\nA controlled dry-run payload for the first Forgejo sync rehearsal.\n\nReproduction:\n1. Open the plugin test harness.\n2. Trigger issue sync for this payload.\n3. Confirm the outbound issue body contains the summary and attachment note.\n\nObserved:\nA Forgejo issue should be created exactly once for this Paperclip issue identifier.\n\nExpected:\nA retry should reuse the stored remote mapping instead of creating a second Forgejo issue.",
|
||||
"status": "in_progress",
|
||||
"workMode": "standard",
|
||||
"priority": "medium",
|
||||
"assigneeAgentId": null,
|
||||
"assigneeUserId": null,
|
||||
"checkoutRunId": null,
|
||||
"executionRunId": null,
|
||||
"executionAgentNameKey": null,
|
||||
"executionLockedAt": null,
|
||||
"createdByAgentId": null,
|
||||
"createdByUserId": null,
|
||||
"issueNumber": 9001,
|
||||
"identifier": "PRIA-DRY-1",
|
||||
"requestDepth": 0,
|
||||
"billingCode": null,
|
||||
"assigneeAdapterOverrides": null,
|
||||
"executionWorkspaceId": null,
|
||||
"executionWorkspacePreference": null,
|
||||
"executionWorkspaceSettings": null,
|
||||
"startedAt": null,
|
||||
"completedAt": null,
|
||||
"cancelledAt": null,
|
||||
"hiddenAt": null,
|
||||
"labels": [
|
||||
{
|
||||
"id": "label-forgejo-sync",
|
||||
"companyId": "company-dry-run",
|
||||
"name": "forgejo-sync",
|
||||
"color": "#000000",
|
||||
"createdAt": "2026-06-02T00:00:00.000Z",
|
||||
"updatedAt": "2026-06-02T00:00:00.000Z"
|
||||
}
|
||||
],
|
||||
"blockedBy": [],
|
||||
"blocks": [],
|
||||
"project": {
|
||||
"id": "project-forgejo-sync",
|
||||
"companyId": "company-dry-run",
|
||||
"name": "Forgejo Issue Sync Plugin",
|
||||
"description": null,
|
||||
"status": "planned",
|
||||
"primaryGoalId": null,
|
||||
"createdAt": "2026-06-02T00:00:00.000Z",
|
||||
"updatedAt": "2026-06-02T00:00:00.000Z"
|
||||
},
|
||||
"goal": null,
|
||||
"currentExecutionWorkspace": null,
|
||||
"mentionedProjects": [],
|
||||
"myLastTouchAt": null,
|
||||
"lastExternalCommentAt": null,
|
||||
"lastActivityAt": null,
|
||||
"isUnreadForMe": false,
|
||||
"createdAt": "2026-06-02T00:00:00.000Z",
|
||||
"updatedAt": "2026-06-02T00:00:00.000Z",
|
||||
"workProducts": [
|
||||
{
|
||||
"id": "wp-dry-run-1",
|
||||
"companyId": "company-dry-run",
|
||||
"projectId": "project-forgejo-sync",
|
||||
"issueId": "issue-dry-run-1",
|
||||
"executionWorkspaceId": null,
|
||||
"runtimeServiceId": null,
|
||||
"type": "artifact",
|
||||
"provider": "paperclip",
|
||||
"externalId": "attachment-dry-run-1",
|
||||
"title": "trace.log",
|
||||
"url": "https://paperclip.example/artifacts/trace.log",
|
||||
"status": "ready_for_review",
|
||||
"reviewState": "none",
|
||||
"isPrimary": false,
|
||||
"healthStatus": "healthy",
|
||||
"summary": null,
|
||||
"metadata": {
|
||||
"attachmentId": "attachment-dry-run-1",
|
||||
"contentType": "text/plain",
|
||||
"byteSize": 2048,
|
||||
"originalFilename": "trace.log"
|
||||
},
|
||||
"createdByRunId": null,
|
||||
"createdAt": "2026-06-02T00:00:00.000Z",
|
||||
"updatedAt": "2026-06-02T00:00:00.000Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue