@afuteam-nx/plugin-fetch-repos
TypeScript icon, indicating that this package has built-in type declarations

0.0.7 • Public • Published

plugin-fetch-repos

批量获取远程仓库信息,支持配置 groupId, projectid,以及黑白名单

环境

本插件基于 nx 开发,请在对应初始化好的 your-app 中使用

安装

pnpm i @afuteam-nx/plugin-fetch-repos -D

配置

# 在 apps/your-app/project.json 中配置
"targets": {
  "fetch-repos": {
    "executor": "@afuteam-nx/plugin-fetch-repos:run",
    "options": {
      "accessToken": "获取代码仓库的accessToken",
      "resultPath": "结果输出的位置 文件名 allProjects.json ",
      "gitLabBaseUrl": "git仓库地址,比如 https://gitlab.com",
      "rootGroupId": "仓库group类型的id 比如 4203",
      "ignoreGroupIds": "排除的group类型的id [1424, 12212]",
      "ignoreProjectsIds": "排除的project类型的id集合 [444, 0001]",
      "addRepoIds": "新增的project类型的id集合 [444, 0001]",
      "per_page": "通过git api获取项目列表时,每次获取的数量,默认 100",
    }
  }
}

使用

nx run your-app:fetch-repos

输出数据结构

// allProjects.json
[
  {
    "id": 28612,
    "description": "@afuteam-nx 系列插件",
    "name": "plugins",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "created_at": "2023-11-21T15:23:21.637+08:00",
    "default_branch": "master",
    "tag_list": [],
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "avatar_url": null,
    "star_count": 0,
    "forks_count": 0,
    "last_activity_at": "2024-03-05T20:49:03.274+08:00",
    "_links": {
      "self": "http://gitlab.com",
      "issues": "http://gitlab.com/issues",
      "merge_requests": "http://gitlab.com/merge_requests",
      "repo_branches": "http://gitlab.com/repository/branches",
      "labels": "http://gitlab.com/labels",
      "events": "http://gitlab.com/events",
      "members": "http://gitlab.com/members"
    },
    "archived": false,
    "visibility": "private",
    "resolve_outdated_diff_discussions": false,
    "container_registry_enabled": true,
    "issues_enabled": true,
    "merge_requests_enabled": true,
    "wiki_enabled": true,
    "jobs_enabled": true,
    "snippets_enabled": true,
    "shared_runners_enabled": false,
    "lfs_enabled": true,
    "creator_id": 943,
    "namespace": {
      "id": 4957,
      "name": "",
      "path": "",
      "kind": "group",
      "full_path": "",
      "parent_id": 4203
    },
    "import_status": "none",
    "open_issues_count": 0,
    "public_jobs": true,
    "ci_config_path": null,
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": false,
    "request_access_enabled": false,
    "only_allow_merge_if_all_discussions_are_resolved": false,
    "printing_merge_request_link_enabled": true
  },
  // ... 其他项目
]

Package Sidebar

Install

npm i @afuteam-nx/plugin-fetch-repos

Weekly Downloads

1

Version

0.0.7

License

none

Unpacked Size

17.5 kB

Total Files

14

Last publish

Collaborators

  • eyea