Zenhub’s ability to integrate workflows and repositories into one source of truth simplifies open source API development
APIs are a core driver of digital transformation globally, and at the helm of API development is the Swagger suite of tools. As the value delivered by APIs — simplifying and streamlining software development — has grown over time, Swagger API has focused on creating easy-to-use development and design tools that open source developers can leverage across the entire API life cycle, from design and documentation to testing and deployment.
Swagger started in 2010 as a simple open source specification for designing RESTful APIs, and it was acquired by SmartBear Software in 2015. Shortly after, the Swagger Specification was donated to the Linux Foundation, becoming the OpenAPI Specification (OAS). As the digital economy has grown, APIs have become indispensable to value creation and exchange in the modern software ecosystem. Swagger has been there from the beginning, enabling companies to bring their technology stacks to the table while ensuring that everyone’s talking the same language in the form of specifications.
Since 2015, the Swagger suite of open source projects has grown by leaps and bounds. Today, under SmartBear stewardship, there are over 2,500 contributors and 60,000 stars across more than a dozen Swagger projects. Swagger has become the most popular suite of tools for leveraging OAS across the API life cycle, used by millions of API developers. Many projects have benefited substantially from contributions by the open source community, including Swagger UI, Swagger Editor, Swagger Parser, Swagger Codegen, and Swagger JS. And the Swagger team is quick to give kudos to key contributors, such as Mahtis Michel, Mohammed Rizwan, and Jimmy Wärting.
Managing multiple information streams and projects requires streamlining workflows
Before they had the tools to manage it, all that growth created some challenges for the Swagger development team.
“The Swagger team was running many projects and participating in many others,” says Francesco Tumanischvili, Lead Developer, SmartBear. “This made managing multiple flows of information, both in and out, through multiple repositories, increasingly difficult.”
“The scope of Swagger's work is also increasing, and we're preparing to enable developers to use our suite of tools for other API specifications beyond documenting and describing HTTP-based APIs,” explains SmartBear API Technical Evangelist, Frank Kilcommins.
“While working in GitHub, we had to manage multiple streams of information in increasingly different contexts,” says Francesco. “This meant managing multiple GitHub repositories simultaneously, as input came in from both the team and outside contributors, as well as a massive number of tickets.”
The development team was using GitHub projects to manage workflows, which couldn’t provide the features needed to manage development efforts efficiently and transparently. In particular, the team needed a project management tool that would make it easier to track and manage contributions made by the open source community. They started looking for a tool that could handle multiple GitHub repositories in the same workspace and the inputs of numerous contributors, both internal and external. The tool also needed search and filtering capabilities while only adding limited overhead to their GitHub integration.
"We researched the different tools available, both the newer ones and the more traditional ones, and at some point, came across Zenhub. Zenhub was much more powerful in terms of the numerous features it offers. It gave us the capability to have a single workflow with minimal overhead and integration with different GitHub contexts, not to mention much better reporting and planning features than were available elsewhere."
As a powerful tool that’s free for open source projects, Zenhub was the clear choice.
Zenhub integrated multiple repositories and made management easy
Ultimately, Zenhub does for the Swagger team what Swagger is doing for the API development community: make development easier and more efficient. By bringing multiple repositories and tools into one Zenhub workspace, the team could create a unified source of truth. This was a game-changer.
"We needed to have a consistent view and consistent handling of all projects and all contributions, which was difficult to do with other tools,” explains Francesco. “But the ability of Zenhub’s Boards to bring teams, projects, priorities, and tickets into one place made it much easier to keep multiple projects and repositories on track."
In addition to integration, the development team needed powerful filtering tools to track and sort mountains of information and organize different project pipelines. Rather than sifting through everything at once, the team was able to use Zenhub’s Boards to sort and streamline information. This made it easier to manage individual projects and repositories simultaneously, without having to segregate them out, allowing for the ability to switch between them easily and seamlessly.
Plus, Francesco says, by bringing all the tickets together and providing the tools to filter them, Zenhub streamlined the release planning process. It made it easier to focus on major themes and community input to prioritize and integrate into release plans.
“Zenhub facilitates us in OSS community coordination and engagement in releases as in other phases by providing a comprehensive view and understanding of interconnected OSS projects and their communities' directions and needs,” Francesco shares.
“That seamless workflow for managing both public and private projects in GitHub created a frictionless entry point without the need for context switching,” says Frank. Plus, the Workflow Automation eliminated busywork and bottlenecks, letting the team focus on development.
Maximizing agility and minimizing overhead enables Swagger to pay It forward
For an agile development team, switching between workflows quickly and easily while leveraging automation to manage busywork, is critical to delivering clean code quickly.
"Working in Zenhub, you don't have to switch contexts or switch the way you do things if you're within a public or a private project. No matter which tasks you must do or what kinds of projects are involved, the way you do things is always the same. This is a clear advantage."
“Also, having so many contributors means there are always a lot of things in the input line, and we need to understand things that are both complicated and interconnected so that we’re not missing anything. Zenhub makes it easy to understand what’s coming in from our many contributors. The ability to filter incoming information and have separate views of the different inputs, all in the same workflow, has been one of the best features for us. It has made our lives much easier.”
Frank adds that Swagger’s mission of delivering simplified API development tools for specification management has been made easier by Zenhub on all projects, including the Swagger team’s upcoming project offering, ApiDOM. Offering a semantically rich cross-specification and cross-format representation along with parsers and tools for specifications like OpenAPI, JSON Schema, and AsyncAPI, ApiDOM allows parsers to parse to a single structure and tool builders to consume one structure for all formats.
“In many ways, ApiDOM delivers on the same principles that ZenHub does. It will negate the need for every vendor in the industry to do the heavy lifting necessary to keep up with API specifications as they continue to proliferate,” Frank says. “Instead, they can leverage this.”
ApiDOM also comes equipped with a rich language service on top, allowing features to be delivered to multiple IDEs and editors using a single codebase without the need to worry about different integration mechanisms. “Driving innovation to deliver a more immersive developer experience without the need for context switching is very important to us, just like it is to Zenhub.”
In the future, the Swagger team plans to leverage even greater value from Zenhub. The team plans to take advantage of Zenhub’s tracking features, burndown reports, planning poker, and Zenhub’s ability to gather private metadata from public projects. The goal is to better understand the team’s sprint velocity and improve its ability to gather sentiment beyond the occasional emoji.
Elevate your open source participation with Zenhub
Zenhub offers the tools and workflows that agile teams working on open source projects in GitHub need. It puts core open source collaboration principles like openness and transparency into practice, enabling projects and organizations to code in the open. It’s the only industry tool that lets you manage your team’s work across both public and private repos. And it makes it easier for all team members to communicate with each other, set goals, plan with more transparency and participation, and ship releases more predictably.
We’re big believers in the power of open source and are proud to support the open source community with free access to our full suite of tools. Sign up to start improving the collaboration and transparency of your open source project today.