Templates/customer-repo/secrets/secrets.example.json

{
  "$comment": [
    "Copy to secrets.json (gitignored) and fill in. One entry per organisation.",
    "SignInAs is the Entra identity to authenticate as for that organisation - a UPN, not a secret.",
    "Give an entry SignInAs and NO AccessToken to authenticate with Entra: ambient identity first,",
    "the signed-in az CLI, then Az PowerShell, prompting only when neither holds that account.",
    "A PAT is needed only for organisations that are not Entra-backed, for unattended runs with no",
    "ambient identity, and for devopsmigration.exe, which cannot use Entra at all.",
    "AZDO_SIGNIN_<ORG> overrides SignInAs; AZDO_PAT_<ORG> is the derived token variable."
  ],
  "Organisations": [
    {
      "Org": "your-entra-org",
      "Url": "https://dev.azure.com/your-entra-org",
      "SignInAs": "you@your-customer.com"
    },
    {
      "Org": "your-source-org",
      "Url": "https://dev.azure.com/your-source-org",
      "SignInAs": "you@your-customer.com",
      "AccessToken": "<source-org-pat>",
      "EnvVars": ["MigrationTools__Endpoints__Source__Authentication__AccessToken"]
    },
    {
      "Org": "your-target-org",
      "Url": "https://dev.azure.com/your-target-org",
      "SignInAs": "you@your-customer.com",
      "AccessToken": "<target-org-pat>",
      "EnvVars": ["MigrationTools__Endpoints__Target__Authentication__AccessToken"]
    },
    {
      "Org": "your-github-org",
      "Url": "https://github.com/your-github-org",
      "AccessToken": "<github-token-with-repo-create-and-push>",
      "EnvVars": ["GITHUB_TOKEN"]
    }
  ],
  "SqlPasswords": {
    "migrationlogin": "<migrationlogin-password>"
  }
}