{
  "kind": "discovery#servicesListByCommunity",
  "communities": {
    "openeuler": [
      {
        "name": "openeuler/pkgcontrib",
        "service_name": "pkgcontrib",
        "community": "openeuler",
        "title": "APIG_OPENEULER_SOFTWARE_PACKAGE_SERVER",
        "version": "1.0.0",
        "description": "openEuler 软件包引入管理服务，提供社区新软件包引入的全流程接口：引入申请的提交与查询、 申请单的更新与关闭、CI 构建重试、评审意见的提交与查询，以及 CLA 签署状态、SIG 列表、 Committer 权限等准入校验能力。",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/search",
        "service_name": "search",
        "community": "openeuler",
        "title": "APIG_OPENEULER_EASYSEARCH",
        "version": "1.0.0",
        "description": "openEuler 社区统一搜索服务，提供社区资料文档、SIG中心、社区热点问题的一站式检索。\n涵盖文档全文与分类检索、软件包检索、SIG 文档检索，以及搜索建议词、热门词、词典等辅助查询；文档检索融合 ES 关键词、Google 搜索、向量语义三路召回。\n检索类接口使用 POST，查询条件通过 JSON 请求体传递；\nSIG 名称、README 等简单查询使用 GET，参数通过 query string 传递。\n接口按 IP 限流，超限返回 429；请求来源受 Referer 白名单校验，不匹配返回 401。\n",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/cve",
        "service_name": "cve",
        "community": "openeuler",
        "title": "APIG_OPENEULER_CVE_SA_BACKEND",
        "version": "1.0",
        "description": "openEuler社区漏洞与兼容性数据查询服务，面向安全团队、维护者与社区用户。提供漏洞公告、CVE 详情（含受影响产品与内核）、未修复 CVE 列表、热补丁、硬件/驱动兼容性列表及 OSV 技术测评等查询能力，用于跟踪 openEuler 安全动态与评估软硬件兼容性。",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/meeting",
        "service_name": "meeting",
        "community": "openeuler",
        "title": "APIG_OPENEULER_APP_MEETING_SERVER",
        "version": "1.0.0",
        "description": "openEuler 社区会议服务，提供sig会议日期/数据的查询功能，maintainer/committer可预订会议、查询/修改/删除会议、管理周期子会议；",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/forum",
        "service_name": "forum",
        "community": "openeuler",
        "title": "APIG_OPENEULER_DISCOURSE",
        "version": "latest",
        "description": "openEuler 社区论坛服务，提供问题检索、话题讨论、帖子查询、用户查询等能力，方便快速在社区论坛中获取信息。",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/mailman",
        "service_name": "mailman",
        "community": "openeuler",
        "title": "APIG_OPENEULER_MAILMAN",
        "version": "1.0.0",
        "description": "openEuler 社区邮件列表（Mailman）服务，提供查询社区邮件列表，检索邮件、讨论及按发送者分组的邮件内容的功能；",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/etherpad",
        "service_name": "etherpad",
        "community": "openeuler",
        "title": "APIG_OPENEULER_ETHERPAD",
        "version": "1.0.0",
        "description": "openEuler社区Etherpad服务，提供社区各sig组会议纪要查询、新增、更新等操作，帮你快速追踪sig最新会议内容！",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/eur",
        "service_name": "eur",
        "community": "openeuler",
        "title": "APIG_OPENEULER_COPR",
        "version": "1.2.0",
        "description": "openEuler 用户软件仓（EUR）服务，面向构建工程师与维护者，提供软件包构建、编译、用户自定义repo源发布等功能。",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/quickissue",
        "service_name": "quickissue",
        "community": "openeuler",
        "title": "APIG_OPENEULER_ISSUE_PR_BOARD",
        "version": "1.0.0",
        "description": "openEuler 社区 Issue / PR 看板服务，面向贡献者与维护者，聚合展示社区各仓库的 Issue 与 Pull Request。\n提供 Issue、PR、仓库的分页查询与筛选项枚举（指派者、提交者、标签、里程碑、SIG 等）；\n另提供图形验证码、邮箱验证码、Issue 提交与图片上传，供未登录用户提报 Issue。\n查询类接口使用 GET，条件通过 query string 传递；提交类接口使用 POST。\n接口按 IP 限流，超限返回 429。\n",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/easysoftware",
        "service_name": "easysoftware",
        "community": "openeuler",
        "title": "APIG_OPENEULER_EASYSOFTWARE",
        "version": "1.0.0",
        "description": "提供对 openEuler 社区 RPM、镜像、conda、epkg、oepkg、application 等多种生态软件包的检索、查询与详情能力，主要包括：（1）关键字全文检索与字段建议（fieldpkg）；（2）软件包详情、版本历史与 openEuler 版本列表查询；（3）多维度聚合视图与统计；（4）软件包上架申请与协作审批（apply / applyform / collaboration）；（5）运行时开关与采集配置管理。接口按 Controller 分组呈现，tag 由类名派生（如 rpm-package-query-adapter、application-package-query-adapter、co-maintainer-adapter 等），可按业务域快速定位所属子系统。",
        "base_url": "https://apig.osinfra.cn"
      },
      {
        "name": "openeuler/ag",
        "service_name": "ag",
        "community": "openeuler",
        "title": "AtomGit Open API",
        "version": "1.0.0",
        "description": "openEuler 社区AtomGit服务，面向开发者提供仓库、组织、用户、分支、提交、Tag、Issue、Pull Request、里程碑等资源的读写能力",
        "base_url": "https://api.gitcode.com"
      },
      {
        "name": "openeuler/CI",
        "service_name": "CI",
        "community": "openeuler",
        "title": "openEuler CI Jenkins Console API",
        "version": "1.0.0",
        "description": "openEuler社区门禁日志获取服务，快速定位到某次 PR 的失败日志，用于排查构建失败原因、确认构建状态。",
        "base_url": "https://ci.openeuler.openatom.cn"
      },
      {
        "name": "openeuler/eulermaker",
        "service_name": "eulermaker",
        "community": "openeuler",
        "title": "APIG_OPENEULER_EULERMAKER",
        "version": "1.0.0",
        "description": "openEuler 社区官方统一构建（EulerMaker）平台，提供构建工程/快照的增改、全量/增量/单包构建、构建取消、软件包查询与下载、构建日志查询等能力\n\n数据查询（/api/data-api/search）为各命令共用的底层接口，请求体为 Elasticsearch DSL，可查询索引及常用字段：\n- projects:  os_project、users、my_specs、spec_branch、build_targets、bootstrap_rpm_repo、build_env_macros、\n  package_overrides、package_repos、emsx、to_delete、create_time、description\n- rpms:      repo_name、spec_name、architecture、os_project、os_variant、snapshot_id、submit_time、\n  rpms_detail（软件包子包名列表）、rpm_path、rpms.pkgid、job_id、build_id、repo_es_key_id\n- rpm_repos: repo_id（数据量大，必须用 key=value 精确过滤）\n- builds:    build_id、os_project、build_target（{os_variant, architecture}）、emsx、snapshot_id、repo_id、\n  build_type（full/incremental/specified/single）、create_time\n- snapshots: snapshot_id、os_project、spec_commits（{<pkg>: {spec_url, spec_branch}}）、is_trunk、create_time\n- jobs:      id、result_root、os_variant、emsx、arch、build_type、package、spec_name、spec_branch、\n  upstream_commit、macros、skip_check、preinstall、prefer、disable_check_path、use_root、use_xz、use_kmod_libs、\n  snapshot_id、external_mount_repo_addr、mount_repo_addr、mount_repo_name、mount_repo_priority\n\n 获取构建日志的完整流程：\n 1. 定位 job_id：已知构建产物 rpm 时，查 rpms 索引按 rpms.pkgid（或 os_project+spec_name）反查 job_id；\n   否则可直接查 jobs 索引（按 package/spec_name、os_variant、arch、build_type 过滤）。\n 2. 查 result_root：POST /api/data-api/search 查 jobs 索引，term(id)=<job_id>，_source=[\"result_root\"]。\n result_root 是完整相对路径，通常以 /dmesg 结尾（形如 result/rpmbuild/<日期>/.../<job_id>/dmesg），构造参数时须原样保留、不可省略 dmesg 段。\n 3. 将 result_root 作为 getJobLog 接口（GET /api/{result_root}/）的 path 参数传入即可调用",
        "base_url": "https://apig.osinfra.cn"
      }
    ]
  }
}