Motivación:
PyGithub es una gran biblioteca, sin embargo, puede que su uso no sea intuitivo al principio. No todo el mundo es un experto en la API de Github, por lo que estoy tratando de proporcionar algunos ejemplos de trabajo (recetas) que, con suerte, le ayudarán a empezar.
El esqueleto se ha configurado aquí y los documentos de ejemplo ya están activos en readthedocs como de costumbre:
https://pygithub.readthedocs.io/en/latest/examples.html
Tenga en cuenta que la lista se expandirá y cualquier RP para agregar más ejemplos es muy bienvenido 😄
Si desea ver algunos ejemplos no cubiertos aquí, simplemente deje un comentario.
@sfdye leyó el ejemplo de inicio de sesión ^^ _
Acabo de comenzar con PyGithub y encontré algunos ejemplos , así que obviamente se ha hecho algo de trabajo. ¡Gracias, gente!
Pero no veo ningún ejemplo de cómo escuchar eventos, por ejemplo, empujar evento y pullrequestevent . ¿Podrían agregarse ejemplos para esos?
¡Gracias, @LeviMatus!
Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.
esto no es rancio
Estoy escribiendo ejemplos de organizaciones ahora
Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.
Soy nuevo en PyGithub SDK y trato de realizar las siguientes operaciones. Sin embargo, tengo dificultades para revisar los documentos para conocer el uso.
equivalente de línea de comando:
git checkout <<branch>> and then get file content
Asunto:
Puedo obtener el contenido del archivo de la rama maestra usando este sdk pero no desde una rama específica
equivalente de línea de comando:
git tag -v <<tag_id>>
Veo aquí los documentos https://pygithub.readthedocs.io/en/latest/examples/Repository.html#update-a-file-in-the-repository
git config user.email "[email protected]"
git config user.name "cicd"
git commit --amend --reset-author --no-edit
git pull --no-edit
git add $FILE_NAME
git commit -m "updating $FILE_NAME"
git pull --no-edit && git push origin
También estoy tratando de encontrar el método / api de este sdk para hacer eso, pero si alguien lo tiene listo, por favor ayude con lo mismo.
Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.
Hola, soy un desarrollador relativamente nuevo y esto está ayudando mucho. ¿Alguien planea hacer ejemplos para la aplicación github? ¡Gracias!
Soy nuevo en PyGithub SDK y trato de realizar las siguientes operaciones. Sin embargo, tengo dificultades para revisar los documentos para conocer el uso.
- obtener el contenido de un archivo de una rama específica
equivalente de línea de comando:
git checkout <<branch>> and then get file content
Asunto:
Puedo obtener el contenido del archivo de la rama maestra usando este sdk pero no desde una rama específica
- etiquetas repo y sus detalles
equivalente de línea de comando:
git tag -v <<tag_id>>
- Actualiza ese archivo
Veo aquí los documentos
https://pygithub.readthedocs.io/en/latest/examples/Repository.html#update-a-file-in-the-repository
- Actualizar los detalles del usuario para confirmar
git config user.email "[email protected]" git config user.name "cicd" git commit --amend --reset-author --no-edit
- Git extrae esa rama antes de confirmar, ya que otra automatización podría haber comprometido algún otro archivo.
- git commit en la rama
git pull --no-edit git add $FILE_NAME git commit -m "updating $FILE_NAME" git pull --no-edit && git push origin
También estoy tratando de encontrar el método / api de este sdk para hacer eso, pero si alguien lo tiene listo, por favor ayude con lo mismo.
¡Hola! También estoy tratando de obtener el contenido de una rama específica. ¿Lo obtuviste? ¡Gracias!
@estagumor Si aún necesita esta respuesta, la clave es el parámetro ref en la función get_contents
. El valor predeterminado es "maestro". Aquí hay un ejemplo de cómo obtener el contenido de la rama "0.6.X" del repositorio scikit-learn.
from github import Github
g = Github("USERNAME", "PASSWORD")
repo = g.get_repo("scikit-learn/scikit-learn")
repo.get_contents("", ref = "0.6.X")
@sfdye Acabo de empezar a trabajar con PyGithub y funciona muy bien. Sin embargo, incluso si estoy familiarizado con git api, sería genial si pudiera proporcionar un ejemplo práctico de cómo establecer crear / establecer reglas de protección de ramas.
Probé por ejemplo:
g.get_repo ('SECRETO / SECRETO'). get_branch ('maestro'). add_required_signatures ()
@ qbits-rwx Creo que el método que necesitas es:
https://pygithub.readthedocs.io/en/latest/github_objects/Branch.html#github.Branch.Branch.edit_protection
https://developer.github.com/v3/repos/branches/#update -branch-protection
Sí, esto funcionó. Desafortunadamente, requerir confirmaciones firmadas, no está implementado. Sería bueno tenerlo, ya que es una política que debemos establecer en cada rama.
No dude en enviar un FR o PR
Oye, estaba revisando ejemplos de solicitudes de extracción, ¿hay alguna forma de obtener una solicitud de extracción por su HTML
? ¿O hay alguna función disponible para convertir la URL HTML a la consulta API de Github?
¡Muchas gracias por estos ejemplos! Lo que me falta es un ejemplo de manejo de excepciones. Por ejemplo, no me quedó claro de inmediato cómo atrapar un github.GithubException.UnknownObjectException
.
Comentario más útil
Estoy escribiendo ejemplos de organizaciones ahora