Created
September 15, 2021 15:38
-
-
Save lcds90/ff4b23e57a34b9b0109b28606a00bdd4 to your computer and use it in GitHub Desktop.
Pesquisa de pull requests personalizada
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const baseUrlGit = 'https://api.github.com'; | |
const fetchGithubPulls = async (user, repository) => { | |
/* Estrutura do protocolo HTTP Get de pesquisa em issues | |
Url SITE | |
https://github.com/search?q=user%3Atryber+lcds90&type=issues | |
Url API | |
https://api.github.com/search/issues?q=author:lcds90%20is:pr%20user:tr | |
https:// = Protocolo HTTP Hyper Text Transfer Protocol Secure | |
api.github.com = hostname | |
search = rota / caminho com endpoint como é utilizado no mecanismo de busca padrão do Github | |
issues = parametro identificando para localizar as buscas na categoria issues | |
?q = aqui entram os valores de queries conforme pode se ver na documentação. | |
! */ | |
// NOTE Essa response se trata da resposta em relação ao seu acesso na rota | |
try { | |
const response = await fetch( | |
`${baseUrlGit}/search/issues?q=author:${user}%20is:pr%20user:tryber`, | |
); | |
/* NOTE Retorna o resolve do parametro body da requisição de uma promisse | |
tendo como resultado um objeto JSON | |
// LINK Fetch Body -> https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#body | |
Um body é uma instancia desses métodos utilizados, o json é uma deles, | |
outras possuem como Blob para conteudo multimidia entre outras. */ | |
const json = await response.json(); | |
const pulls = await json.items.filter((i) => i.repository_url.includes(repository)); | |
return pulls; | |
} catch (error) { | |
throw new Error(`Error in fetchGithubPulls: ${error}`); | |
} | |
}; | |
async function main() { | |
const prs = await fetchGithubPulls( | |
'lcds90', | |
'sd-013-a-project-trivia-react-redux', | |
); | |
console.log(prs); | |
} | |
main(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Documentação github API
https://developer.github.com/v3/search/
Importante notar que pela URL só estamos filtrando os repositório do usuário tryber