CircleCI
Visualize CircleCI users, user groups, pipelines, and projects, map CircleCI users to employees, and monitor changes through queries and alerts.
- Installation
- Data Model
Installation
You will need to retrieve your User ID, VSC Username, and API Key in CircleCI for this integration. See their documentation for more information.
Required Permissions in CircleCI
The API Key must have read-only access to the following resources:
- User Information (
/api/v2/me) - to retrieve user and collaboration details - Pipelines (
/api/v2/pipeline) - to retrieve pipeline configurations and executions - Workflows (
/api/v2/pipeline/{id}/workflow) - to retrieve workflow details - Jobs (
/api/v2/workflow/{id}/job) - to retrieve job executions - Projects (
/api/v2/project/{project_slug}) - to retrieve project configurations - Environment Variables (
/api/v2/project/{project_slug}/envvar) - to list project environment variable names (values are not exposed) - Contexts (
/api/v2/context) - to retrieve context configurations - Context Environment Variables (
/api/v2/context/{id}/environment-variable) - to list context variable names - Context Restrictions (
/api/v2/context/{id}/restrictions) - to retrieve context access restrictions
The integration uses the CircleCI v2 API with token-based authentication and requires no write or modification permissions.
Configuration in JupiterOne
To install the CircleCi integration in JupiterOne, navigate to the Integrations tab in JupiterOne and select CircleCi. Click New Instance to begin configuring your integration.
Creating an instance requires the following:
-
The Account Name used to identify the CircleCi account in JupiterOne. Ingested entities will have this value stored in
tag.AccountNamewhen theAccountNametoggle is enabled. -
Description to assist in identifying the integration instance, if desired.
-
Polling Interval that you feel is sufficient for your monitoring needs. You may leave this as
DISABLEDand manually execute the integration. -
Your CircleCI User ID, VCS Username, and CircleCI API Key.
Click Create once all values are provided to finalize the integration.
Next steps
Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.
Entities
The following entities are created:
| Resources | Entity _type | Entity _class |
|---|---|---|
| Account | circleci_account | Account |
| Context | circleci_context | Configuration |
| Context Environment Variable | circleci_context_environment_variable | Configuration |
| Pipeline | circleci_pipeline | Configuration |
| Pipeline Workflow | circleci_workflow | Configuration |
| Project | circleci_project | Repository |
| Project Environment Variable | circleci_project_environment_variable | Configuration |
| User | circleci_user | User |
| UserGroup | circleci_user_group | Group |
| Workflow Job | circleci_job | Task |
Relationships
The following relationships are created:
Source Entity _type | Relationship _class | Target Entity _type |
|---|---|---|
circleci_account | HAS | circleci_user_group |
circleci_account | HAS | circleci_user |
circleci_context | HAS | circleci_context_environment_variable |
circleci_pipeline | HAS | circleci_workflow |
circleci_project | HAS | circleci_pipeline |
circleci_project | HAS | circleci_project_environment_variable |
circleci_project | USES | circleci_context_environment_variable |
circleci_user_group | HAS | circleci_project |
circleci_user_group | HAS | circleci_user |
circleci_workflow | HAS | circleci_job |