Il s'agit du premier des 4 scripts que j'ai décidé d'écrire comme indiqué dans l'architecture du système. Je me sentais pompé ! c'était un pas dans la direction de la création d'une expérience « wiki » qui permet de contribuer à l'Open source sans s'interfacer avec l'interface utilisateur de GitHub ?.
Il s'agit de fichiers js qui contiennent certaines fonctions réutilisables associées, particulièrement destinées à être utilisées pour interagir avec les API GitHub ; ils sont soit consommés dans le même script, soit exportés pour être utilisés pour exécuter leurs fonctionnalités de base ailleurs dans le projet. Ils acceptent une instance Octokit authentifiée d'un utilisateur comme paramètres parmi les autres, cette instance est utilisée pour effectuer des actions/fonctions via les API GitHub au nom de l'utilisateur authentifié.
La nécessité de créer un flux de contribution à l'Open source sans interface avec l'interface utilisateur de GitHub signifiait que nous devions automatiser certains processus - en simulant toutes les étapes qu'un utilisateur suivrait s'il devait contribuer via l'interface utilisateur de GitHub, les étapes sont les suivantes suit..
J'ai commencé à écrire ce script juste après le commit initial, c'était en fait le PR #2, mais il a pris un coup pendant le long mois de pause ? J'ai tiré des leçons du projet avant de me remettre au travail sur la fonctionnalité de dictionnaire de base.
La tâche ici était de créer "The Fork Script" - dont l'objectif final est de créer/obtenir un fork du dépôt jargons.dev sur/à partir du compte d'un utilisateur. Il devrait héberger toutes les fonctions qui feront ce qui suit.
Comprenant la mission, je me suis « plongé » directement dans le travail sur le script.
Je suis déjà très habitué aux API GitHub du fait de ma consommation fréquente dans mon travail quotidien sur Hearts ❤️... J'avais donc la documentation Fork de GitHub qui me paraissait un broski ?...
Qui me traverse l'esprit ? pendant que j'écrivais ce script, c'était une pensée à laquelle je me suis accroché après avoir lu le paragraphe cité ci-dessous sur la documentation de GitHub Fork
Remarque : la création d'un référentiel se produit de manière asynchrone. Vous devrez peut-être attendre un court laps de temps avant de pouvoir accéder aux objets git. Si cela prend plus de 5 minutes, assurez-vous de contacter le support GitHub.
J'ai mal compris cela et j'ai supposé que nous allions seulement pouvoir lancer un processus de fork, passer à autre chose et ne pourrons sûrement pas attendre un objet de réponse qui renvoie les détails du nouveau fork parce que nous ne le faisons pas. lorsque le processus de fork est terminé.
Cette hypothèse m'a obligé à ne renvoyer aucune donnée de la fonction principale de forkRepository et je commençais déjà à réfléchir à ce stade : comment vais-je faire en sorte que les détails du fork soient traités pour la phase suivante du processus de contribution !? Hmm, je vais peut-être utiliser des webhooks ?!?
Il s'est avéré que j'y réfléchissais trop ?, j'ai réalisé plus tard que j'obtiendrais en fait les détails de la réponse pour le fork et cela m'a amené à faire un PR de suivi pour traiter du retour des données requises de l'objet de réponse du fork pour la consommation dans le processus de contribution.
Principal:
Cette Pull Request implémente le script fork ; ce script est destiné à être utilisé pour transférer par programme le dépôt principal du projet vers un compte utilisateur ; Il héberge une fonction principale et d'autres fonctions d'assistance qu'il utilise pour effectuer certaines actions nécessaires afin de garantir un fonctionnement efficace du repo fork.
Résout n° 2
https://github.com/babblebey/jargons.dev/assets/25631971/16221b7e-3c28-4c6c-a1f3-24d583ce7e3a
?
Ce PR fait suite à une étape manquante dans la mise en œuvre initiale du script fork au n°3 ; le script fork n'a pas réussi à renvoyer un dépôt qui peut être utilisé lors de la prochaine étape du calcul. C'était à cause d'une hypothèse étrange que j'avais lors de la mise en œuvre initiale. ?Voir mon hypothèse ci-dessous...
Je suppose que l'appel au point de terminaison "POST /repos/{owner}/{repo}/forks" assure uniquement le lancement d'un processus fork sans nous assurer du tout d'une réponse. Cela signifie que nous pourrions ne pas obtenir exactement de réponse.données après l'appel
... mais ce n'était pas vrai, j'ai découvert qu'une réponse.data arrive réellement, mais cela peut prendre un certain temps et seulement dans les cas où le dépôt en cours de fork est énorme.... et pour le moment la création du dépôt du projet se produit en moins de 5 secondes.
?
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3