US 12,443,469 B2
System and method for automatic discovery of candidate application programming interfaces and dependencies to be published
Martin Battaglia, Buenos Aires (AR); Alvaro Gaita, Buenos Aires (AR); and Leandro Bauret, Buenos Aires (AR)
Assigned to Salesforce, Inc., San Francisco, CA (US)
Filed by Salesforce, Inc., San Francisco, CA (US)
Filed on Nov. 5, 2021, as Appl. No. 17/520,074.
Claims priority of provisional application 63/246,189, filed on Sep. 20, 2021.
Prior Publication US 2023/0086564 A1, Mar. 23, 2023
Int. Cl. G06F 9/54 (2006.01)
CPC G06F 9/544 (2013.01) 20 Claims
OG exemplary drawing
 
1. A method for automatically identifying an Application Programming Interface (API) that includes a plurality of computer files, the method comprising:
reviewing each of the plurality of computer files for one or more API indicia to determine a set of root API candidates that is a subset of the plurality of computer files;
examining the set of root API candidates to identify a confirmed root API;
traversing an API tree associated with the confirmed root API, the traversing including executing the confirmed root API and listening for function and external file calls during the executing;
identifying additional components associated with the confirmed root API;
locating the additional components of the confirmed root API, the additional components being located in a plurality of different data repositories;
in response to the reviewing having been automatically initiated:
automatically retrieving the additional components from the plurality of different data repositories; and
automatically publishing the API that includes the confirmed root API and the additional components;
in response to the reviewing having been initiated by a user:
providing the user with a list of API components, the API components including the confirmed root API, API files found from the traversing, and the additional components; and
receiving from the user a descriptor file that includes selected API components from the list for publishing;
retrieving the API components and the additional components identified in the descriptor file from the plurality of different data repositories; and
publishing the API that includes the confirmed root API and the additional components; and
storing the confirmed root API and the retrieved additional components in a common data repository.