cncf / landscapeapp

🌄Upstream landscape generation application
https://landscapes.dev/
Apache License 2.0
253 stars 124 forks source link

Use SFDC data for member data #609

Open dankohn opened 4 years ago

dankohn commented 4 years ago

The Linux Foundation uses Salesforce (SFDC) as the source of truth for membership. This is available via this API: https://api-gw.dev.platform.linuxfoundation.org/project-service/v1/api-docs#operation/getProjectMembers (you still need auth to access it). We'll be adding functionality to have it support the Crunchbase URL as well.

We want to pull this as part of updates and also when we run an update membership command. Then, we want to replace the member sections of landscape.yml with what we pull down.

Here's the member section of a landscape" https://github.com/AcademySoftwareFoundation/aswf-landscape/blob/master/landscape.yml#L526

And the first few entries from the API:

[
    {
        "ID": "0014100000Te0OKAAZ",
        "Name": "Microsoft Corporation",
        "Logo": "https://lf-master-organization-logos-prod.s3.us-east-2.amazonaws.com/microsoft-corporation.svg",
        "Membership": {
            "Family": "Membership",
            "ID": "01t41000002735aAAA",
            "Name": "Premier Membership",
            "Status": "Active"
        },
        "Website": "https://www.microsoft.com"
    },
    {
        "ID": "0014100000TdzXFAAZ",
        "Name": "Amazon Web Services, Inc.",
        "Logo": "https://lf-master-organization-logos-prod.s3.us-east-2.amazonaws.com/amazon-web-services-inc.svg",
        "Membership": {
            "Family": "Membership",
            "ID": "01t41000002735aAAA",
            "Name": "Premier Membership",
            "Status": "Active"
        },
        "Website": "https://www.amazon.com"
    },
    {
        "ID": "0012M00002F3YLpQAN",
        "Name": "CinePaint",
        "Membership": {
            "Family": "Membership",
            "ID": "01t41000002735cAAA",
            "Name": "Associate Membership",
            "Status": "Active"
        },
        "Website": "https://www.cinepaint.org"
    },
    {
        "ID": "0014100001xJAyqAAG",
        "Name": "Warner Bros. Entertainment Inc.",
        "Membership": {
            "Family": "Membership",
            "ID": "01t41000002735gAAA",
            "Name": "General Membership",
            "Status": "Active"
        },
        "Website": "https://www.warnerbros.com"
    },
    {
        "ID": "0014100001qbycqAAA",
        "Name": "The Foundry Visionmongers Limited",
        "Membership": {
            "Family": "Membership",
            "ID": "01t41000002735gAAA",
            "Name": "General Membership",
            "Status": "Active"
        },
        "Website": "https://www.foundry.com"
    },
    {
        "ID": "0014100000TdzA7AAJ",
        "Name": "Intel Corporation",
        "Logo": "https://lf-master-organization-logos-prod.s3.us-east-2.amazonaws.com/intel-corporation.svg",
        "Membership": {
            "Family": "Membership",
            "ID": "01t41000002735aAAA",
            "Name": "Premier Membership",
            "Status": "Active"
        },
        "Website": "https://www.intel.com"
    },
    {
        "ID": "0014100001nRP3yAAG",
        "Name": "Academy of Motion Picture Arts and Sciences",
        "Membership": {
            "Family": "Membership",
            "ID": "01t41000002735aAAA",
            "Name": "Premier Membership",
            "Status": "Active"
        },
        "Website": "https://www.oscars.org"
    }
]
dankohn commented 4 years ago

Project List: https://api-gw.platform.linuxfoundation.org/project-service/v1/public/projects Members for the Projects: ASWF: https://api-gw.platform.linuxfoundation.org/project-service/v1/public/projects/aswf/members https://api-gw.platform.linuxfoundation.org/project-service/v1/public/projects/aswf/members?status=Active

jmertic commented 2 years ago

I have tools for this already, written in Python. We use it for ASWF, Open Mainframe, LF, LF Energy, LF PH, LF AI and Data, and Magma landscapes....

https://github.com/jmertic/landscape-tools