git

github과 구글 시트 연결하기 is github connect to google sheets

고로케 2024. 12. 23.
반응형

GitHub 데이터를 Google 시트로 가져오기

이 가이드에서는 Google 시트용 API 커넥터 애드온을 사용하여 GitHub API에서 Google 시트로 직접 데이터를 가져오는 방법을 살펴보겠습니다 . 먼저 인증을 처리한 다음 GitHub 데이터를 스프레드시트로 가져오는 요청을 설정합니다.

01. API Connector 연결하기

Google Marketplace에서 API 커넥터 애드온을 설치합니다.

구글 스프레드 시트 : 확장 프로그램 -> 부가 기능 -> 부가 기능 설치하기 -> API Connector 설치(개발자:Mixed Analytics)

 

 

 

 

02. GitHub API에 연결

설치된 API Connector에 Github 계정을 연동해주세요. 

  1. 시트에서 확장 프로그램 > API Connector > Open > Create Request
  2. 애플리케이션 드롭다운 목록에서 GitHub을 선택하세요
  3. Connect to Github 클릭 후 계정 승인 버튼을 클릭해서 연동을 완료해주세요.

 

 

 

03. GitHub에서 시트로 데이터 가져오기

연결에 성공 했다면 90% 성공입니다. 이제 원하는 데이터를 가져와 보겠습니다.

 

Endpoint에 원하는 내용을 입력하고 필수 요소 값을 넣은 뒤 RUN 누르면 시트에 값이 기록됩니다.

대충 user , commits, issue 만 입력해도 자동 완성되어 드롭다운으로 옵션이 표기됩니다.

 

유료이므로 무료로 제공 되는 만큼 사용하고 이후에는 적절히 결제해서 사용하면 됩니다.

 

 

04. 원하는 값을 가져오려면,,?! (PR 값 가져오기)

위 방법대로 한다면 제가 원하는 pull request 를 가져오는 것은 옵션에 없었습니다.

연결을 github이 아니라 Application에서 Custom을 선택을 해야한다는 것을 알아냈습니다!

 

1. 요청할 Github API URL : https://api.github.com/repos/ {user}/{repos}/pulls/

2. user와 repos 부분에는 토큰 이름과 repo를 넣으면 된다.
API endpoint 참고 링크(공식문서): https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28

// Octokit.js
// https://github.com/octokit/core.js#readme
const octokit = new Octokit({
  auth: 'YOUR-TOKEN'
})

await octokit.request('GET /repos/{owner}/{repo}/pulls', {
  owner: 'OWNER',
  repo: 'REPO',
  headers: {
    'X-GitHub-Api-Version': '2022-11-28'
  }
})

 

여기서 한 가지 이슈인 토큰 권한을 해결 해야한다.

"auth : YOUR TOKEN 부분이 있는데, 토큰 권한 부분을 해결해보자! 

부록: 개인 액세스 토큰으로 연결

해당 부분은 API Connector 공식 홈페이지 설명을 참고하여 해결하였습니다!
출처 : https://mixedanalytics.com/knowledge-base/access-github-data-in-google-sheets/

이 섹션은 위에 설명된 방법에 대한 대안 으로 제공됩니다 . Connections 관리자에서 GitHub을 클릭하는 대신 개인 액세스 토큰을 직접 검색합니다. 토큰을 받으면 Base 64로 인코딩하고 인코딩된 토큰을 헤더로 포함하여 기본 인증을 적용해야 합니다 . API 키를 수동으로 포함하므로 OAuth2 인증을 없음으로 설정해 둡니다.
  1. Github에 로그인하고 https://github.com/settings/tokens 로 이동합니다 . "개인 액세스 토큰 생성" 또는 "새 토큰 생성" 버튼을 클릭합니다.
  2. 그러면 토큰에 대한 범위 세부 정보를 설정하는 화면으로 이동합니다. 여기서는 추가 범위가 필요하지 않으므로 만료 날짜를 선택하고 메모 필드에 설명을 입력하기만 하면 됩니다.
  3. 페이지 하단의 "토큰 생성" 버튼을 클릭하세요:
  4. 이제 GitHub 개인 액세스 토큰이 준비되었습니다.
  5. 한 단계 더: 기본 인증은 인증 정보를 64진수로 인코딩해야 합니다. 브라우저에서 개발자 도구를 열어서(Windows/Linux에서는 F12, OSX에서는 option + ⌘ + J) 이를 수행할 수 있습니다. 콘솔에서 다음을 입력하고 enter를 클릭합니다.
    encodedData = "Basic " + window.btoa('YOUR_USERNAME+YOUR_PERSONAL_ACCESS_TOKEN')
    위의 Github 사용자 이름과 개인 액세스 토큰 값을 대체하세요. 다음과 같아야 합니다(가운데에 있는 더하기 기호를 잊지 마세요):
  6. 문자열의 시작과 끝에 있는 따옴표를 제외하고 개발자 도구에 나타나는 출력을 클립보드에 복사합니다.
  7. 이제 요청을 실행할 때 OAuth를 None으로 설정한 채로 헤더 섹션에 키-값 쌍을 입력합니다. 여기서 키는 인증이고 값은 기본 YOUR_ENCODED_TOKEN입니다.

 

RUN!!! 누르면 끝났습니다!

반응형

댓글