跳转到主要内容

django-sync-github-teams是 ...

项目描述

django-sync-github-teams

django-sync-github-teams添加了在Django应用程序之间同步GitHub团队和组的功能。它假定并需要用户通过django-allauth使用GitHub账户登录到Django应用程序。请查看django-allauth文档以获取有关如何设置的详细信息。

安装和配置

安装包

pip install django-sync-github-teams

Django设置中

INSTALLED_APPS = [
   ...
   "django_sync_github_teams",
   "allauth",
   "allauth.account",
   "allauth.socialaccount",
   ...
]

AUTH_SOCIALACCOUNT = {
    ...
    "github": {
        "SCOPE": ["user"]
    },
    ...
}

SYNC_GITHUB_TEAMS = ["myorg/myteam"]
SYNC_GITHUB_TEAMS_TOKEN = "*********************"
SYNC_GITHUB_TEAMS_ON_LOGIN = False

以下设置可以使用

  • SYNC_GITHUB_TEAMS:包含要从中同步的GitHub团队字符串列表,格式为ORGANIZATION/TEAM。每个列出的团队都将同步到具有相同名称的本地Django组。只有使用GitHub账户本地登录的用户才会被添加到该组。
    • SYNC_GITHUB_TEAMS也可以是包含团队字符串的字符串,格式为ORGANIZATION/TEAM,用逗号分隔,可选的周围有空格,例如SYNC_GITHUB_TEAMS = "myorg/team1, myorg/team2",或者仅用空格,例如SYNC_GITHUB_TEAMS = "myorg/team1 myorg/team2"
  • SYNC_GITHUB_TEAMS_TOKEN:包含用于读取团队成员的GitHub API个人访问令牌的字符串。此令牌必须有权读取SYNC_GITHUB_TEAMS中列出的所有团队的成员。有关详细信息,请参阅GitHub API文档
  • SYNC_GITHUB_TEAMS_ON_LOGIN:布尔值;如果设置为True,则在用户登录时将填充用户的组。

使用方法

有一个管理命令可以触发同步,可以在cron作业等中使用

./manage.py sync-github-teams

您还可以从应用程序中以某种方式触发此操作

from django_sync_github_teams.sync import sync_github_teams

sync_github_teams()

这需要根据您的应用程序需求运行。请注意,即使您启用了登录时同步团队,您仍需要不时以这种方式离线同步它们,因为用户可能在第一次登录时离开了那些有成员的团队。

贡献

https://gitlab.com/Linaro/django-sync-github-teams 发送合并请求。遵循代码中的现有编码规范(PEP-8、black),并确保所有测试通过,并且任何新代码都由测试覆盖。只需运行 make 就会运行所有相关测试。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源分布

django-sync-github-teams-0.2.0.tar.gz (8.3 kB 查看哈希值)

上传时间

构建分布

django_sync_github_teams-0.2.0-py2.py3-none-any.whl (5.4 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持