Skip to content

[STJ-6] Migrate Fallout.Common.Tools.*Tasks API integrations #119

Description

@ChrisonSimtian

Sub-task of #83 (Newtonsoft.Json → System.Text.Json migration). Partially blocked on STJ-3.

Scope

Migrate the hand-written *Tasks.cs files in Fallout.Common.Tools.* that use Newtonsoft for external-API JSON parsing. These are integration glue with third-party services — each may use different Newtonsoft features.

Files (5)

  • src/Fallout.Common/Tools/SignPath/SignPathTasks.cs — uses JObject, JToken, JValue deep access patterns
  • src/Fallout.Common/Tools/Slack/SlackTasks.cs — uses utility-lib GetPropertyStringValue / GetPropertyValueOrNull (blocked on STJ-3)
  • src/Fallout.Common/Tools/Twitter/TwitterTasks.cs
  • src/Fallout.Common/Tools/OctoVersion/OctoVersionTasks.cs — uses AllWritableContractResolver (Newtonsoft-specific concept; need to decide on STJ equivalent or drop)
  • src/Fallout.Common/Tools/Teams/Teams.Extensions.cs

Plus src/Fallout.Common/Tools/Gitter/GitterTasks.cs — verify whether still needed (Gitter discontinued in 2024).

Per-file shape varies

These talk to live external APIs (Slack messages, SignPath signing, Twitter posts, etc.). The risk profile is "did the round-trip with the external API still work?" — only catchable by manual exercise against the real API. Worth doing one task per PR rather than batching.

Acceptance

  • All listed files migrated
  • At least smoke-test against the live API for each (Slack post, SignPath sign request, etc.) where reasonably possible
  • ./build.ps1 Test green

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions