If you’re managing an API as a product, you probably know you need Software Development Kits (SDKs) to help with its adoption by your users. SDKs might be maintained by your team, other teams, or random external contributors. These SDKs must be on par with your API so users don’t have to struggle and have only to copy/paste what you added.
But, how do you ensure you have up-to-date SDKs?
If you want to source your SDK maintainers from inside your company, you can start by posting a message on the devs channel, asking for good-hearted souls who want to help you. Some might be interested to brush up their skills in another language.
Depending on your product, you can have Java, NodeJs, Python, Go, PHP, Laravel, Ruby, C#, etc… maintainers. Maybe some SDKs have more than 1 maintainer as well. With your lead developer, that’s quite a team!
Create a dedicated Slack channel for them, so you can post updates about your project, receive new issues notifications or schedule a meeting. With the new “Slack Connect” feature, you can invite contributors from external companies as well!
First, create a repository for each SDK, make it clear in their descriptions that they’re the official SDKs of your product, and add a link to your API reference.
Create an EPIC issue on each SDK repository, mentioning the endpoints to add and a specific issue for each group of endpoints.
Use a single README template so all SDKs are consistent. The endpoints’ name should be the same as your API reference as well so your users easily find what they’re looking for.
Create an account on your app and invite all your SDK maintainers, they should create their API token to test their SDK.
And add a link to your API reference for each endpoint. Columns should be your different SDKs, their repository link, and the names of their maintainers. This table will serve as the official source for SDK parity, all maintainers should fill the document when they’re done with an endpoint.
To know if an SDK has the specified endpoint, you can either check on the repo or use the IMPORTXML Gsheet formula to import the text of the README.
If you want to import the text to automatically have all the SDK’s current endpoints, you can use the following:
Attention, make sure to replace all values with the real ones, it should be only /h1, /h2 or /h3 to retrieve respective headers. That way, you can make sure all the SDKs READMEs have the same headers:
Every month or quarter, depending on the new endpoints you’re adding to your API. Meeting regularly helps in updating the endpoints as well as replying to pending PRs or issues created by the community.
Don’t forget to send the meeting’s agenda, make the priorities clear, record the meeting and send notes about the next steps.
How do you make sure your SDKs are up-to-date?
To be aware of the SDKs open issues, you can add them on your Github board or add a Slack notification when a new Github issue has been opened.
To be notified when an issue has been opened on one of your repo, create a Zap! When on Zapier, you have to select the “New Issue on Github” as the trigger, select the organization and repository you want to monitor and add the “Send Channel Message in Slack” action.