git

github all repository names

github all repository names

권한이 있는 계정의 모든 레포지토리 이름을 가져오는 방법을 안내드리겠습니다.

  1. private repo까지 가져오기 위해서는 토큰이 필요합니다.
  2. 여기로 이동하여 토큰을 생성합니다. 계정에 따라 2차인증을 요구 할 수 있습니다.
  3. Note에는 githubRepoNames와 같이 작성하고, Expiration은 사용 할 시간만 짧게 설정합니다. Select scopes에서는 repo에 체크합니다. 그리고 Generate token을 클릭합니다.
  4. 토큰 생성이 완료되면 복사 아이콘을 클릭하여 토큰을 복사합니다.
  5. 아래 코드를 참고하여 usernametoken을 입력합니다.
  6. 아래의 코드를 실행하면 모든 레포지토리 이름을 가져올 수 있습니다. getAllRepositories 함수는 문자열 배열을 반환합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import axios from "axios";

async function getAllRepositories(): Promise<string[]> {
const repositories = [];
// Replace with your username
const username = "";
// Generate a token from https://github.com/settings/tokens and then replace the token
const token = "";
let pageNum = 1;
while (true) {
try {
const response = await axios.get(
`https://api.github.com/search/repositories?q=user:${username}&per_page=100&page=${pageNum}`,
{
headers: {
Authorization: `Bearer ${token}`,
},
}
);
const items = response.data.items;
if (items.length === 0) break;
items.forEach((item) => {
repositories.push(item.name);
});
pageNum += 1;
} catch (error) {
console.error(`Failed to fetch repositories. Error: ${error.message}`);
}
}
return repositories;
}
공유하기