Skip to content

Regenerate client for Kill Bill 0.25 - #70

Open
xsalefter wants to merge 7 commits into
masterfrom
update-for-killbill-25
Open

xsalefter wants to merge 7 commits into
masterfrom
update-for-killbill-25

Conversation

@xsalefter

@xsalefter xsalefter commented Oct 22, 2026 •

Copy link
Copy Markdown

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

Copilot AI balanced review requested due to automatic review settings October 22, 2026 11:32

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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

Comment thread lib/Api/CreditApi.php
Comment thread lib/Api/SecurityApi.php
Comment thread templates/api_doc.mustache Outdated
Copilot AI balanced review requested due to automatic review settings October 22, 2026 13:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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

Medium severity 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

Copilot AI balanced review requested due to automatic review settings October 22, 2026 23:25
@xsalefter
xsalefter force-pushed the update-for-killbill-25 branch from 7c8f01d to 6215354 Compare October 22, 2026 23:25

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The example templates omit API class qualification, leaving the generated standalone examples unable to instantiate the client.

4 open issues

Review effort: Balanced

Comment thread templates/README.mustache Outdated
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.
Copilot AI balanced review requested due to automatic review settings October 22, 2026 23:58
@xsalefter
xsalefter force-pushed the update-for-killbill-25 branch from 6215354 to a4f3757 Compare October 22, 2026 23:58

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The new asynchronous role-listing handler can mask transport failures without an HTTP response with PHP errors.

2 open issues
2 resolved since last review

Review effort: Balanced

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