

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 프로젝트 세부 정보를 위한 컨텍스트 객체 액세스
<a name="context-objects-lm"></a>

블루프린트 작성자는 합성 중에 블루프린트의 프로젝트에서 컨텍스트에 액세스하여 스페이스 및 프로젝트 이름 또는 프로젝트의 소스 리포지토리에 있는 기존 파일과 같은 정보를 얻을 수 있습니다. 블루프린트가 생성하는 재합성 단계와 같은 세부 정보를 얻을 수도 있습니다. 예를 들어 컨텍스트에 액세스하여 재합성을 통해 조상 번들 또는 제안된 번들을 생성하고 있는지 확인할 수 있습니다. 그런 다음 기존 코드 컨텍스트를 사용하여 리포지토리에서 코드를 변환할 수 있습니다. 예를 들어 자체 재합성 전략을 작성하여 특정 코드 표준을 설정할 수 있습니다. 작은 블루프린트를 위해 전략에 `blueprint.ts` 파일을 추가하거나 전략을 위해 별도의 파일을 생성할 수 있습니다.

다음 예시는 프로젝트의 컨텍스트에서 파일을 찾고, 워크플로 빌더를 설정하고, 특정 파일에 대한 블루프린트 대치 재합성 전략을 설정하는 방법을 보여줍니다.

```
const contextFiles = this.context.project.src.findAll({
      fileGlobs: ['**/package.json'],
    });

    // const workflows = this.context.project.src.findAll({
    //   fileGlobs: ['**/.codecatalyst/**.yaml'],
    // });

    const security = new WorkflowBuilder(this, {
      Name: 'security-workflow',
    });
    new Workflow(this, repo, security.getDefinition());
    repo.setResynthStrategies([
      {
        identifier: 'force-security',
        globs: ['**/.codecatalyst/security-workflow.yaml'],
        strategy: MergeStrategies.alwaysUpdate,
      },
    ]);


    for (const contextFile of contextFiles) {
      const packageObject = JSON.parse(contextFile.buffer.toString());
      new SourceFile(internalRepo, contextFile.path, JSON.stringify({
        ...packageObject,
      }, null, 2));
    }
  }
```