FAQ | This is a LIVE service | Changelog

Add typescript client library generation CI for releases which support it

Description

We would like to provide a system for automatically generating and releasing client code for APIs, based on their OpenAPI specifications.

Further details

We expect to publish a typescript client package to the repository's package registry when a release occurs.

We anticipate adding two jobs to pipelines that include this new template:

  • A build step job to build the client library which runs alongside the normal build job
  • A release step job to publish the client library to the repository's registry

In the future we expect to expand this capability to also publish (e.g.) Python client libraries as part of the release process, so work done on this issue should keep this in mind, but is primarily targeting Typescript client libraries.

We anticipate that this job(s) will need to be provided with variables to set:

  • A command to run to generate an OpenAPI specification from the repository
  • A configuration file or command line options for the generator

This should make use of the docker image built as part of uis/devops/infra/dockerimages#100 (closed)

Task list

Acceptance criteria

  • Typescript client code is generated and published to repository registry on release if a template to support this is included.

Links/references

Edited by Mike Knee