131个版本 (破坏性更新)

新版本 0.1703.0 2024年8月20日
0.1702.0 2024年7月30日
0.1701.0 2024年6月26日
0.1610.0 2024年3月29日
0.1.0 2016年1月22日

#99 in Web编程

Download history 1342/week @ 2024-05-03 1670/week @ 2024-05-10 2444/week @ 2024-05-17 1342/week @ 2024-05-24 1480/week @ 2024-05-31 1765/week @ 2024-06-07 1421/week @ 2024-06-14 1543/week @ 2024-06-21 1577/week @ 2024-06-28 1571/week @ 2024-07-05 2117/week @ 2024-07-12 1817/week @ 2024-07-19 2433/week @ 2024-07-26 1853/week @ 2024-08-02 2442/week @ 2024-08-09 2563/week @ 2024-08-16

9,650 每月下载量
用于 16 crates

MIT/Apache

2MB
54K SLoC

Gitlab API

此库实现了一个与Gitlab实例通信的接口。并非所有API端点都实现了,但欢迎补丁。

API基于GitLab 17.3 API v4,可能会积极跟踪新的API添加,因此并非所有可用的参数或类型都支持任意旧的GitLab实例(通常查询参数将被忽略,类型字段会导致反序列化错误)。

有关贡献指南,请参阅CONTRIBUTING.md

所有支持的端点都位于api模块下。每个端点都可以使用“构建器”模式来提供支持的字段。要使用端点,可以使用Query特质查询它。还有一些额外的辅助器来处理不同的情况

  • api::ignore:忽略GitLab响应(对于POSTPUT端点是很有用的)。
  • api::paged:获取分页的结果。
  • api::raw:返回GitLab的原始数据,而不是将其反序列化为结构。
  • api::sudo:使用GitLab的sudo参数修改端点以冒充其他用户(需要管理员令牌)。

所有端点返回调用者选择的实现了serde's Deserialize特质的类型。调用者应定义自己的结构来从API获取数据。这允许结构更容易地根据不同的GitLab版本进行更改(而不是将此crate固定在某个版本上)。

版本控制

由于此crate遵循Gitlab上游,语义版本控制可能不可行。相反,此crate使用以下版本控制方案

  • 支持Gitlab 17.3 → 0.1703.x
  • 支持Gitlab 17.2 → 0.1702.x
  • 支持Gitlab 17.1 → 0.1701.x
  • 支持Gitlab 17.0 → 0.1700.x
  • 支持Gitlab 16.11 → 0.1611.x
  • 支持Gitlab 16.10 → 0.1610.x
  • Gitlab 16.9 支持 → 0.1609.x
  • Gitlab 16.8 支持 → 0.1608.x
  • Gitlab 16.7 支持 → 0.1607.x
  • Gitlab 16.6 支持 → 0.1606.x
  • Gitlab 16.5 支持 → 0.1605.x
  • Gitlab 16.4 支持 → 0.1604.x
  • Gitlab 16.3 支持 → 0.1603.x
  • Gitlab 16.2 支持 → 0.1602.x
  • Gitlab 16.1 支持 → 0.1601.x
  • Gitlab 16.0 支持 → 0.1600.x
  • Gitlab 15.11 支持 → 0.1511.x
  • Gitlab 15.10 支持 → 0.1510.x
  • Gitlab 15.9 支持 → 0.1509.x
  • Gitlab 15.8 支持 → 0.1508.x
  • Gitlab 15.7 支持 → 0.1507.x
  • Gitlab 15.6 支持 → 0.1506.x
  • Gitlab 15.5 支持 → 0.1505.x
  • Gitlab 15.4 支持 → 0.1504.x
  • Gitlab 15.3 支持 → 0.1503.x
  • Gitlab 15.2 支持 → 0.1502.x
  • Gitlab 15.1 支持 → 0.1501.x
  • Gitlab 15.0 支持 → 0.1500.x
  • Gitlab 14.10 支持 → 0.1410.x
  • Gitlab 14.9 支持 → 0.1409.x
  • Gitlab 14.8 支持 → 0.1408.x
  • Gitlab 14.7 支持 → 0.1407.x
  • Gitlab 14.6 支持 → 0.1406.x
  • Gitlab 14.5 支持 → 0.1405.x
  • Gitlab 14.4 支持 → 0.1404.x
  • Gitlab 14.3 支持 → 0.1403.x
  • Gitlab 14.2 支持 → 0.1402.x
  • Gitlab 14.1 支持 → 0.1401.x
  • Gitlab 14.0 支持 → 0.1400.x
  • Gitlab 13.12 支持 → 0.1312.x
  • Gitlab 13.11 支持 → 0.1311.x
  • Gitlab 13.10 支持 → 0.1310.x
  • Gitlab 13.9 支持 → 0.1309.x
  • Gitlab 13.8 支持 → 0.1308.x
  • Gitlab 13.7 支持 → 0.1307.x
  • Gitlab 13.6 支持 → 0.1306.x
  • Gitlab 13.5 支持 → 0.1305.x
  • Gitlab 13.4 支持 → 0.1304.x
  • Gitlab 13.3 支持 → 0.1303.x
  • Gitlab 13.2 支持 → 0.1302.x
  • Gitlab 13.1 支持 → 0.1301.x
  • Gitlab 13.0 支持 → 0.1300.x
  • Gitlab 12.10 支持 → 0.1210.x
  • Gitlab 12.9 支持 → 0.1209.x
  • Gitlab 12.8 支持 → 0.1208.x
  • Gitlab 12.7 支持 → 0.1207.x
  • Gitlab 12.6 支持 → 0.1206.x
  • Gitlab 12.5 支持 → 0.1205.x
  • Gitlab 12.4 支持 → 0.1204.x
  • Gitlab 12.3 支持 → 0.1203.x
  • Gitlab 12.2 支持 → 0.1202.x
  • Gitlab 12.1 支持 → 0.1201.x
  • Gitlab 12.0 支持 → 0.1200.x
  • Gitlab 11.11 支持 → 0.1111.x
  • Gitlab 11.10 支持 → 0.1110.x
  • Gitlab 11.9 支持 → 0.1109.x
  • Gitlab 11.8 支持 → 0.1108.x
  • Gitlab 11.7 支持 → 0.1107.x
  • Gitlab 11.6 支持 → 0.1106.x
  • Gitlab 11.5 支持 → 0.1105.x
  • Gitlab 11.4 支持 → 0.1104.x
  • Gitlab 11.3 支持 → 0.1103.x
  • Gitlab 11.2 支持 → 0.1102.x
  • Gitlab 11.1 支持 → 0.1101.x
  • Gitlab 11.0 支持 → 0.1100.x
  • Gitlab 10.8 支持 → 0.1008.x
  • Gitlab 10.7 支持 → 0.1007.x
  • Gitlab 10.6 支持 → 0.1006.x
  • Gitlab 10.5 支持 → 0.1005.x
  • Gitlab 10.4 支持 → 0.1004.x
  • Gitlab 10.3 支持 → 0.1003.x
  • Gitlab 10.2 支持 → 0.1002.x
  • Gitlab 10.1 支持 → 0.1001.x
  • Gitlab 10.0 支持 → 0.1000.x
  • Gitlab 9.5 支持 → 0.905.x
  • Gitlab 9.4 支持 → 0.904.x
  • Gitlab 9.3 支持 → 0.903.x
  • Gitlab 9.2 支持 → 0.902.x
  • Gitlab 9.1 支持 → 0.901.x
  • Gitlab 9.0 支持 → 0.900.x
  • Gitlab 8.17 支持 → 0.817.x
  • Gitlab 8.16 支持 → 0.816.x

较小的版本可能修复错误、添加API端点绑定或提高webhook覆盖率。建议依赖于完整版本,因为为了匹配Gitlab的接口,补丁级别的更新可能会更改类型。

gitlab = "=0.1703.0"

API错误

有时,API将返回null,对于创建条目之后添加的字段。在这种情况下,将字段标记为带有说明原因的注释的Option

依赖项

~4–20MB
~323K SLoC