cki_lib.gitlab
Access the GitLab GraphQL API via command line
Access the GitLab GraphQL API. Results are printed as JSON.
usage: python3 -m cki_lib.gitlab
[--gitlab-url GITLAB_URL] --graphql-query GRAPHQL_QUERY
[--variables [KEY=VALUE ...]]
options:
-h, --help show this help message and exit
--gitlab-url GITLAB_URL
GitLab URL, defaults to GITLAB_URL environment variable
--private-token PRIVATE_TOKEN
GitLab access token, by default derived from GITLAB_TOKENS
--graphql-query GRAPHQL_QUERY
GraphQL query
--variables [KEY=VALUE ...]
JSON-formatted variable values
Configuration via environment variables
Name | Type | Secret | Required | Description |
---|---|---|---|---|
GITLAB_URL |
URL | no | no | URL of the GitLab instance |
GITLAB_TOKENS |
dict | no | no | URL/environment variable pairs of GitLab instances and private tokens |
GITLAB_TOKEN |
string | yes | no | GitLab private tokens as configured in GITLAB_TOKENS |
SENTRY_DSN |
url | yes | no | Sentry DSN |
Example
$ python3 -m cki_lib.gitlab \
--gitlab-url https://gitlab.com \
--graphql-query '
mutation ($id: NoteableID!, $body: String!) {
createNote(input: { noteableId: $id, body:$body, internal: true }) {
note {
id
discussion {
id
}
}
}
}' \
--variables id=gid://gitlab/MergeRequest/12345 \
--variables 'body="Hello World"'
{"createNote": {"note": {"id": "gid://gitlab/Note/67890", "discussion": {"id": "gid://gitlab/Discussion/0123456789abcdef"}}}}