Repository navigation
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Positional argument compatibility, asynchronous error handling, and generated example correctness remain unresolved.
3 open issues
What changed in this PR
Regenerates the PHP client for Kill Bill 0.25, adding API capabilities and refreshing generated metadata and documentation.
Changes:
- Adds role listing, an optional credit requested date, and new subscription-event and dry-run values.
- Updates generator metadata, client identification, compatibility guidance, and the CI server image.
- Revises documentation templates and regenerates API examples.
| File | Description |
|---|---|
| templates/README.mustache | Changes example constructor rendering. |
| templates/api_doc.mustache | Simplifies headings and example constructors. |
| README.md | Updates compatibility and endpoint listings. |
| lib/ObjectSerializer.php | Refreshes generated header metadata only. |
| lib/Model/UserRoles.php | Refreshes generated header metadata only. |
| lib/Model/UsageRecord.php | Refreshes generated header metadata only. |
| lib/Model/UsagePrice.php | Refreshes generated header metadata only. |
| lib/Model/Usage.php | Refreshes generated header metadata only. |
| lib/Model/UnitUsageRecord.php | Refreshes generated header metadata only. |
| lib/Model/Unit.php | Refreshes generated header metadata only. |
| lib/Model/TierPrice.php | Refreshes generated header metadata only. |
| lib/Model/TieredBlock.php | Refreshes generated header metadata only. |
| lib/Model/Tier.php | Refreshes generated header metadata only. |
| lib/Model/TenantKeyValue.php | Refreshes generated header metadata only. |
| lib/Model/Tenant.php | Refreshes generated header metadata only. |
| lib/Model/TagDefinition.php | Refreshes generated header metadata only. |
| lib/Model/Tag.php | Refreshes generated header metadata only. |
| lib/Model/SubscriptionUsageRecord.php | Refreshes generated header metadata only. |
| lib/Model/Subscription.php | Refreshes generated header metadata only. |
| lib/Model/Subject.php | Refreshes generated header metadata only. |
| lib/Model/SimplePlan.php | Refreshes generated header metadata only. |
| lib/Model/Session.php | Refreshes generated header metadata only. |
| lib/Model/RolledUpUsage.php | Refreshes generated header metadata only. |
| lib/Model/RolledUpUnit.php | Refreshes generated header metadata only. |
| lib/Model/RoleDefinition.php | Refreshes generated header metadata only. |
| lib/Model/Product.php | Refreshes generated header metadata only. |
| lib/Model/PriceList.php | Refreshes generated header metadata only. |
| lib/Model/Price.php | Refreshes generated header metadata only. |
| lib/Model/PluginServiceInfo.php | Refreshes generated header metadata only. |
| lib/Model/PluginProperty.php | Refreshes generated header metadata only. |
| lib/Model/PluginInfo.php | Refreshes generated header metadata only. |
| lib/Model/PlanDetail.php | Refreshes generated header metadata only. |
| lib/Model/Plan.php | Refreshes generated header metadata only. |
| lib/Model/PhasePrice.php | Refreshes generated header metadata only. |
| lib/Model/Phase.php | Refreshes generated header metadata only. |
| lib/Model/PaymentTransaction.php | Refreshes generated header metadata only. |
| lib/Model/PaymentMethodPluginDetail.php | Refreshes generated header metadata only. |
| lib/Model/PaymentMethod.php | Refreshes generated header metadata only. |
| lib/Model/PaymentAttempt.php | Refreshes generated header metadata only. |
| lib/Model/Payment.php | Refreshes generated header metadata only. |
| lib/Model/OverdueStateConfig.php | Refreshes generated header metadata only. |
| lib/Model/OverdueState.php | Refreshes generated header metadata only. |
| lib/Model/OverdueCondition.php | Refreshes generated header metadata only. |
| lib/Model/Overdue.php | Refreshes generated header metadata only. |
| lib/Model/NodeInfo.php | Refreshes generated header metadata only. |
| lib/Model/NodeCommandProperty.php | Refreshes generated header metadata only. |
| lib/Model/NodeCommand.php | Refreshes generated header metadata only. |
| lib/Model/ModelInterface.php | Refreshes generated header metadata only. |
| lib/Model/Limit.php | Refreshes generated header metadata only. |
| lib/Model/InvoicePaymentTransaction.php | Refreshes generated header metadata only. |
| lib/Model/InvoicePayment.php | Refreshes generated header metadata only. |
| lib/Model/InvoiceItem.php | Refreshes generated header metadata only. |
| lib/Model/InvoiceDryRun.php | Adds three allowable dry-run actions. |
| lib/Model/Invoice.php | Refreshes generated header metadata only. |
| lib/Model/HostedPaymentPageFormDescriptor.php | Refreshes generated header metadata only. |
| lib/Model/HostedPaymentPageFields.php | Refreshes generated header metadata only. |
| lib/Model/EventSubscription.php | Adds three allowable event types. |
| lib/Model/Entity.php | Reorders properties and accessors. |
| lib/Model/Duration.php | Refreshes generated header metadata only. |
| lib/Model/CustomField.php | Refreshes generated header metadata only. |
| lib/Model/ComboPaymentTransaction.php | Refreshes generated header metadata only. |
| lib/Model/ComboHostedPaymentPage.php | Refreshes generated header metadata only. |
| lib/Model/CatalogValidationError.php | Refreshes generated header metadata only. |
| lib/Model/CatalogValidation.php | Refreshes generated header metadata only. |
| lib/Model/Catalog.php | Refreshes generated header metadata only. |
| lib/Model/BundleTimeline.php | Refreshes generated header metadata only. |
| lib/Model/Bundle.php | Refreshes generated header metadata only. |
| lib/Model/BulkSubscriptionsBundle.php | Refreshes generated header metadata only. |
| lib/Model/BlockPrice.php | Refreshes generated header metadata only. |
| lib/Model/BlockingState.php | Refreshes generated header metadata only. |
| lib/Model/AuditLog.php | Refreshes generated header metadata only. |
| lib/Model/AdminPayment.php | Refreshes generated header metadata only. |
| lib/Model/AccountTimeline.php | Refreshes generated header metadata only. |
| lib/Model/AccountEmail.php | Refreshes generated header metadata only. |
| lib/Model/Account.php | Refreshes generated header metadata only. |
| lib/HeaderSelector.php | Refreshes generated header metadata only. |
| lib/Configuration.php | Updates user agent and debug version. |
| lib/ApiException.php | Refreshes generated header metadata only. |
| lib/Api/UsageApi.php | Refreshes generated header metadata only. |
| lib/Api/TenantApi.php | Refreshes generated header metadata only. |
| lib/Api/TagDefinitionApi.php | Refreshes generated header metadata only. |
| lib/Api/TagApi.php | Refreshes generated header metadata only. |
| lib/Api/SubscriptionApi.php | Updates metadata and corrects comment grammar. |
| lib/Api/SecurityApi.php | Adds synchronous and asynchronous role listing. |
| lib/Api/PluginInfoApi.php | Refreshes generated header metadata only. |
| lib/Api/PaymentTransactionApi.php | Refreshes generated header metadata only. |
| lib/Api/PaymentMethodApi.php | Refreshes generated header metadata only. |
| lib/Api/PaymentGatewayApi.php | Refreshes generated header metadata only. |
| lib/Api/PaymentApi.php | Refreshes generated header metadata only. |
| lib/Api/OverdueApi.php | Refreshes generated header metadata only. |
| lib/Api/NodesInfoApi.php | Refreshes generated header metadata only. |
| lib/Api/InvoicePaymentApi.php | Refreshes generated header metadata only. |
| lib/Api/InvoiceItemApi.php | Refreshes generated header metadata only. |
| lib/Api/InvoiceApi.php | Refreshes generated header metadata only. |
| lib/Api/ExportApi.php | Refreshes generated header metadata only. |
| lib/Api/CustomFieldApi.php | Refreshes generated header metadata only. |
| lib/Api/CreditApi.php | Adds the optional requested-date parameter. |
| lib/Api/CatalogApi.php | Refreshes generated header metadata only. |
| lib/Api/BundleApi.php | Refreshes generated header metadata only. |
| lib/Api/AdminApi.php | Refreshes generated header metadata only. |
| lib/Api/AccountApi.php | Refreshes generated header metadata only. |
| docs/Model/Entity.md | Matches the reordered model properties. |
| docs/Api/UsageApi.md | Updates heading and example constructors. |
| docs/Api/TenantApi.md | Updates heading and example constructors. |
| docs/Api/TagDefinitionApi.md | Updates heading and example constructors. |
| docs/Api/TagApi.md | Updates heading and example constructors. |
| docs/Api/SubscriptionApi.md | Updates examples and corrects description grammar. |
| docs/Api/SecurityApi.md | Documents role listing and updates examples. |
| docs/Api/PluginInfoApi.md | Updates heading and example constructor. |
| docs/Api/PaymentTransactionApi.md | Updates heading and example constructors. |
| docs/Api/PaymentMethodApi.md | Updates heading and example constructors. |
| docs/Api/PaymentGatewayApi.md | Updates examples and removes a response note. |
| docs/Api/PaymentApi.md | Updates heading and example constructors. |
| docs/Api/OverdueApi.md | Updates heading and example constructors. |
| docs/Api/NodesInfoApi.md | Updates heading and example constructors. |
| docs/Api/InvoicePaymentApi.md | Updates heading and example constructors. |
| docs/Api/InvoiceItemApi.md | Updates heading and example constructors. |
| docs/Api/InvoiceApi.md | Updates heading and example constructors. |
| docs/Api/ExportApi.md | Updates heading and example constructor. |
| docs/Api/CustomFieldApi.md | Updates heading and example constructors. |
| docs/Api/CreditApi.md | Documents requested date and updates examples. |
| docs/Api/CatalogApi.md | Updates heading and example constructors. |
| docs/Api/BundleApi.md | Updates heading and example constructors. |
| docs/Api/AdminApi.md | Updates heading and example constructors. |
| docs/Api/AccountApi.md | Updates heading and example constructors. |
| docker/docker-compose.ci.mysql.yml | Switches CI to a Kill Bill 0.25.4 image. |
| .swagger-config.json | Updates the generated client user agent. |
| .swagger-codegen/VERSION | Records Swagger Codegen 3.0.79. |
Review effort: Balanced
There was a problem hiding this comment.
🔵 Needs a closer look
Generated standalone examples cannot resolve their API classes without fully qualified names or imports.
3 open issues
1 previously missed issue
In code that hasn't changed since last review

Use fully qualified API class names in standalone examples

templates/README.mustache:83
The standalone examples load Composer's autoloader but do not import the API class or declare its namespace. new {{classname}} therefore looks for a global class and fails with a class-not-found error; the namespace comment does not affect PHP name resolution. The same change in templates/api_doc.mustache affects every regenerated docs/Api/*.md page, including the new getAvailableRoles example. Emit the fully qualified constructor shown below in both templates, then regenerate the affected examples.
Review effort: Balanced
7c8f01d to
6215354
Compare
Swagger Codegen 3.0.79 fails to parse the "concat X '\\' classname" helper in the doc templates, which stopped regeneration at the first API. A previous workaround dropped the namespace from the examples, so "new SecurityApi(" could not be resolved by PHP.
Render the separator from a "backslash" additional property set in .swagger-config.json, because Handlebars treats a literal "\{{" as an escape. Doc output now matches the previous format.
6215354 to
a4f3757
Compare

Status: ✔️ . Some issue raised by copilot during reviews either fixed, discarded (not needed), or reporting as new issue.