Skip to main content
Dotset CLI API Documentation / index / CIEnvironment

Interface: CIEnvironment

Defined in: src/shield/ci/index.ts:138 CI/CD Integration Module Native integration with GitHub Actions, GitLab CI, and other CI providers.

Example

import {
  detectCIEnvironment,
  ExitCodes,
  determineExitCode,
  writeGitHubSummary,
  createGitHubAnnotation,
  ArtifactManager,
} from '@dotsetlabs/cli';

// Detect CI environment
const env = detectCIEnvironment();
console.log(`Running on: ${env.provider}`);

// Determine exit code based on findings
const exitCode = determineExitCode(scanResult, { failOnSeverity: 'high' });

// GitHub Actions: Write job summary
if (env.provider === 'github') {
  await writeGitHubSummary(scanResult);

  // Create annotations for findings
  for (const finding of scanResult.findings) {
    createGitHubAnnotation(finding);
  }
}

// Manage artifacts
const artifacts = new ArtifactManager({ basePath: './artifacts' });
await artifacts.write('sarif', sarifContent, { filename: 'shield-results.sarif' });

process.exit(exitCode);

Properties

actor?

optional actor: string;
Defined in: src/shield/ci/index.ts:157

artifactsPath?

optional artifactsPath: string;
Defined in: src/shield/ci/index.ts:162

branch?

optional branch: string;
Defined in: src/shield/ci/index.ts:142

buildNumber?

optional buildNumber: string;
Defined in: src/shield/ci/index.ts:152

buildUrl?

optional buildUrl: string;
Defined in: src/shield/ci/index.ts:153

commit?

optional commit: string;
Defined in: src/shield/ci/index.ts:143

commitShort?

optional commitShort: string;
Defined in: src/shield/ci/index.ts:144

isCI

isCI: boolean;
Defined in: src/shield/ci/index.ts:140

isPR

isPR: boolean;
Defined in: src/shield/ci/index.ts:141

jobId?

optional jobId: string;
Defined in: src/shield/ci/index.ts:155

jobName?

optional jobName: string;
Defined in: src/shield/ci/index.ts:156

pipelineId?

optional pipelineId: string;
Defined in: src/shield/ci/index.ts:154

prNumber?

optional prNumber: string;
Defined in: src/shield/ci/index.ts:148

provider

provider: CIProvider;
Defined in: src/shield/ci/index.ts:139

prSourceBranch?

optional prSourceBranch: string;
Defined in: src/shield/ci/index.ts:150

prTargetBranch?

optional prTargetBranch: string;
Defined in: src/shield/ci/index.ts:151

prTitle?

optional prTitle: string;
Defined in: src/shield/ci/index.ts:149

repository?

optional repository: string;
Defined in: src/shield/ci/index.ts:145

repositoryName?

optional repositoryName: string;
Defined in: src/shield/ci/index.ts:147

repositoryOwner?

optional repositoryOwner: string;
Defined in: src/shield/ci/index.ts:146

runId?

optional runId: string;
Defined in: src/shield/ci/index.ts:160

runNumber?

optional runNumber: string;
Defined in: src/shield/ci/index.ts:161

summaryPath?

optional summaryPath: string;
Defined in: src/shield/ci/index.ts:163

triggeredBy?

optional triggeredBy: string;
Defined in: src/shield/ci/index.ts:158

workflowName?

optional workflowName: string;
Defined in: src/shield/ci/index.ts:159