GitHub API를 사용하여 리포지토리에서 열려있는 풀 요청 및 문제를 모두 계산하는 것을 좋아합니다. API 끝점 /repos/:owner/:repo
결과에 open_issues
속성이 있음을 알게되었습니다. 그러나 이것은 문제의 양과 풀 요청의 합입니다.오픈 풀 요청 및 GitHub에 대한 문제 확인
오픈 이슈의 양을 계산하거나 리포지토리의 requerst를 가져 오는 방법이 있습니까?
GitHub API를 사용하여 리포지토리에서 열려있는 풀 요청 및 문제를 모두 계산하는 것을 좋아합니다. API 끝점 /repos/:owner/:repo
결과에 open_issues
속성이 있음을 알게되었습니다. 그러나 이것은 문제의 양과 풀 요청의 합입니다.오픈 풀 요청 및 GitHub에 대한 문제 확인
오픈 이슈의 양을 계산하거나 리포지토리의 requerst를 가져 오는 방법이 있습니까?
osowskit이 정확한지 확인하는 것이 가장 쉬운 방법은 문제 목록과 저장소에서 끌어 오기 요청 목록을 반복하는 것입니다. 각 행에 대한 개별 카운트를 얻고 싶다고 가정하고 있습니다. 귀하의 질문 중).
문제 API는 문제와 요청을 모두 반환하므로 풀 요청이 아닌 문제의 수를 얻으려면 문제 수에서 풀 요청 수를 뺀 다음 문제 수에서 뺄 필요가 있습니다. 당신은 모든 요청을 당겨 반복 할 필요가 없습니다
import github3
gh = github3.login(token='your_api_token')
issues_count = len(list(gh.repository('owner', 'repo').issues()))
pulls_count = len(list(gh.repository('owner', 'repo').pull_requests()))
print('{} issues, {} pull requests'.format(issues_count - pulls_count, pulls_count))
나는 GitHub가 이것을하기위한 더 좋은 방법을 제공하기를 희망했다. 반복적으로 말하자면, 10.000 개의 이슈가 다소 어리 석고 효율적이지 않다고 생각합니다. - /하지만 어쨌든 고마워요! –
또 다른 질문이 내 마음에 나타났습니다. GitHub는 문제를 제공하고 페이지 매김 된 요청을 가져옵니다. 이 경우 페이지 당 항목 수 + 마지막 페이지의 항목 수는 총 권리입니까? –
예, 자동으로 페이지 매김을 처리하는 라이브러리를 사용하지 않는다고 가정하십시오 ('github3.py'). – kfb
예를 들어, 멋진 github3.py
파이썬 라이브러리를 사용하여. GitHub API는 페이지를 반환하고 링크 헤더에서 첫 번째, 이전, 다음 및 마지막 페이지에 액세스 할 수 있습니다.) 마지막 페이지 링크의 값 (페이지 즉, 수) 3를 가져 오기) 당신을
1) 첫 번째 페이지를 가져 오기 및 1 2의 페이지 크기를 지정 : 당신은보다 효율적인 알고리즘을 구현하기 위해 그것을 사용할 수 있습니다 따라서 PR 수의 페이지 수를 가지며 이러한 페이지를 모두 가져올 필요가 없습니다.
https://developer.github.com/v3/issues/#list-issues-for-a-repository에서 반환 된 미해결 된 문제를 '상태 = 열기'에서 반복 처리 할 수 있습니까 – osowskit
'state = open' is is 리스팅 문제와 풀 요청 모두에 대한 기본값이므로 지정할 필요가 없습니다. – kfb