From 6088eae9f47bf97e5d230df75bbe9a234ba26f3b Mon Sep 17 00:00:00 2001 From: Russell Dickenson <rdickenson@gitlab.com> Date: Wed, 25 Sep 2024 14:47:46 +0000 Subject: [PATCH] REST API - move third-party client docs to a separate page --- doc/administration/logs/log_parsing.md | 2 +- doc/api/rest/index.md | 60 ------------------- doc/api/rest/third_party_clients.md | 71 +++++++++++++++++++++++ doc/user/storage_management_automation.md | 2 +- 4 files changed, 73 insertions(+), 62 deletions(-) create mode 100644 doc/api/rest/third_party_clients.md diff --git a/doc/administration/logs/log_parsing.md b/doc/administration/logs/log_parsing.md index 4fab39c3255c..6e72ebb51582 100644 --- a/doc/administration/logs/log_parsing.md +++ b/doc/administration/logs/log_parsing.md @@ -190,7 +190,7 @@ jq --raw-output 'select(.remote_ip != "127.0.0.1") | [.remote_ip, .username, .ro ``` This example shows a custom tool or script causing an unexpectedly high number of requests. -User agents in this situation can be specialized [third-party clients](../../api/rest/index.md#third-party-clients), +User agents in this situation can be specialized [third-party clients](../../api/rest/third_party_clients.md), or general tools like `curl`. You can also [use `fast-stats top`](#parsing-gitlab-logs-with-jq) to extract performance statistics for those users or bots. diff --git a/doc/api/rest/index.md b/doc/api/rest/index.md index 7669dc662d42..96afe7f475b8 100644 --- a/doc/api/rest/index.md +++ b/doc/api/rest/index.md @@ -805,66 +805,6 @@ The correct encoding for the query parameter would be: 2017-10-17T23:11:13.000%2B05:30 ``` -## Third-party clients - -You can integrate third-party API client libraries with GitLab. The following libraries are maintained by community members and not officially supported by GitLab. -Report bugs and feature proposals to the respective projects. - -For questions about these integrations, use the [GitLab community forum](https://forum.gitlab.com/). - -Administrators can monitor usage of these API clients by -[parsing logs](../../administration/logs/log_parsing.md#print-top-api-user-agents). - -### `C#` - -- [`GitLabApiClient`](https://github.com/nmklotas/GitLabApiClient) -- [`NGitLab`](https://github.com/ubisoft/NGitLab) - -### Go - -- [`go-gitlab`](https://github.com/xanzy/go-gitlab) - -### Haskell - -- [`gitlab-haskell`](https://hackage.haskell.org/package/gitlab-haskell) - -### Java - -- [`gitlab4j-api`](https://github.com/gmessner/gitlab4j-api) -- [`java-gitlab-api`](https://github.com/timols/java-gitlab-api) - -### Node.js - -- [`gitlab-yaac`](https://www.npmjs.com/package/gitlab-yaac) -- [`backbone-gitlab`](https://github.com/oreillymedia/backbone-gitlab) -- [`@gitbeaker/rest`](https://www.npmjs.com/package/@gitbeaker/rest) - -### Perl - -- [`GitLab::API::v4`](https://metacpan.org/pod/GitLab::API::v4) - -### PHP - -- [`php-gitlab-api`](https://github.com/GitLabPHP/Client) - -### Python - -- [`python-gitlab`](https://github.com/python-gitlab/python-gitlab) - - Blog post: [Efficient DevSecOps workflows: Hands-on `python-gitlab` API automation](https://about.gitlab.com/blog/2023/02/01/efficient-devsecops-workflows-hands-on-python-gitlab-api-automation/) -- [`libsaas_gitlab`](https://gitlab.com/bor-sh-infrastructure/libsaas_gitlab) - -### Ruby - -- [Ruby wrapper and CLI for the GitLab REST API](https://github.com/NARKOZ/gitlab) - -### Rust - -- [`gitlab` crate](https://crates.io/crates/gitlab/) - -### Swift - -- [`RxGitLabKit`](https://github.com/Qase/RxGitLabKit) - ## Rate limits For administrator documentation on rate limit settings, see diff --git a/doc/api/rest/third_party_clients.md b/doc/api/rest/third_party_clients.md new file mode 100644 index 000000000000..f5277004d2aa --- /dev/null +++ b/doc/api/rest/third_party_clients.md @@ -0,0 +1,71 @@ +--- +stage: Foundations +group: Import and Integrate +description: Programmatic interaction with GitLab. +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments +--- + +# REST API third-party clients + +DETAILS: +**Tier:** Free +**Offering:** GitLab.com, Self-managed, GitLab Dedicated + +You can integrate third-party API client libraries with GitLab. The following libraries are +maintained by community members and not officially supported by GitLab. Report bugs and feature +proposals to the respective projects. + +For questions about these integrations, use the [GitLab community forum](https://forum.gitlab.com/). + +Administrators can monitor usage of these API clients by +[parsing logs](../../administration/logs/log_parsing.md#print-top-api-user-agents). + +## `C#` + +- [`GitLabApiClient`](https://github.com/nmklotas/GitLabApiClient) +- [`NGitLab`](https://github.com/ubisoft/NGitLab) + +## Go + +- [`go-gitlab`](https://github.com/xanzy/go-gitlab) + +## Haskell + +- [`gitlab-haskell`](https://hackage.haskell.org/package/gitlab-haskell) + +## Java + +- [`gitlab4j-api`](https://github.com/gmessner/gitlab4j-api) +- [`java-gitlab-api`](https://github.com/timols/java-gitlab-api) + +## Node.js + +- [`gitlab-yaac`](https://www.npmjs.com/package/gitlab-yaac) +- [`backbone-gitlab`](https://github.com/oreillymedia/backbone-gitlab) +- [`@gitbeaker/rest`](https://www.npmjs.com/package/@gitbeaker/rest) + +## Perl + +- [`GitLab::API::v4`](https://metacpan.org/pod/GitLab::API::v4) + +## PHP + +- [`php-gitlab-api`](https://github.com/GitLabPHP/Client) + +## Python + +- [`python-gitlab`](https://github.com/python-gitlab/python-gitlab) + - Blog post: [Efficient DevSecOps workflows: Hands-on `python-gitlab` API automation](https://about.gitlab.com/blog/2023/02/01/efficient-devsecops-workflows-hands-on-python-gitlab-api-automation/) +- [`libsaas_gitlab`](https://gitlab.com/bor-sh-infrastructure/libsaas_gitlab) + +## Ruby + +- [Ruby wrapper and CLI for the GitLab REST API](https://github.com/NARKOZ/gitlab) + +## Rust + +- [`gitlab` crate](https://crates.io/crates/gitlab/) + +## Swift + +- [`RxGitLabKit`](https://github.com/Qase/RxGitLabKit) diff --git a/doc/user/storage_management_automation.md b/doc/user/storage_management_automation.md index 857e178ac0a3..622d4040c47d 100644 --- a/doc/user/storage_management_automation.md +++ b/doc/user/storage_management_automation.md @@ -88,7 +88,7 @@ The storage management and cleanup automation methods described in this page use For more information about use cases for the `python-gitlab` library, see [Efficient DevSecOps workflows: Hands-on `python-gitlab` API automation](https://about.gitlab.com/blog/2023/02/01/efficient-devsecops-workflows-hands-on-python-gitlab-api-automation/). -For more information about other API client libraries, see [Third-party clients](../api/rest/index.md#third-party-clients). +For more information about other API client libraries, see [Third-party clients](../api/rest/third_party_clients.md). NOTE: Use [GitLab Duo Code Suggestions](project/repository/code_suggestions/index.md) to write code more efficiently. -- GitLab