Currently, if a local issue file is modified but the corresponding issue is deleted on GitHub, the push operation will fail silently on every sync. We need to track these failures to prevent repeated API calls and to aid in debugging.
Acceptance Criteria
- The
catch block in the #pushToGitHub loop is updated to log the specific error message from the gh command.
- A
push_failures array is added to the metadata object that is managed throughout the sync process.
- When a push for an issue fails, its number is added to the
push_failures array.
- The
#pushToGitHub logic is updated to check if an issue number is present in the metadata.push_failures from the previous sync. If it is, the service should skip attempting to push it again and log a debug message.
- After a full sync cycle, if an issue that was previously in
push_failures is successfully pulled (i.e., it exists on GitHub again), it should be removed from the push_failures list in the new metadata.
Currently, if a local issue file is modified but the corresponding issue is deleted on GitHub, the push operation will fail silently on every sync. We need to track these failures to prevent repeated API calls and to aid in debugging.
Acceptance Criteria
catchblock in the#pushToGitHubloop is updated to log the specific error message from theghcommand.push_failuresarray is added to the metadata object that is managed throughout the sync process.push_failuresarray.#pushToGitHublogic is updated to check if an issue number is present in themetadata.push_failuresfrom the previous sync. If it is, the service should skip attempting to push it again and log a debug message.push_failuresis successfully pulled (i.e., it exists on GitHub again), it should be removed from thepush_failureslist in the new metadata.