IP Library › Granted Patent US 12,120,124
Granted Patent B1
US 12,120,124 · App. 17/588,843 · Granted Oct 15, 2024

Live app testing within an app editor for an information technology and security operations application

Inventors: Jacob Davis (Campbell, CA); Dekel Shahaff (Santa Cruz, CA); Jeffrey Roecks (San Carlos, CA); Sydney Flak (Seattle, WA); Navya Mehta (Waterloo, CA); Ian Forrest (Carlsbad, CA); Sydney Karimi (Aliso Viejo, CA); Elton Xue (Irvine, CA)
Assignee: Splunk Inc.
H04L63/105G06F8/30G06F8/71H04L63/102G06F8/33G06F8/72G06F8/77G06F11/3438G06F11/3688G06F11/3692
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,120,124
App. No.
17/588,843
Filed
Jan 31, 2022
Granted
Oct 15, 2024
Kind
B1
Art Unit
2192
USPC
717/120
Abstract

Techniques are described for providing a built-in “app” editor for an information technology (IT) and security operations application that enables users to create, modify, and test operation of apps under development within the editor. Some IT and security operations applications enable users to extend the applications by adding connectivity to third party technologies to run custom actions. For example, a user might create a custom app to enable an IT and security operations application to connect to an external service providing information about malicious Internet Protocol (IP) addresses, to connect to a relevant cloud provider service, or to interact with a firewall or other type of computing device used in a user's computing environment. Given the broad set of technologies that can be orchestrated by an IT and security operations application, apps broadly enable users to add custom functionality to interface with virtually any technology of interest.

Claims (71)

1. A computer-implemented method comprising:

causing an app editor interface of an of an information technology (IT) and security operations application to be presented, the app editor interface displaying a set of actions of an app under development by a user, wherein the app includes executable source code and configuration information that enables the IT and security operations application to interact with a specific type of computing resource for investigating or responding to detected security or operational issues, and wherein the computing resource corresponds to a third party computing device, application, or service accessible within a computing environment associated with the user;

receiving, via use of the app editor interface, a request to add one or more new actions to the set of actions of the app under development;

receiving, via use of the app editor interface, a request to test an action from the one or more new actions;

testing the action by the IT and security operations application, the testing comprising transmitting commands to execute the action against the computing resource; and

causing display, within the app editor interface, of console output describing execution of the action against the computing resource.

2. The method of claim 1 , further comprising:

assigning a draft status to the app under development in the app editor interface, wherein apps assigned the draft status are accessible to only a user developing the app;

receiving input requesting to publish the app; and

assigning a published status to the app, wherein apps assigned the published status are accessible to users with permissions to install published apps.

3. The method of claim 1 , further comprising:

receiving, via the app editor interface, input selecting the action associated with the app; and

causing display within the app editor interface of source code implementing the action.

4. The method of claim 1 , further comprising:

receiving input requesting to save the app; and

committing the executable source code and the configuration information of the app to a version control system.

5. The method of claim 1 , wherein the IT and security operations application executes in a first computing environment, wherein the computing resource is located in a second computing environment that is external to the first computing environment, and wherein the IT and security operations application executes the action against the computing resource via an automation broker running in the second computing environment.

6. The method of claim 1 , further comprising:

receiving, via the app editor interface, input indicating information about the app, wherein the information about the app includes a name of the app and a description of app functionality;

generating a template for the app based on the input, wherein the template for the app includes template source code and template configuration data; and

causing display of at least a portion of the template source code in the app editor interface.

7. The method of claim 1 , further comprising:

receiving, via the app editor interface, input modifying at least a portion of the executable source code; and

receiving, via the app editor interface, input modifying at least a portion of the configuration information.

8. The method of claim 1 , further comprising causing display of a navigation menu within the app editor interface, wherein the navigation menu displays information about actions included in the app, and wherein the information about actions included in the app is generated based on an analysis of the executable source code of the app.

9. The method of claim 1 , further comprising:

receiving input requesting to save the app under development in the app editor interface;

assigning a version number to the app; and

storing a copy of the app in association with the version number.

10. The method of claim 1 , further comprising:

validating a format of the configuration information; and

causing display, in the app editor interface, of results from validating the format of the configuration information.

11. The method of claim 1 , further comprising:

causing display of the app editor interface including interface elements used to define a new action to be added to the app, wherein the new action is an action from the one or more new actions, wherein the interface elements include a first interface element used to specify a name of the new action and a second interface element used to specify a parameter of the new action;

receiving, via the app editor interface, input defining the new action; and

adding, by the IT and security operations application, source code to the app for the new action based on the input.

12. The method of claim 1 , wherein the request to test the action includes input specifying a parameter value for the action, and wherein executing the action against the computing resource is based in part on the parameter value.

13. A computing device, comprising:

a processor; and

a non-transitory computer-readable medium having stored thereon instructions that, when executed by the processor, cause the processor to perform operations including:

causing an app editor interface of an of an information technology (IT) and security operations application to be presented, the app editor interface displaying a set of actions of an app under development by a user, wherein the app includes executable source code and configuration information that enables the IT and security operations application to interact with a specific type of computing resource for investigating or responding to detected security or operational issues, and wherein the computing resource corresponds to a third party computing device, application, or service accessible within a computing environment associated with the user;

receiving, via use of the app editor interface, a request to add one or more new actions to the set of actions of the app under development;

receiving, via use of the app editor interface, a request to test an action from the one or more new actions:

testing the action by the IT and security operations application, the testing comprising transmitting commands to execute the action against the computing resource; and

causing display, within the app editor interface, of console output describing execution of the action against the computing resource.

14. The computing device of claim 13 , wherein the instructions, when executed by the processor, further cause the processor to perform operations including:

assigning a draft status to the app under development in the app editor interface, wherein apps assigned the draft status are accessible to only a user developing the app;

receiving input requesting to publish the app; and

assigning a published status to the app, wherein apps assigned the published status are accessible to users with permissions to install published apps.

15. The computing device of claim 13 , wherein the instructions, when executed by the processor, further cause the processor to perform operations including:

receiving, via the app editor interface, input selecting the action associated with the app; and

causing display within the app editor interface of source code implementing the action.

16. The computing device of claim 13 , wherein the instructions, when executed by the processor, further cause the processor to perform operations including:

receiving input requesting to save the app; and

committing the executable source code and the configuration information of the app to a version control system.

17. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:

causing an app editor interface of an of an information technology (IT) and security operations application to be presented, the app editor interface displaying a set of actions of an app under development by a user, wherein the app includes executable source code and configuration information that enables the IT and security operations application to interact with a specific type of computing resource for investigating or responding to detected security or operational issues, and wherein the computing resource corresponds to a third party computing device, application, or service accessible within a computing environment associated with the user;

receiving, via use of the app editor interface, a request to add one or more new actions to the set of actions of the app under development;

receiving, via use of the app editor interface, a request to test an action from the one or more new actions;

testing the action by the IT and security operations application, the testing comprising transmitting commands to execute the action against the computing resource; and

causing display, within the app editor interface, of console output describing execution of the action against the computing resource.

18. The computer-readable medium of claim 17 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to perform operations including:

assigning a draft status to the app under development in the app editor interface, wherein apps assigned the draft status are accessible to only a user developing the app;

receiving input requesting to publish the app; and

assigning a published status to the app, wherein apps assigned the published status are accessible to users with permissions to install published apps.

19. The computer-readable medium of claim 17 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to perform operations including:

receiving, via the app editor interface, input selecting the action associated with the app; and

causing display within the app editor interface of source code implementing the action.

20. The computer-readable medium of claim 17 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to perform operations including:

receiving input requesting to save the app; and

committing the executable source code and the configuration information of the app to a version control system.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2022
From: DAVIS, JACOB; SHAHAFF, DEKEL; ROECKS, JEFFREY; FLAK, SYDNEY; MEHTA, NAVYA; FORREST, IAN; KARIMI, SYDNEY; XUE, ELTON
To: SPLUNK INC.
Reel/Frame 059530/0563 →
Cited By (2)
US 12,608,197 US 12,724,601