Как определить / перечислить все веб-зацепки GITHUB (URL) с использованием Python? - PullRequest
0 голосов
/ 23 мая 2018

Я работаю с запросами и библиотеками Python Github, в основном, для создания сценария для обновления веб-крючков (URL) в github при определенных условиях.

Используя следующий код, я получаю некоторую информацию, такую ​​как GitHubорганизация, пользователь GitHub и репозитории GitHub (просто для примера):

**from github import Github
import json
import requests
def function_example():
    gh = Github('MY_TOKEN_HERE', base_url='https://MY-GITHUB-DOMAIN/api/v3')
    get_users = gh.get_user().name
    print("USERNAME: ", get_users)
    print(" ")
    # user_repos = gh.repos.list().all()
    user_repos = gh.get_repos()
    print("REPOS: ", user_repos)
    print(" ")
    orgs = gh.get_organization('MY_GITHUB_ORG_HERE')
    print("ORGS: ", orgs)
    print(" ")
if __name__ == '__main__':
    function_example()
# Eof**

Однако мне нужно указать URL-адрес webhooks (расположенный в Github -> Repo -> Setting -> Webhooks) по порядкуобновить их новым доменом.Проблема в том, что я не нашел, как получить или перечислить все веб-хуки для определенного репозитория.

Я читал о Лицензионной библиотеке с именем smartsheet , и похоже, чточто, используя эту библиотеку, мы могли бы обрабатывать веб-хуки ... но у меня нет этой библиотеки, установленной здесь: - (

Можно ли перечислить / идентифицировать веб-хуки URL, используя эти библиотеки Python (запросы и /или Github)?

Если так, может кто-нибудь прислать мне пример?

Я буду очень благодарен за это!

Хосе

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Похоже, что есть Github Webhooks API: https://developer.github.com/v3/repos/hooks/#list-hooks

Используя запросы, вы должны иметь возможность выполнять операции CRUD на веб-крюках для каждого из ваших репозиториев.

вызов, чтобы перечислить хуки репо, будет выглядеть примерно так:

import requests
token = "YOUR_OAUTH_OR_PERSONAL_ACCESS_TOKEN"
repo = "connect4"
user = "dreslan"
url = "https://api.github.com/repos/{}/{}/hooks".format(user, repo)
headers = {"Authorization": "token {}".format(token)}
r = requests.get(url, headers=headers)
# r.content will display the result
0 голосов
/ 23 мая 2018

Есть звонок GetHooks().Смотри https://developer.github.com/v3/repos/hooks/

...