Skip to content

feat(API): add name field to repo sync schema and create endpoint#1203

Merged
jablan merged 1 commit into
mainfrom
openapi-sync/strings-app-pr-17811
Jun 18, 2026
Merged

feat(API): add name field to repo sync schema and create endpoint#1203
jablan merged 1 commit into
mainfrom
openapi-sync/strings-app-pr-17811

Conversation

@phrase-bot

Copy link
Copy Markdown
Collaborator

This PR was generated by the openapi-apply agent in response to a
/openapi-sync apply request on
Phrase-Engineering/strings-app#17811.

What changed in the API

  • All RepoSync responses (GET /api/v2/repo_syncs, GET /api/v2/repo_syncs/{id}, POST /api/v2/repo_syncs, POST /api/v2/repo_syncs/{id}/activate, POST /api/v2/repo_syncs/{id}/deactivate) now include a name field (nullable string, max 100 characters). When blank, the sync's display name falls back to the associated project name, but the API field itself is null.
  • POST /api/v2/repo_syncs now accepts an optional name parameter in the request body.

Source

  • Originating strings-app PR: Phrase-Engineering/strings-app#17811
  • Applied by: jablan

Notes for reviewers

  • last_import_at and last_export_at were also marked nullable: true in schemas/repo_sync.yaml to accurately reflect that these fields can be null (no import/export has occurred yet). This aligns with the actual DB column being nullable.
  • The openapi-generator-cli validate step in lint.sh could not run because Java is not installed in this CI environment — this is a pre-existing environment limitation, not introduced by these changes. swagger-cli validate main.yaml and make bundle both passed cleanly (exit code 0).
  • doc/compiled.json was updated as a side effect of running make lint (via make bundle); this is expected.

Opened automatically by the openapi-apply agent. Review the spec changes
against the linked strings-app PR; the agent does not vouch for correctness
beyond "the YAML parsed and the documented layout was followed."

@github-actions

Copy link
Copy Markdown
Contributor

API changelog (oasdiff)

Doc-only edits (descriptions, examples) do not appear here.

16 changes: 10 error, 0 warning, 6 info
error	[response-property-became-nullable] at doc/compiled.json
	in API GET /accounts/{account_id}/repo_syncs
		the response property `items/last_export_at` became nullable for the status `200`

error	[response-property-became-nullable] at doc/compiled.json
	in API GET /accounts/{account_id}/repo_syncs
		the response property `items/last_import_at` became nullable for the status `200`

error	[response-property-became-nullable] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs
		the response property `last_export_at` became nullable for the status `201`

error	[response-property-became-nullable] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs
		the response property `last_import_at` became nullable for the status `201`

error	[response-property-became-nullable] at doc/compiled.json
	in API GET /accounts/{account_id}/repo_syncs/{id}
		the response property `last_export_at` became nullable for the status `200`

error	[response-property-became-nullable] at doc/compiled.json
	in API GET /accounts/{account_id}/repo_syncs/{id}
		the response property `last_import_at` became nullable for the status `200`

error	[response-property-became-nullable] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs/{id}/activate
		the response property `last_export_at` became nullable for the status `200`

error	[response-property-became-nullable] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs/{id}/activate
		the response property `last_import_at` became nullable for the status `200`

error	[response-property-became-nullable] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs/{id}/deactivate
		the response property `last_export_at` became nullable for the status `200`

error	[response-property-became-nullable] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs/{id}/deactivate
		the response property `last_import_at` became nullable for the status `200`

info	[response-optional-property-added] at doc/compiled.json
	in API GET /accounts/{account_id}/repo_syncs
		added the optional property `items/name` to the response with the `200` status

info	[new-optional-request-property] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs
		added the new optional request property `name`

info	[response-optional-property-added] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs
		added the optional property `name` to the response with the `201` status

info	[response-optional-property-added] at doc/compiled.json
	in API GET /accounts/{account_id}/repo_syncs/{id}
		added the optional property `name` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs/{id}/activate
		added the optional property `name` to the response with the `200` status

info	[response-optional-property-added] at doc/compiled.json
	in API POST /accounts/{account_id}/repo_syncs/{id}/deactivate
		added the optional property `name` to the response with the `200` status

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants