Skip to content

Can we automatically generate data/projects/all.json from GitHub APIs on a frequency? #25

Description

@madpah

💡Dropping this here as an idea to save us a heap of manual maintenance.

@hboutemy @eddie-knight - thoughts and comments appreciated.

Projects listed on contribute.sonatype.com are driven by the content in data/projects/all.json currently.

Can we generate this from GitHub API calls?

JSON is currently an Array of Projects where a Project has the structure:

JSON Path Mandatory Type Purpose ^1 GItHub Mapping ^2
.name string Human Readable Project Name TBC
.image string Image as located in ./assets/images directory TBC
.description string Human Readable Project description GitHub Repository Description - e.g. Sonatype's CLA bot - affectionally known as Paul Botsco
.active boolean Is the project currently active? GitHub Repository Custom Field - Project-Status
.flagship boolean Is the project currently denoted as Flagship project? GitHub Repository Custom Field - Flagship-Project
.graduated boolean Has the project graduated to be official Product? GitHub Repository Custom Field - Project-Status
.graduated_link string Link to official production documentation if project is graduated TBC
.repository string GitHub Repository name GitHub Repository name - e.g. community-handbook.sonatype.com
.works_with.ossindex boolean Does this project work with Sonatype OSS Index TBC
.works_with.sonatype_lifecycle boolean Does this project work with Sonatype Lifecycle TBC
.tags[] string[] Array of arbitrary tag strings GitHub Repository Topics
.other_links[] object[] Optional list of other links to render in project card footer TBC
.other_links[].image string Image as located in ./assets/images directory TBC
.other_links[].title string Link title TBC
.other_links[].url string Link destination TBC

Footnotes

  1. Based on community-handbook.sonatype.com implementation as of 03-Sep-2024
  2. Based on our Community Guideliness as of 03-Sep-2024

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions