Codefresh is a CI/CD and GitOps platform that provides REST APIs for managing pipelines, projects, builds, agents, integration contexts, and pipeline execution contexts in containerized environments. With this connector, you can ingest pipeline and build data from Codefresh and trigger or manage pipelines, projects, contexts, and triggers programmatically.
Power end-to-end data operations for your Codefresh API with Nexla. Our bi-directional Codefresh connector is purpose-built for Codefresh, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Codefresh or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Codefresh workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Codefresh authenticates API requests using an API key that is passed in the Authorization header of each request. Before creating a credential in Nexla, you must have an active Codefresh account and generate an API key with the scopes required for the operations you intend to perform.
API keys are generated from your Codefresh user settings. Each key is tied to your account and carries the scopes (permissions) that you assign when it is created.
Navigate to your user settings by clicking your avatar in the lower-left corner and selecting User Settings, or by going directly to https://g.codefresh.io/user/settings.
Scroll down to the API Keys section, and click the Generate button.
Enter a user-friendly Key Name without spaces (e.g., nexla-integration) so that you can identify the key later.
Select the Scopes that the key requires. For a Nexla integration that reads pipeline and build data and manages pipelines, projects, contexts, and triggers, select the scopes corresponding to those resources. Selecting all scopes grants full access; for tighter security, select only the scopes needed for your use case.
Click Create to generate the key. Codefresh displays the key in the API Key field.
Copy the key immediately and store it in a secure location, as it is used to authenticate Nexla with the Codefresh API.
Treat your API key like a password. Anyone with the key can perform actions in your Codefresh account up to the scopes assigned to it. Assign only the scopes required for your integration, and rotate or revoke keys that are no longer in use.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Enter the API key you generated in your Codefresh user settings in the API Key Value field. Nexla includes this value in the Authorization header of every request to authenticate with the Codefresh API. This value is stored securely and is treated as a secret.
Enter the Codefresh API base URL in the Base URL field. For the Codefresh SaaS platform, this is https://g.codefresh.io/api, which is the default value. If you use a dedicated or on-premises Codefresh installation, enter the base URL for your environment instead.
The base URL is the common prefix for all Codefresh API endpoints. Nexla appends endpoint-specific paths (such as /pipelines or /workflow) to this value when making API calls.
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Codefresh connector tile, then select the credential that will be used to connect to the Codefresh instance, and click Next; or, create a new Codefresh credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Codefresh endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
List Pipelines
This endpoint returns a list of all pipelines in your Codefresh account. Use it to inventory your pipelines, report on pipeline configurations, or feed pipeline metadata into downstream systems.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve all pipelines accessible to your credential.
Results are paginated automatically. Nexla pages through the results using offset-based pagination, fetching up to 100 records per page until all pipelines have been retrieved.
In Codefresh, pipelines are workflows composed of individual steps, and they are grouped within projects. The response includes each pipeline's metadata and specification.
List Pipeline Builds/Runs
This endpoint returns a list of workflow builds (pipeline runs) in your account. Use it to monitor build activity, analyze build outcomes and durations, or report on CI/CD throughput.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve recent pipeline builds.
Results are paginated automatically using page-based pagination, fetching up to 100 builds per page until no further data is returned.
A build (also called a workflow run) represents a single execution of a pipeline. Each build record includes status, timing, and trigger information that is useful for build analytics.
Get Pipeline Build/Run
This endpoint retrieves detailed status and metadata for a single pipeline build (workflow run) by its ID. Use it when you need the full detail of one specific run rather than a summary list.
Enter the build identifier in the Build ID field. This is the workflow/build ID of the pipeline run to retrieve. You can obtain build IDs from the "List Pipeline Builds/Runs" endpoint.
Build IDs are unique identifiers for individual workflow runs. Use the "List Pipeline Builds/Runs" endpoint first to find the ID of the run you want to inspect.
List Projects
This endpoint returns a list of projects in your account. In Codefresh, a project acts as a folder that groups related pipelines, such as all pipelines for the microservices of a single application.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve all projects.
Results are paginated automatically using offset-based pagination, fetching up to 100 projects per page until all projects have been retrieved.
Project records are useful for understanding how pipelines are organized and for mapping pipelines to applications or teams.
List Pipeline Triggers
This endpoint returns a list of pipeline triggers (Git, Cron, Helm, and others) configured across your account. Use it to audit how and when pipelines are automatically initiated.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve all configured triggers.
Triggers define the events that start a pipeline, such as a Git push, a scheduled Cron expression, or a Helm chart update.
List Step Types
This endpoint returns a list of available step types that can be used in Codefresh pipelines. Each step in a pipeline performs a specific action, and step types are the reusable building blocks for those steps.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve the catalog of available step types.
Results are paginated automatically using offset-based pagination, fetching up to 100 records per page until all step types have been retrieved.
Step types include both built-in steps provided by Codefresh and custom steps published to the step marketplace.
List Contexts
This endpoint returns a list of contexts configured in your account. Contexts store shared configuration and integration details that pipelines reference at runtime.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve all contexts.
Use the "List Integration Contexts" workflow on the destination side to manage contexts such as Git providers, registries, and cloud providers.
List Execution Contexts
This endpoint returns a list of execution contexts available in your account. Execution contexts define where and how pipeline steps run.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve all execution contexts.
Execution contexts are useful for understanding the runtime configuration applied to pipeline executions.
List Runtime Environments
This endpoint returns a list of available runtime environments (Kubernetes-based runners) configured for your account. Runtime environments are the Kubernetes clusters on which pipeline builds execute.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve all runtime environments.
Runtime environment data helps you understand the compute infrastructure backing your pipelines and is useful for capacity and cost reporting.
List Agents
This endpoint returns a list of agents configured in your account. Agents (Codefresh Runner agents) connect your Kubernetes clusters to the Codefresh platform.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve all agents.
Agent records are useful for monitoring the health and connectivity of your self-hosted Codefresh runners.
List Helm Repositories
This endpoint returns a list of Helm repositories configured in your Codefresh account. Use it to inventory the Helm chart sources available to your pipelines.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve all Helm repositories.
Helm repository data is useful for teams that deploy applications to Kubernetes using Helm charts as part of their CD process.
List Account Users
This endpoint returns a list of users associated with your account. Use it for access auditing, user reporting, or syncing account membership into other systems.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve all account users.
Retrieving account users typically requires a key with administrative scopes. Ensure your API key has the appropriate access for account-level data.
Get Account Settings
This endpoint retrieves the settings for the current account. Use it to capture account-level configuration for reporting or compliance purposes.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve the current account settings.
Account settings reflect the configuration of the account associated with your API key.
List Audit Logs
This endpoint returns a list of audit logs for account activities. Use it to track changes and actions performed in your account for security and compliance reporting.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve audit log entries.
Audit log access typically requires administrative scopes. Audit data is valuable for security monitoring and demonstrating compliance.
List Analytics Reports
This endpoint returns a list of available analytics reports. Use it to discover the reports you can pull metrics from for build and pipeline performance analysis.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve the list of analytics reports.
Pair this endpoint with "Get Analytics Metadata" to understand the structure and available fields of each report.
Get Analytics Metadata
This endpoint retrieves metadata for analytics data, describing the structure and available dimensions of Codefresh analytics reports.
This endpoint requires no additional configuration. Select it from the Endpoint menu to retrieve analytics metadata.
Analytics metadata is helpful for interpreting the fields returned by the "List Analytics Reports" endpoint before ingesting report data.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Codefresh data sources can also be manually configured to ingest data from any valid Codefresh API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
Codefresh API endpoints use the base URL https://g.codefresh.io/api followed by the resource path (for example, https://g.codefresh.io/api/pipelines). Codefresh wraps list responses in container objects—pipelines and builds are nested in a docs array (path to data: $.docs[*]), projects in a projects array ($.projects[*]), and account users in a users array ($.users[*]). The Authorization header containing your Codefresh API key is added automatically by Nexla based on your credential configuration.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Codefresh data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Click the + icon on the Nexset that will be sent to the Codefresh destination, and select the Send to Destination option from the menu. Select the Codefresh connector from the list of available destination connectors, then select the credential that will be used to connect to the Codefresh account, and click Next; or, create a new Codefresh credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Codefresh endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Run Pipeline
This endpoint triggers a pipeline run by project and pipeline name. Use it to programmatically start builds from your Nexla flows. The request body may include a branch, variables, and options such as noCache and resetVolume.
Enter the Codefresh project that owns the pipeline in the Project Name field. This is the name of the project that groups the target pipeline.
Enter the name of the pipeline to run within the project in the Pipeline Name field.
Each Nexset record is sent as the JSON request body. Include any run options (such as branch, variables, noCache, or resetVolume) as fields in the record.
Triggering a pipeline run requires a key with the appropriate Pipeline and Build scopes. The project and pipeline names must match those configured in Codefresh.
Create Pipeline
This endpoint creates a new pipeline definition with a YAML spec, triggers, and runtime settings. Use it to provision pipelines programmatically from records in your data flow.
This endpoint requires no additional path parameters. Each Nexset record is sent as the JSON request body and should contain the full pipeline definition, including the pipeline metadata and specification.
Pipelines are grouped within projects, so the pipeline definition should reference the project that the new pipeline belongs to.
Update Pipeline
This endpoint updates an existing pipeline definition (YAML, variables, triggers, and runtime) by ID. Use it to apply configuration changes to pipelines from your data flow.
Enter the ID of the pipeline to update in the Pipeline ID field. You can obtain pipeline IDs from the "List Pipelines" source endpoint.
Each Nexset record is sent as the JSON request body and should contain the updated pipeline definition.
Updating a pipeline replaces its configuration with the values in the request body, so include the complete updated definition rather than only the changed fields.
Delete Pipeline
This endpoint deletes a pipeline by its ID. Use it to remove pipelines that are no longer needed as part of an automated cleanup or lifecycle flow.
Enter the ID of the pipeline to delete in the Pipeline ID field. You can obtain pipeline IDs from the "List Pipelines" source endpoint.
Deleting a pipeline is irreversible. Confirm the pipeline ID before activating a flow that uses this endpoint.
Terminate Pipeline Build
This endpoint terminates (cancels) an in-progress pipeline build by its workflow ID. Use it to stop running builds programmatically, for example in response to an external condition detected in your data flow.
Enter the workflow/build ID of the in-progress run to terminate in the Build ID field. You can obtain build IDs from the "List Pipeline Builds/Runs" source endpoint.
Only builds that are currently running can be terminated. Builds that have already completed are not affected by this endpoint.
Restart Pipeline Build
This endpoint restarts (re-runs) a previously executed pipeline build using the same parameters. Use it to retry failed builds or re-run a build without reconfiguring its parameters.
Enter the workflow/build ID of the previous run to restart in the Build ID field. You can obtain build IDs from the "List Pipeline Builds/Runs" source endpoint.
Restarting a build reuses the parameters from the original run, making it useful for retrying transient failures.
Create Project
This endpoint creates a new project to group related pipelines. Use it to organize pipelines programmatically—for example, creating one project per application or team.
This endpoint requires no additional path parameters. Each Nexset record is sent as the JSON request body and should contain the project definition, such as the project name and tags.
A project acts as a folder that groups related pipelines, such as all pipelines for the microservices of a single application.
Delete Project
This endpoint deletes a project by its ID. Use it to remove projects that are no longer needed as part of an automated lifecycle flow.
Enter the ID of the project to delete in the Project ID field. You can obtain project IDs from the "List Projects" source endpoint.
Deleting a project is irreversible. Confirm the project ID before activating a flow that uses this endpoint.
Create Integration Context
This endpoint creates a new integration context, such as a Git provider, registry, or cloud provider. Integration contexts store the configuration that pipelines use to connect to external systems.
This endpoint requires no additional path parameters. Each Nexset record is sent as the JSON request body and should contain the context definition, including its type and configuration details.
Integration contexts let pipelines reference shared connection details (for example, registry credentials) without hardcoding them in each pipeline.
Delete Integration Context
This endpoint deletes an integration context by its name. Use it to clean up contexts that are no longer needed.
Enter the name of the integration context to delete in the Context Name field. You can obtain context names from the "List Contexts" source endpoint.
Integration contexts are identified by name. Ensure no active pipelines depend on a context before deleting it.
Create Pipeline Trigger
This endpoint creates a new trigger (Git, Cron, or Helm) on a pipeline. Triggers define the events that automatically start a pipeline.
This endpoint requires no additional path parameters. Each Nexset record is sent as the JSON request body and should contain the trigger definition, including the target pipeline and the trigger type and configuration.
Use a Git trigger to start a pipeline on repository events, a Cron trigger to run on a schedule, or a Helm trigger to respond to Helm chart updates.
Codefresh destinations can also be manually configured to send data to any valid Codefresh API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Codefresh write operations typically use POST to create resources or trigger actions, PUT to update existing resources, and DELETE to remove resources; for update or delete calls, include the ID of the target object at the end of the URL (for example, https://g.codefresh.io/api/pipelines/<pipeline_id>). Codefresh write endpoints generally operate on a single resource per request, so leave record batching disabled unless you have a specific need to group records together. You can optionally enable the response webhook option to send the response from each Codefresh API call (such as a returned build ID or status) to a new Nexla webhook data source. The Authorization header containing your Codefresh API key is added automatically by Nexla based on your credential configuration.
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to Codefresh, open the destination resource menu, and select Activate.
The Nexset data will not be sent to Codefresh until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.