GraphQL 작업을 검증하기 위한 GitHub 작업

내 워크플로우



GraphQL Operation Validation Action을 사용하면 GraphQL 스키마에 대해 클라이언트 응용 프로그램에서 사용되는 작업의 유효성을 검사할 수 있습니다. 작업은 정적 분석을 사용하고 프로젝트의 지정된 디렉터리에 있는 모든 작업 문서를 확인하여 쿼리/변형 및 해당 필드 선택이 지정된 GraphQL 스키마에 대해 안전하게 실행될 수 있는지 확인합니다.

this repository의 워크플로우에서 실제로 작동하는 것을 볼 수 있습니다(😉).

제출 카테고리:


  • DIY 배포

  • Yaml 파일 또는 코드 링크



    이 사용자 지정 작업에 대한 저장소는 여기에서 찾을 수 있습니다.


    맨디와이즈 / graphql-작업-검증-작업


    GraphQL 스키마에 대해 클라이언트 애플리케이션이 수행하는 모든 작업의 ​​유효성을 검사하는 GitHub 작업입니다.





    GraphQL 작업 유효성 검사 작업


    이 GitHub 작업을 통해 GraphQL 스키마에 대해 클라이언트 애플리케이션에서 사용되는 작업의 유효성을 검사할 수 있습니다. 이 작업은 프로젝트의 지정된 디렉터리에 있는 모든 작업 문서를 확인하여 쿼리/변형 및 해당 필드 선택이 지정된 GraphQL 스키마에 대해 안전하게 실행될 수 있는지 확인합니다.
    여기에서 사용 중인 이 작업을 참조하십시오. mandiwise/graphql-operation-validation-demo

    어떻게 작동합니까?


    클라이언트 애플리케이션에서 모든 GraphQL 작업에 대한 테스트를 작성하고 유지 관리하는 것은 실현 가능하지 않을 수 있으므로 이 조치는 실행 시 유효하다는 확신을 줄 수 있습니다. 검사 쿼리를 스키마로 보내고 프로젝트의 지정된 디렉터리에서 모든 GraphQL 작업 문서(.graphql 또는 .js 파일)를 검색하고 검사 쿼리 결과에 대해 이러한 작업의 유효성을 검사하는 방식으로 작동합니다.
    후드 아래에서 이 프로젝트는 GraphQL.js을 사용하고…

    View on GitHub

    actions/checkout과 함께 이 작업을 사용하는 데모 워크플로 파일은 다음과 같습니다.

    name: Validate GraphQL Operations
    on:
      pull_request:
      push:
        branches:
          - main
          - "releases/*"
    
    jobs:
      operations:
        runs-on: ubuntu-latest
        steps:
          - name: Checkout repo
            uses: actions/checkout@v2
    
          - name: Validate SWAPI operations
            uses: mandiwise/graphql-operation-validation-action@v1
            with:
              schema_location: ${{ github.workspace }}/swapi/schema.graphql
              base_dir: ${{ github.workspace }}/swapi
              excluded_paths: schema.graphql
    
          - name: Validate GitHub operations
            uses: mandiwise/graphql-operation-validation-action@v1
            with:
              schema_location: https://api.github.com/graphql
              base_dir: ${{ github.workspace }}/github
              token: ${{ secrets.ACCESS_TOKEN }}
    

    워크플로의 작업에는 세 단계가 있습니다. 첫 번째 단계에서는 저장소를 확인합니다. 두 번째 단계에서는 사용자 지정 작업을 사용하여 로컬swapi 파일에 대해 저장소의 schema.graphql 디렉터리에 있는 GraphQL 작업을 확인하고 오류가 발생하므로 작업 문서를 검색할 때 해당schema.graphql 파일을 제외합니다. ). 마지막 단계에서는 사용자 지정 작업을 다시 사용하여 리포지토리github 디렉터리의 작업을 원격 스키마에 대해 확인하고 GitHub GraphQL API에 대한 요청과 함께 Authorization 헤더의 토큰을 보냅니다.

    추가 리소스/정보



    reference implementation에서 작업 데모를 확인하고 작업을 만드는 데 사용한 오픈 소스 도구에 대한 자세한 설명을 제공합니다.

    좋은 웹페이지 즐겨찾기